author | Stefan Vogel <sv@exept.de> |
Fri, 17 May 2019 17:13:19 +0200 | |
changeset 18768 | cd6d15fb40b4 |
parent 18681 | c0aa65849475 |
child 18793 | 8f3ce7028eaa |
permissions | -rw-r--r-- |
6300 | 1 |
" |
2 |
COPYRIGHT (c) 2003 by eXept Software AG |
|
7811 | 3 |
All Rights Reserved |
6300 | 4 |
|
5 |
This software is furnished under a license and may be used |
|
6 |
only in accordance with the terms of that license and with the |
|
7 |
inclusion of the above copyright notice. This software may not |
|
8 |
be provided or otherwise made available to, or used by, any |
|
9 |
other person. No title to or ownership of the software is |
|
10 |
hereby transferred. |
|
11 |
" |
|
4463 | 12 |
"{ Package: 'stx:libtool' }" |
13 |
||
15297 | 14 |
"{ NameSpace: Smalltalk }" |
15 |
||
4570
3dc36c259ca1
show dead processes have to be enabled after fix remove dead processes
penk
parents:
4568
diff
changeset
|
16 |
ApplicationModel subclass:#ProcessMonitorV2 |
4463 | 17 |
instanceVariableNames:'processList tableColumns selectedProcesses updateSema showDetail |
7809 | 18 |
hasSelectionHolder showProcessId showGroup showState showPrio |
4576
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
19 |
showUsedStack showTotalStack showCurrentSegment showSwitch |
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
20 |
showWhere showInstrumentation showApplication showWindowTitle |
16609 | 21 |
currentSortOrder processTable showDeadHolder sortBlock |
22 |
selectionRestartable updateListDelayTimeHolder |
|
23 |
updateContentsDelayTimeHolder enableDecreaseListDelayTime |
|
24 |
enableDecreaseContentsDelayTime enableIncreaseListDelayTime |
|
25 |
enableIncreaseContentsDelayTime listUpdateDelay updateDelay |
|
26 |
updateBlock listUpdateBlock updateProcess visibleBlock |
|
27 |
allowModifications tableMenu |
|
7809 | 28 |
hasSelectionWithApplicationProcessHolder |
29 |
hasSelectionAndProcessIsApplicationProcessHolder |
|
30 |
hasSelectionWithStoppedProcessHolder |
|
31 |
hasSelectionAndProcessIsStoppedHolder |
|
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
32 |
hasSelectionWithGUIProcessHolder |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
33 |
hasSelectionWithDisabledInstrumentationHolder |
16609 | 34 |
hasSelectionWithEnabledInstrumentationHolder interruptCountHolder |
35 |
timerActionCountHolder lastInterruptCount lastTimerActionCount |
|
17300 | 36 |
lastUpdateTimestamp showStartTime' |
18431 | 37 |
classVariableNames:'Singleton' |
4463 | 38 |
poolDictionaries:'' |
39 |
category:'Monitors-ST/X' |
|
40 |
! |
|
41 |
||
42 |
Object subclass:#ProcessItem |
|
4576
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
43 |
instanceVariableNames:'processId processGroup processName processActive processState |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
44 |
processPrio processUsedStack processTotalStack processWhere |
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
45 |
processInstrumentation processApplication processWindowTitle |
4576
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
46 |
processInstance weakArrayWithProcesses |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
47 |
processInstanceIndexInWeakArray processCurrentSegment |
17300 | 48 |
processSwitch prioVal idVal groupVal processBlocked |
49 |
startTimestamp' |
|
4463 | 50 |
classVariableNames:'' |
51 |
poolDictionaries:'' |
|
52 |
privateIn:ProcessMonitorV2 |
|
53 |
! |
|
54 |
||
55 |
!ProcessMonitorV2 class methodsFor:'documentation'! |
|
56 |
||
6300 | 57 |
copyright |
58 |
" |
|
59 |
COPYRIGHT (c) 2003 by eXept Software AG |
|
7811 | 60 |
All Rights Reserved |
6300 | 61 |
|
62 |
This software is furnished under a license and may be used |
|
63 |
only in accordance with the terms of that license and with the |
|
64 |
inclusion of the above copyright notice. This software may not |
|
65 |
be provided or otherwise made available to, or used by, any |
|
66 |
other person. No title to or ownership of the software is |
|
67 |
hereby transferred. |
|
68 |
" |
|
69 |
! |
|
70 |
||
4463 | 71 |
documentation |
72 |
" |
|
73 |
documentation to be added. |
|
74 |
||
75 |
[author:] |
|
7811 | 76 |
Christian Penk (penk@bierfix) |
4463 | 77 |
|
78 |
[instance variables:] |
|
79 |
||
80 |
[class variables:] |
|
81 |
||
82 |
[see also:] |
|
83 |
||
84 |
" |
|
85 |
! |
|
86 |
||
87 |
examples |
|
88 |
" |
|
89 |
Starting the application: |
|
7811 | 90 |
[exBegin] |
4463 | 91 |
ProcessMonitorV2 open |
92 |
||
7811 | 93 |
[exEnd] |
4463 | 94 |
|
4649
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
95 |
Starting the application withot any possibilities to change |
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
96 |
the processes |
7811 | 97 |
[exBegin] |
4649
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
98 |
ProcessMonitorV2 openAllowNoModifications |
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
99 |
|
7811 | 100 |
[exEnd] |
4649
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
101 |
|
4463 | 102 |
more examples to be added: |
7811 | 103 |
[exBegin] |
104 |
... add code fragment for |
|
4463 | 105 |
... executable example here ... |
7811 | 106 |
[exEnd] |
4463 | 107 |
" |
108 |
! |
|
109 |
||
110 |
history |
|
111 |
"Created: / 14.1.2003 / 11:16:10 / penk" |
|
112 |
! ! |
|
113 |
||
4649
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
114 |
!ProcessMonitorV2 class methodsFor:'instance creation'! |
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
115 |
|
18431 | 116 |
open |
18580 | 117 |
"Singleton closeRequest" |
118 |
||
18431 | 119 |
(Singleton notNil) ifTrue:[ |
120 |
Singleton window raiseDeiconified. |
|
121 |
^ Singleton |
|
122 |
]. |
|
123 |
^ (Singleton := super open application) |
|
124 |
||
125 |
"Created: / 25-09-2018 / 12:21:37 / Claus Gittinger" |
|
18580 | 126 |
"Modified (comment): / 07-02-2019 / 17:45:22 / Claus Gittinger" |
18431 | 127 |
! |
128 |
||
4649
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
129 |
openAllowNoModifications |
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
130 |
|
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
131 |
|
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
132 |
|application| |
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
133 |
|
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
134 |
application := self new. |
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
135 |
application open. |
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
136 |
application allowModifications value:false. |
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
137 |
! ! |
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
138 |
|
4463 | 139 |
!ProcessMonitorV2 class methodsFor:'defaults'! |
140 |
||
141 |
defaultLabel |
|
142 |
^ 'Process Monitor' |
|
6239 | 143 |
! |
144 |
||
145 |
resourcePackName |
|
7874 | 146 |
"return the name which is used as the fileNameBase of my resource file. |
147 |
Here, use the same resources as the (old) ProcessMonitor" |
|
148 |
||
6239 | 149 |
^ 'ProcessMonitor' |
4463 | 150 |
! ! |
151 |
||
6290 | 152 |
!ProcessMonitorV2 class methodsFor:'help'! |
153 |
||
154 |
aboutThisApplicationText |
|
7811 | 155 |
^ super aboutThisApplicationText , |
17270 | 156 |
'\\Written 2003 by Christian Penk, eXept Software AG,\and Claus Gittinger, eXept Software AG.' withCRs |
11997 | 157 |
! |
4463 | 158 |
|
17892 | 159 |
helpSpec |
6239 | 160 |
"This resource specification was automatically generated |
161 |
by the UIHelpTool of ST/X." |
|
162 |
||
163 |
"Do not manually edit this!! If it is corrupted, |
|
164 |
the UIHelpTool may not be able to read the specification." |
|
165 |
||
166 |
" |
|
7811 | 167 |
UIHelpTool openOnClass:ProcessMonitorV2 |
6239 | 168 |
" |
169 |
||
170 |
<resource: #help> |
|
171 |
||
17892 | 172 |
^ super helpSpec addPairsFrom:#( |
6239 | 173 |
|
174 |
#Debug |
|
15297 | 175 |
'Debug the selected process' |
6239 | 176 |
|
177 |
#Details |
|
15297 | 178 |
'Details - select columns to display' |
6239 | 179 |
|
180 |
#Inspect |
|
15297 | 181 |
'Inspect the selected process' |
182 |
||
183 |
#findProcessByView |
|
184 |
'Pick a view and select the associated window group process' |
|
6239 | 185 |
|
186 |
#'Lower Prio' |
|
15297 | 187 |
'Lower the priority of the selected process' |
6239 | 188 |
|
189 |
#'Raise Prio' |
|
15297 | 190 |
'Raise the priority of the selected process' |
6239 | 191 |
|
7809 | 192 |
#RaiseWindow |
15297 | 193 |
'Raise the application''s window' |
7809 | 194 |
|
6239 | 195 |
#Restart |
196 |
'Restart' |
|
197 |
||
198 |
#Resume |
|
199 |
'Resume' |
|
200 |
||
6290 | 201 |
#Abort |
202 |
'Abort' |
|
203 |
||
6239 | 204 |
#Stop |
205 |
'Stop' |
|
206 |
||
207 |
#Suspend |
|
208 |
'Suspend' |
|
209 |
||
210 |
#Terminate |
|
211 |
'Terminate' |
|
212 |
||
213 |
#'Terminate Group' |
|
214 |
'Terminate Group' |
|
215 |
||
216 |
#'Update Process List' |
|
217 |
'Update Process List' |
|
218 |
||
11997 | 219 |
processId |
220 |
'The process ID. A unique number' |
|
221 |
||
222 |
processGroup |
|
223 |
'The processes group ID. Usually the ID of the parent process. Nil if detached from parent' |
|
224 |
||
225 |
processName |
|
226 |
'The processes name' |
|
227 |
||
228 |
processApplication |
|
229 |
'The processes application class (if any)' |
|
230 |
||
231 |
processWindowTitle |
|
232 |
'The processes window title (if any)' |
|
233 |
||
234 |
processInstrumentation |
|
235 |
'The process is currently executed with instrumentaion monitoring active' |
|
236 |
||
237 |
processWasActive |
|
238 |
'The process was active any time during the last update interval (+)\ or actively running when probed (*)' |
|
239 |
||
240 |
processState |
|
241 |
'The execution state' |
|
242 |
||
243 |
processPriority |
|
244 |
'The execution priority, and optional priority range' |
|
245 |
||
246 |
processWhere |
|
247 |
'The currently executed method or the method which suspended it' |
|
248 |
||
249 |
processUsedStack |
|
250 |
'The amount of stack space used by the process (in bytes)' |
|
251 |
||
252 |
processTotalStack |
|
253 |
'The amount of allocated stack space (in bytes) and the number of allocated stack segments' |
|
254 |
||
255 |
processSwitch |
|
256 |
'The overall count of stack segment switches' |
|
257 |
||
258 |
processCurrentSegment |
|
259 |
'The address range of the current stack segment' |
|
16609 | 260 |
|
261 |
#interruptCount |
|
262 |
'Interrupts per second' |
|
263 |
||
264 |
#listUpdateInterval |
|
265 |
'Interval to update the list of processes' |
|
266 |
||
267 |
#timerActionCount |
|
268 |
'Timer actions per second' |
|
269 |
||
270 |
#updateInterval |
|
271 |
'Interval to update the status of processes' |
|
272 |
||
6239 | 273 |
) |
7809 | 274 |
|
275 |
"Modified: / 05-06-2007 / 18:35:47 / cg" |
|
4463 | 276 |
! ! |
277 |
||
278 |
!ProcessMonitorV2 class methodsFor:'image specs'! |
|
279 |
||
9802 | 280 |
defaultIcon |
281 |
"This resource specification was automatically generated |
|
282 |
by the ImageEditor of ST/X." |
|
283 |
||
284 |
"Do not manually edit this!! If it is corrupted, |
|
285 |
the ImageEditor may not be able to read the specification." |
|
286 |
||
287 |
" |
|
288 |
self defaultIcon inspect |
|
289 |
ImageEditor openOnClass:self andSelector:#defaultIcon |
|
290 |
Icon flushCachedIcons |
|
291 |
" |
|
292 |
||
293 |
<resource: #image> |
|
294 |
||
295 |
^Icon |
|
15753 | 296 |
constantNamed:'ProcessMonitorV2 class defaultIcon' |
297 |
ifAbsentPut:[(Depth1Image new) width: 32; height: 32; photometric:(#whiteIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
9802 | 298 |
@@@@@G????9@@@@BP@@@@$O?>@I@@@@BP??8@$@@@@IC?? BP@@@@$@@@@I@@@@BP@@@@$M,@@IC[@@BP@@@@$@@@@I@@@@BP@@@@$@@@@I@@@@BP@@@@$@@ |
299 |
@@I????>@@@@@CLX7L0*)QDPJ*TQDCL%FH #IQADH*TPQBJX7Y b') ; yourself] |
|
300 |
! |
|
301 |
||
4463 | 302 |
detailsMenuIconDown |
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
303 |
<resource: #image> |
4463 | 304 |
"This resource specification was automatically generated |
305 |
by the ImageEditor of ST/X." |
|
306 |
"Do not manually edit this!! If it is corrupted, |
|
307 |
the ImageEditor may not be able to read the specification." |
|
308 |
" |
|
309 |
self detailsMenuIconDown inspect |
|
310 |
ImageEditor openOnClass:self andSelector:#detailsMenuIconDown |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
311 |
Icon flushCachedIcons" |
15753 | 312 |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
313 |
^ Icon constantNamed:#'ProcessMonitorV2 class detailsMenuIconDown' |
15753 | 314 |
ifAbsentPut:[ |
315 |
(Depth1Image new) |
|
316 |
width:7; |
|
317 |
height:5; |
|
318 |
photometric:(#palette); |
|
319 |
bitsPerSample:(#( 1 )); |
|
320 |
samplesPerPixel:(1); |
|
321 |
bits:(ByteArray fromPackedString:'@@@@@@@b'); |
|
322 |
colorMapFromArray:#[ 0 0 0 255 255 255 ]; |
|
323 |
mask:((ImageMask new) |
|
324 |
width:7; |
|
325 |
height:5; |
|
326 |
bits:(ByteArray fromPackedString:'@A@(UJ(b'); |
|
327 |
yourself); |
|
328 |
yourself |
|
329 |
] |
|
4463 | 330 |
! |
331 |
||
332 |
detailsMenuIconUp |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
333 |
<resource: #image> |
4463 | 334 |
"This resource specification was automatically generated |
335 |
by the ImageEditor of ST/X." |
|
336 |
"Do not manually edit this!! If it is corrupted, |
|
337 |
the ImageEditor may not be able to read the specification." |
|
338 |
" |
|
339 |
self detailsMenuIconUp inspect |
|
340 |
ImageEditor openOnClass:self andSelector:#detailsMenuIconUp |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
341 |
Icon flushCachedIcons" |
15753 | 342 |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
343 |
^ Icon constantNamed:#'ProcessMonitorV2 class detailsMenuIconUp' |
15753 | 344 |
ifAbsentPut:[ |
345 |
(Depth1Image new) |
|
346 |
width:7; |
|
347 |
height:5; |
|
348 |
photometric:(#palette); |
|
349 |
bitsPerSample:(#( 1 )); |
|
350 |
samplesPerPixel:(1); |
|
351 |
bits:(ByteArray fromPackedString:'@@@@@@@b'); |
|
352 |
colorMapFromArray:#[ 0 0 0 255 255 255 ]; |
|
353 |
mask:((ImageMask new) |
|
354 |
width:7; |
|
355 |
height:5; |
|
356 |
bits:(ByteArray fromPackedString:'*%P(D@@b'); |
|
357 |
yourself); |
|
358 |
yourself |
|
359 |
] |
|
4463 | 360 |
! |
361 |
||
4468 | 362 |
process22x22Icon |
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
363 |
<resource: #image> |
4468 | 364 |
"This resource specification was automatically generated |
365 |
by the ImageEditor of ST/X." |
|
366 |
"Do not manually edit this!! If it is corrupted, |
|
367 |
the ImageEditor may not be able to read the specification." |
|
368 |
" |
|
369 |
self process22x22Icon inspect |
|
370 |
ImageEditor openOnClass:self andSelector:#process22x22Icon |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
371 |
Icon flushCachedIcons" |
15753 | 372 |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
373 |
^ Icon constantNamed:#'ProcessMonitorV2 class process22x22Icon' |
15753 | 374 |
ifAbsentPut:[ |
375 |
(Depth8Image new) |
|
376 |
width:22; |
|
377 |
height:22; |
|
378 |
photometric:(#palette); |
|
379 |
bitsPerSample:(#( 8 )); |
|
380 |
samplesPerPixel:(1); |
|
381 |
bits:(ByteArray |
|
382 |
fromPackedString:' |
|
4468 | 383 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EA0@@@@@@@@@@@@@@@@@@@@@@@@@@AP\@@@@@@@@@@@@@@@@@ |
384 |
@@@GAP@@APXFB@@@AP\@@@@@@@@@@@@@B@XEAPXFA XEAPXH@@@@@@@@@@@@@@@GA XFA XFA XH@@@@@@@@@@@@@@@@APXFA0 GA XFA0@@@@@@@@@@@@@@ |
|
385 |
APXFA0 @@@TFA XG@@@@@@@@@@@EAPXFA @@@@@APXFA TG@@@@@@@@B@ FA XG@@@@@@TFA XHB@@@@@@@@@@@A0\FA T@@@TFA XH@@@@@@@@@@@@@@@G |
|
386 |
A XFAPTFA XH@@@@@@@@@@@@@@@@APXFA XFA XFB@@@@@@@@@@@@@@@APXHA0XFA XFAPXH@@@@@@@@@@@@@@\H@@@EA XG@@@GB@@@@@@@@@@@@@@@@@@@ |
|
387 |
@@TH@@@@@@@@@@@@@@@@@@@@@@@@@@@EB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
388 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a'); |
15753 | 389 |
colorMapFromArray:#[ 0 0 0 128 128 128 160 160 160 195 195 195 220 220 220 255 255 255 194 194 194 161 161 165 127 127 127 ]; |
390 |
mask:((ImageMask new) |
|
391 |
width:22; |
|
392 |
height:22; |
|
393 |
bits:(ByteArray |
|
394 |
fromPackedString:'@@@@@F@@@O@@COL@G?>@G?>@C?<@C?<@O??@_9? _9? O??@C?<@C?<@G?>@G?>@COL@@O@@@F@@@@@@@@@@@@@@'); |
|
395 |
yourself); |
|
396 |
yourself |
|
397 |
] |
|
4468 | 398 |
! |
399 |
||
6290 | 400 |
processAbort22x22Icon |
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
401 |
<resource: #image> |
6290 | 402 |
"This resource specification was automatically generated |
403 |
by the ImageEditor of ST/X." |
|
404 |
"Do not manually edit this!! If it is corrupted, |
|
405 |
the ImageEditor may not be able to read the specification." |
|
406 |
" |
|
407 |
self processAbort22x22Icon inspect |
|
408 |
ImageEditor openOnClass:self andSelector:#processAbort22x22Icon |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
409 |
Icon flushCachedIcons" |
15753 | 410 |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
411 |
^ Icon constantNamed:#'ProcessMonitorV2 class processAbort22x22Icon' |
15753 | 412 |
ifAbsentPut:[ |
413 |
(Depth8Image new) |
|
414 |
width:22; |
|
415 |
height:22; |
|
416 |
photometric:(#palette); |
|
417 |
bitsPerSample:(#[ 8 ]); |
|
418 |
samplesPerPixel:(1); |
|
419 |
bits:(ByteArray |
|
420 |
fromPackedString:' |
|
6290 | 421 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@E@ @@@@@@@@@@@@@@@@@@@@@@@@@@APH@@@@@@@@@@@@@@@@@ |
422 |
@@@BAP@@APLC@P@@APH@@@@@@@@@@@@@@PLEAPLC@0LEAPLA@@@@@@@@@@@@@@@B@0LC@0LC@0LA@@@@@@@@@@@@@@@@APLC@ DB@0LC@ @@@@@@@@@@@@@@ |
|
423 |
APLC@ D@@@TC@0LB@@@@@@@@@@@EAPLC@0D@@@@@APLC@0TB@@@@@@@@@PDC@0LB@@@@@@TC@0LA@P@@@@@@@@@@@ HC@0T@@@TC@0LA@@TE@@@@@@@@@@@B |
|
424 |
@0LCAPTC@0LA@@TFA TE@@@@@@@@APLC@0LC@0LC@PTFA@PFAP@@@@@@APLA@ LC@0LCAPTFA@PDA@XE@@@@@@HA@@@E@0LB@@TFA@PDA@PFA @@@@@@@@TE |
|
425 |
@@TA@@@EA XDA@PFAPT@@@@@@@@EA TE@P@@APTEA PDA @@@@@@@@@@@@TFAP@@@@TEA PDA T@@@@@@@@@@@@@A XEAPTFA PDA@X@@@@@@@@@@@@@@@TF |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
426 |
A XFA@PDA XE@@@@@@@@@@@@@@@@APTFA XFA TE@@@@@@@a'); |
15753 | 427 |
colorMapFromArray:#[ 0 0 0 127 127 127 161 161 165 194 194 194 255 0 0 255 255 255 192 0 0 ]; |
428 |
mask:((ImageMask new) |
|
429 |
width:22; |
|
430 |
height:22; |
|
431 |
bits:(ByteArray |
|
432 |
fromPackedString:'@@@@@F@@@O@@COL@G?>@G?>@C?<@C?<@O??@_9? _9? O?? C??8C??8G??<G??<C?_<@?_0@^_0@O? @O? @G?@'); |
|
433 |
yourself); |
|
434 |
yourself |
|
435 |
] |
|
6290 | 436 |
! |
437 |
||
4468 | 438 |
processDebug22x22Icon |
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
439 |
<resource: #image> |
4468 | 440 |
"This resource specification was automatically generated |
441 |
by the ImageEditor of ST/X." |
|
442 |
"Do not manually edit this!! If it is corrupted, |
|
443 |
the ImageEditor may not be able to read the specification." |
|
444 |
" |
|
445 |
self processDebug22x22Icon inspect |
|
446 |
ImageEditor openOnClass:self andSelector:#processDebug22x22Icon |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
447 |
Icon flushCachedIcons" |
15753 | 448 |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
449 |
^ Icon constantNamed:#'ProcessMonitorV2 class processDebug22x22Icon' |
15753 | 450 |
ifAbsentPut:[ |
451 |
(Depth8Image new) |
|
452 |
width:22; |
|
453 |
height:22; |
|
454 |
photometric:(#palette); |
|
455 |
bitsPerSample:(#( 8 )); |
|
456 |
samplesPerPixel:(1); |
|
457 |
bits:(ByteArray |
|
458 |
fromPackedString:' |
|
4468 | 459 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@0@@@@@@@@@@@@@@@@@@@@@@@@@@A L@@@@@@@@@@@@@@@@@ |
460 |
@@@CA @@A PD@P@@A L@@@@@@@@@@@@@@PPFA PDA@PFA PA@@@@@@@@@@@@@@@CA@PD@@@DA@PA@@@@@@@@@@@@@@@@A P@@0DC@@@D@0@@@@@@@@@@@@@@ |
|
461 |
A PD@0@@@@X@@@@@@@@@@@@@@@@FA PDA@D@@@@@@@HB@ HB@ @@@@@@@PDDA@@@@@@@@ HBAPTEAPTB@@@@@@@@@0@B@ @B@ HEAPTEAPTEAPH@@@@@@@HB |
|
462 |
APTE@@HEAPTEAPTEAPTE@ @@@@@B@ TEAP@BAPTEAPTEAPTEAPH@@@@@@@HEAPT@@@@@@@@@@@@@@@@@@@@@@@HBAPTE@@HBAPTEAPTEAPTE@ @@@@@@@ HE |
|
463 |
@ @B@ HEAPTEAPTE@ H@@@@@@@@@@@@@@@HB@ HB@ HB@ @@@@@@@@@@@@@@@@@@@@@B@ HB@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
464 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a'); |
15753 | 465 |
colorMapFromArray:#[ 0 0 0 127 127 127 128 0 0 161 161 165 194 194 194 255 0 0 255 255 255 ]; |
466 |
mask:((ImageMask new) |
|
467 |
width:22; |
|
468 |
height:22; |
|
469 |
bits:(ByteArray |
|
470 |
fromPackedString:'@@@@@F@@@O@@COL@G?>@G?>@C?= C??XO?? _=?0_??8O??<???<C??<G??<???<_??<@??8@G?0@L? @Q#X@FA '); |
|
471 |
yourself); |
|
472 |
yourself |
|
473 |
] |
|
4468 | 474 |
! |
475 |
||
476 |
processInspect22x22Icon |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
477 |
<resource: #image> |
4468 | 478 |
"This resource specification was automatically generated |
479 |
by the ImageEditor of ST/X." |
|
480 |
"Do not manually edit this!! If it is corrupted, |
|
481 |
the ImageEditor may not be able to read the specification." |
|
482 |
" |
|
483 |
self processInspect22x22Icon inspect |
|
484 |
ImageEditor openOnClass:self andSelector:#processInspect22x22Icon |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
485 |
Icon flushCachedIcons" |
15753 | 486 |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
487 |
^ Icon constantNamed:#'ProcessMonitorV2 class processInspect22x22Icon' |
15753 | 488 |
ifAbsentPut:[ |
489 |
(Depth8Image new) |
|
490 |
width:22; |
|
491 |
height:22; |
|
492 |
photometric:(#palette); |
|
493 |
bitsPerSample:(#( 8 )); |
|
494 |
samplesPerPixel:(1); |
|
495 |
bits:(ByteArray |
|
496 |
fromPackedString:' |
|
4468 | 497 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EA0@@@@@@@@@@@@@@@@@@@@@@@@@@AP\@@@@@@@@@@@@@@@@@ |
498 |
@@@GAP@@APXFB@@@AP\@@@@@@@@@@@@@B@XEAPXFA XEAPXH@@@@@@@@@@@@@@@GA XFA @@@@XH@@@@@@@@@@@@@@@@APXF@@@BCPH@@@@@@@@@@@@@@@@@ |
|
499 |
APXF@@0MCP4MCP0@@@@@@@@@@@@EAPXFA @MCPTEAP4M@@TG@@@@@@@@B@ FA @BCPTEAP4MCPH@B@@@@@@@@@@@A0\@CP4EAP4MCP4M@@@@@@@@@@@@@@@G |
|
500 |
@@HMAP4MCP4M@ @@@@@@@@@@@@@@APX@CP4MCP4MCP@@@@@@@@@@@@@@APXH@@0MCP4MCP0@BP@@@@@@@@@@@@\H@@@@@@HM@ @@@ @@@@@@@@@@@@@@@@@@ |
|
501 |
@@T@@@@@B @K@0@@@@@@@@@@@@@@@@@EB@@@@@@@C ,C@@@@@@@@@@@@@@@@@@@@@@@@@@@NB0L@@@@@@@@@@@@@@@@@@@@@@@@@@@8K@0@@@@@@@@@@@@@@ |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
502 |
@@@@@@@@@@@@C ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a'); |
15753 | 503 |
colorMapFromArray:#[ 0 0 0 128 128 128 160 160 160 195 195 195 220 220 220 255 255 255 194 194 194 161 161 165 127 127 127 120 120 120 0 64 64 88 88 88 80 80 80 200 200 200 48 48 48 ]; |
504 |
mask:((ImageMask new) |
|
505 |
width:22; |
|
506 |
height:22; |
|
507 |
bits:(ByteArray |
|
508 |
fromPackedString:'@@@@@F@@@O@@COL@G?>@G?>@C?<@C?<@O??@_?? _?? O??@C?>@C?<@G?>@G??@CO/ @OG0@FC8@@A<@@@<@@@X'); |
|
509 |
yourself); |
|
510 |
yourself |
|
511 |
] |
|
4468 | 512 |
! |
513 |
||
514 |
processLowerPrio22x22Icon |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
515 |
<resource: #image> |
4468 | 516 |
"This resource specification was automatically generated |
517 |
by the ImageEditor of ST/X." |
|
518 |
"Do not manually edit this!! If it is corrupted, |
|
519 |
the ImageEditor may not be able to read the specification." |
|
520 |
" |
|
521 |
self processLowerPrio22x22Icon inspect |
|
522 |
ImageEditor openOnClass:self andSelector:#processLowerPrio22x22Icon |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
523 |
Icon flushCachedIcons" |
15753 | 524 |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
525 |
^ Icon constantNamed:#'ProcessMonitorV2 class processLowerPrio22x22Icon' |
15753 | 526 |
ifAbsentPut:[ |
527 |
(Depth8Image new) |
|
528 |
width:22; |
|
529 |
height:22; |
|
530 |
photometric:(#palette); |
|
531 |
bitsPerSample:(#( 8 )); |
|
532 |
samplesPerPixel:(1); |
|
533 |
bits:(ByteArray |
|
534 |
fromPackedString:' |
|
4468 | 535 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EA0@@@@@@@@@@@@@@@@@@@@@@@@@@AP\@@@@@@@@@@@@@@@@@ |
536 |
@@@GAP@@APXFB@@@AP\@@@@@@@@@@@@@B@XEAPXFA XEAPXH@@@@@@@@@@@@@@@GA XFA XFA XH@@@@@@@@@@@@@@@@APXFA0 GA XFA0@@@@@@@@@@@@@@ |
|
6290 | 537 |
APXFA0 @@@TFA XG@@@@@@@@@@@EAPXFA @@@@@APXFA TG@@@@@@@@B@ FA XG@@@@@@TEAPTEAPTE@@@@@@@@A0\FA T@@@TFAP@@@@@@AP@@@@@@@@@G |
538 |
A XFAPTFA T@@@@@@@T@@@@@@@@@APXFA XFA XE@@@@@@@E@@@@@@@@APXHA0XFA XFAP@@@@@@AP@@@@@@@@\H@@@EA XEAPT@@@@@@@TEAP@@@@@@@@@@ |
|
539 |
@@THAP@@@@@@@@@@@@T@@@@@@@@@@@@EB@@E@@@@@@@@@@T@@@@@@@@@@@@@@@@@@@T@@@@@@@T@@@@@@@@@@@@@@@@@@@@@AP@@@@T@@@@@@@@@@@@@@@@@ |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
540 |
@@@@@@@E@@T@@@@@@@@@@@@@@@@@@@@@@@@@@@T@@@@@@@@a'); |
15753 | 541 |
colorMapFromArray:#[ 0 0 0 128 128 128 160 160 160 195 195 195 220 220 220 255 255 255 194 194 194 161 161 165 127 127 127 ]; |
542 |
mask:((ImageMask new) |
|
543 |
width:22; |
|
544 |
height:22; |
|
545 |
bits:(ByteArray |
|
546 |
fromPackedString:'@@@@@F@@@O@@COL@G?>@G?>@C?<@C?<@O??@_9? _9?0O??0C??0C??0G??0G??<CO?<@O?8@F_0@@O @@G@@@B@'); |
|
547 |
yourself); |
|
548 |
yourself |
|
549 |
] |
|
4468 | 550 |
! |
551 |
||
552 |
processRaisePrio22x22Icon |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
553 |
<resource: #image> |
4468 | 554 |
"This resource specification was automatically generated |
555 |
by the ImageEditor of ST/X." |
|
556 |
"Do not manually edit this!! If it is corrupted, |
|
557 |
the ImageEditor may not be able to read the specification." |
|
558 |
" |
|
559 |
self processRaisePrio22x22Icon inspect |
|
560 |
ImageEditor openOnClass:self andSelector:#processRaisePrio22x22Icon |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
561 |
Icon flushCachedIcons" |
15753 | 562 |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
563 |
^ Icon constantNamed:#'ProcessMonitorV2 class processRaisePrio22x22Icon' |
15753 | 564 |
ifAbsentPut:[ |
565 |
(Depth8Image new) |
|
566 |
width:22; |
|
567 |
height:22; |
|
568 |
photometric:(#palette); |
|
569 |
bitsPerSample:(#( 8 )); |
|
570 |
samplesPerPixel:(1); |
|
571 |
bits:(ByteArray |
|
572 |
fromPackedString:' |
|
4468 | 573 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EA0@@@@@@@@@@@@@@@@@@@@@@@@@@AP\@@@@@@@@@@@@@@@@@ |
574 |
@@@GAP@@APXFB@@@AP\@@@@@@@@@@@@@B@XEAPXFA XEAPXH@@@@@@@@@@@@@@@GA XFA XFA XH@@@@@@@@@@@@@@@@APXFA0 GA XFA0@@@@@@@@@@@@@@ |
|
6290 | 575 |
APXFA0 @@@TFA XG@@@@@@@@@@@EAPXFA @@@@@APXFA TG@@@@@@@@B@ FA XG@@@@@@TFA XEB@@@@@@@@@@@A0\FA T@@@TFA XE@@T@@@@@@@@@@@@G |
576 |
A XFAPTFA XE@@@@AP@@@@@@@@@@APXFA XFA XE@@@@@@@E@@@@@@@@APXHA0XFA XE@@@@@@@@@@T@@@@@@@\H@@@EA XE@@@@@@@@@@@@AP@@@@@@@@@@ |
|
577 |
@@THAPTE@@@@@@@EAPT@@@@@@@@@@@@EB@@@AP@@@@@@AP@@@@@@@@@@@@@@@@@@@@T@@@@@@@T@@@@@@@@@@@@@@@@@@@@E@@@@@@@E@@@@@@@@@@@@@@@@ |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
578 |
@@@@AP@@@@@@AP@@@@@@@@@@@@@@@@@@@@TEAPTEAPT@@@@a'); |
15753 | 579 |
colorMapFromArray:#[ 0 0 0 128 128 128 160 160 160 195 195 195 220 220 220 255 255 255 194 194 194 161 161 165 127 127 127 ]; |
580 |
mask:((ImageMask new) |
|
581 |
width:22; |
|
582 |
height:22; |
|
583 |
bits:(ByteArray |
|
584 |
fromPackedString:'@@@@@F@@@O@@COL@G?>@G?>@C?<@C?<@O??@_9? _9? O??@C?? C??0G??8G??<CO?<@O_0@F_0@@_0@@_0@@_0'); |
|
585 |
yourself); |
|
586 |
yourself |
|
587 |
] |
|
4468 | 588 |
! |
589 |
||
590 |
processRestart22x22Icon |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
591 |
<resource: #image> |
4468 | 592 |
"This resource specification was automatically generated |
593 |
by the ImageEditor of ST/X." |
|
594 |
"Do not manually edit this!! If it is corrupted, |
|
595 |
the ImageEditor may not be able to read the specification." |
|
596 |
" |
|
597 |
self processRestart22x22Icon inspect |
|
598 |
ImageEditor openOnClass:self andSelector:#processRestart22x22Icon |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
599 |
Icon flushCachedIcons" |
15753 | 600 |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
601 |
^ Icon constantNamed:#'ProcessMonitorV2 class processRestart22x22Icon' |
15753 | 602 |
ifAbsentPut:[ |
603 |
(Depth8Image new) |
|
604 |
width:22; |
|
605 |
height:22; |
|
606 |
photometric:(#palette); |
|
607 |
bitsPerSample:(#( 8 )); |
|
608 |
samplesPerPixel:(1); |
|
609 |
bits:(ByteArray |
|
610 |
fromPackedString:' |
|
4468 | 611 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GAP@@@@@@@@@@@@@@@@@@@@@@@@@@A0T@@@@@@@@@@@@@@@@@ |
612 |
@@@EA0@@A0XFA@@@A0T@@@@@@@@@@@@@A@XGA0XFA XGA0XD@@@@@@@@@@@@@@@EA XFA XF@@@@@@@@@@@@@@@@@@@@A0XFAPP@@@LC@0@@@P@@@@@@@@@@ |
|
613 |
A0XFAPP@@0LC@0@E@@@@@@@@@@@GA0XFA P@@@LC@0@FA \@@@@@@@@@A@PFA XE@@LC@0@FA XD@@@@@@@@@@@@APTFA @C@0L@A XD@@@@@@@@@@@@@@@E |
|
614 |
@@LC@0LC@0L@@@@@@@@@@@@@@@@@A0X@@0LC@0L@@@@@@@@@@@@@@@@@A0XDAP@C@0L@@@@@@@@@@@@@@@@@@@TD@@@@@@L@@@@@@@@@@@@@@@@@@@@@@@@@ |
|
615 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
616 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a'); |
15753 | 617 |
colorMapFromArray:#[ 0 0 0 0 64 0 0 128 0 0 192 0 127 127 127 161 161 165 194 194 194 255 255 255 ]; |
618 |
mask:((ImageMask new) |
|
619 |
width:22; |
|
620 |
height:22; |
|
621 |
bits:(ByteArray |
|
622 |
fromPackedString:'@@@@@F@@@O@@COL@G?>@G?>@C?>@C?? O??0_?>P_?>HO?<@C?= C?30G?''8G7/<CCO0@PC0@HG @L_ @G?@@A<@'); |
|
623 |
yourself); |
|
624 |
yourself |
|
625 |
] |
|
4468 | 626 |
! |
627 |
||
628 |
processResume22x22Icon |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
629 |
<resource: #image> |
4468 | 630 |
"This resource specification was automatically generated |
631 |
by the ImageEditor of ST/X." |
|
632 |
"Do not manually edit this!! If it is corrupted, |
|
633 |
the ImageEditor may not be able to read the specification." |
|
634 |
" |
|
635 |
self processResume22x22Icon inspect |
|
636 |
ImageEditor openOnClass:self andSelector:#processResume22x22Icon |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
637 |
Icon flushCachedIcons" |
15753 | 638 |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
639 |
^ Icon constantNamed:#'ProcessMonitorV2 class processResume22x22Icon' |
15753 | 640 |
ifAbsentPut:[ |
641 |
(Depth8Image new) |
|
642 |
width:22; |
|
643 |
height:22; |
|
644 |
photometric:(#palette); |
|
645 |
bitsPerSample:(#( 8 )); |
|
646 |
samplesPerPixel:(1); |
|
647 |
bits:(ByteArray |
|
648 |
fromPackedString:' |
|
4468 | 649 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EA0@@@@@@@@@@@@@@@@@@@@@@@@@@AP\@@@@@@@@@@@@@@@@@ |
650 |
@@@GAP@@APXFB@@@AP\@@@@@@@@@@@@@B@XEAPXFA XEAPXH@@@@@@@@@@@@@@@GA XFA XFA XH@@@@@@@@@@@@@@@@APXFA0 GA XFA0@@@@@@@@@@@@@@ |
|
6290 | 651 |
APXFA0 @@@TFA XG@@@@@@@@@@@EAPXFA @@@@@APXFA TG@@@@@@@@B@ FA XG@@@@@@TE@@THB@@@@@@@@@@@A0\FA T@@@TFAP@@AP@@@@@@@@@@@@@G |
652 |
A XFAPTFA T@@@@E@@@@@@@@@@@@APXFA XFA XE@@@@@@T@@@@@@@@@APXHA0XFA XFAP@@@@@@AP@@@@@@@@\H@@@EA XG@@T@@@@@@@@E@@@@@@@@@@@@ |
|
653 |
@@TH@@@E@@@@@@@@AP@@@@@@@@@@@@@EB@@@AP@@@@@@AP@@@@@@@@@@@@@@@@@@@@T@@@@@AP@@@@@@@@@@@@@@@@@@@@@E@@@@AP@@@@@@@@@@@@@@@@@@ |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
654 |
@@@@AP@@AP@@@@@@@@@@@@@@@@@@@@@@@@T@AP@@@@@@@@@a'); |
15753 | 655 |
colorMapFromArray:#[ 0 0 0 128 128 128 160 160 160 195 195 195 220 220 220 255 255 255 194 194 194 161 161 165 127 127 127 ]; |
656 |
mask:((ImageMask new) |
|
657 |
width:22; |
|
658 |
height:22; |
|
659 |
bits:(ByteArray |
|
660 |
fromPackedString:'@@@@@F@@@O@@COL@G?>@G?>@C?<@C?<@O??@_9? _9? O??@C??@C?? G??0G??8CO_8@O_0@F_ @@_@@@^@@@\@'); |
|
661 |
yourself); |
|
662 |
yourself |
|
663 |
] |
|
4468 | 664 |
! |
665 |
||
666 |
processStop22x22Icon |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
667 |
<resource: #image> |
4468 | 668 |
"This resource specification was automatically generated |
669 |
by the ImageEditor of ST/X." |
|
670 |
"Do not manually edit this!! If it is corrupted, |
|
671 |
the ImageEditor may not be able to read the specification." |
|
672 |
" |
|
673 |
self processStop22x22Icon inspect |
|
674 |
ImageEditor openOnClass:self andSelector:#processStop22x22Icon |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
675 |
Icon flushCachedIcons" |
15753 | 676 |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
677 |
^ Icon constantNamed:#'ProcessMonitorV2 class processStop22x22Icon' |
15753 | 678 |
ifAbsentPut:[ |
679 |
(Depth8Image new) |
|
680 |
width:22; |
|
681 |
height:22; |
|
682 |
photometric:(#palette); |
|
683 |
bitsPerSample:(#( 8 )); |
|
684 |
samplesPerPixel:(1); |
|
685 |
bits:(ByteArray |
|
686 |
fromPackedString:' |
|
4468 | 687 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EA0@@@@@@@@@@@@@@@@@@@@@@@@@@AP\@@@@@@@@@@@@@@@@@ |
688 |
@@@GAP@@APXFB@@@AP\@@@@@@@@@@@@@B@XEAPXFA XEAPXH@@@@@@@@@@@@@@@GA XFA XFA XH@@@@@@@@@@@@@@@@APXFA0 GA XFA0@@@@@@@@@@@@@@ |
|
6290 | 689 |
APXFA0 @@@TFA XG@@@@@@@@@@@EAPXFA @@@@@APXFA TG@@@@@@@@B@ FA XG@@@@@@TFA XHB@@@@@@@@@@@A0\FA T@@@TFA XH@@@@@@@@@@@@@@@G |
690 |
A XFAPTFAPTEAPTEAPTEAP@@@@@@APXFA XFA T@@@@EAP@@@@T@@@@@APXHA0XFA XE@@@@APT@@@@E@@@@@@\H@@@EA XGAP@@@@TE@@@@AP@@@@@@@@@@ |
|
691 |
@@TH@@T@@@@EAP@@@@T@@@@@@@@@@@@EB@@E@@@@APT@@@@E@@@@@@@@@@@@@@@@AP@@@@TE@@@@AP@@@@@@@@@@@@@@@@T@@@@EAP@@@@T@@@@@@@@@@@@@ |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
692 |
@@@E@@@@APT@@@@E@@@@@@@@@@@@@@@@APTEAPTEAPTEAP@a'); |
15753 | 693 |
colorMapFromArray:#[ 0 0 0 128 128 128 160 160 160 195 195 195 220 220 220 255 255 255 194 194 194 161 161 165 127 127 127 ]; |
694 |
mask:((ImageMask new) |
|
695 |
width:22; |
|
696 |
height:22; |
|
697 |
bits:(ByteArray |
|
698 |
fromPackedString:'@@@@@F@@@O@@COL@G?>@G?>@C?<@C?<@O??@_9? _9? O??@C??<C??<G??<G??<CO?<@O?<@F?<@@?<@@?<@@?<'); |
|
699 |
yourself); |
|
700 |
yourself |
|
701 |
] |
|
4468 | 702 |
! |
703 |
||
704 |
processSuspend22x22Icon |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
705 |
<resource: #image> |
4468 | 706 |
"This resource specification was automatically generated |
707 |
by the ImageEditor of ST/X." |
|
708 |
"Do not manually edit this!! If it is corrupted, |
|
709 |
the ImageEditor may not be able to read the specification." |
|
710 |
" |
|
711 |
self processSuspend22x22Icon inspect |
|
712 |
ImageEditor openOnClass:self andSelector:#processSuspend22x22Icon |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
713 |
Icon flushCachedIcons" |
15753 | 714 |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
715 |
^ Icon constantNamed:#'ProcessMonitorV2 class processSuspend22x22Icon' |
15753 | 716 |
ifAbsentPut:[ |
717 |
(Depth8Image new) |
|
718 |
width:22; |
|
719 |
height:22; |
|
720 |
photometric:(#palette); |
|
721 |
bitsPerSample:(#( 8 )); |
|
722 |
samplesPerPixel:(1); |
|
723 |
bits:(ByteArray |
|
724 |
fromPackedString:' |
|
4498 | 725 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EA0@@@@@@@@@@@@@@@@@@@@@@@@@@AP\@@@@@@@@@@@@@@@@@ |
726 |
@@@GAP@@APXFB@@@AP\@@@@@@@@@@@@@B@XEAPXFA XEAPXH@@@@@@@@@@@@@@@GA XFA XFA XH@@@@@@@@@@@@@@@@APXFA0 GA XFA0@@@@@@@@@@@@@@ |
|
727 |
APXFA0 @@@TFA XG@@@@@@@@@@@EAPXFA @@@@@APXFA TG@@@@@@@@B@ FA XG@@TEAPTEAPTEAPTEAPT@@@@@A0\FA TEAPTEAPTEAPTEAPTE@@@@@@@G |
|
728 |
A XFAPTE@@@@@@@@@@@EAP@@@@@@APXFA TEAP@@@@@@@@@@APT@@@@@APXHA0XEAPT@@@@@@@@@@@TE@@@@@@\H@@@EAPTE@@@@@@@@@@@EAP@@@@@@@@@@ |
|
729 |
@@TEAP@@@@@@@@@@APT@@@@@@@@@@@@EAPT@@@@@@@@@@@TE@@@@@@@@@@@@APTE@@@@@@@@@@@EAP@@@@@@@@@@@@TEAP@@@@@@@@@@APT@@@@@@@@@@@@E |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
730 |
APTEAPTEAPTEAPTE@@@@@@@@@@@@APTEAPTEAPTEAPTEAP@a'); |
15753 | 731 |
colorMapFromArray:#[ 0 0 0 128 128 128 160 160 160 195 195 195 220 220 220 255 255 255 194 194 194 161 161 165 127 127 127 ]; |
732 |
mask:((ImageMask new) |
|
733 |
width:22; |
|
734 |
height:22; |
|
735 |
bits:(ByteArray |
|
736 |
fromPackedString:'@@@@@F@@@O@@COL@G?>@G?>@C?<@C?<@O??@_9? _??<O??<C??<C??<G??<G??<CO?<@O?<@G?<@G?<@G?<@G?<'); |
|
737 |
yourself); |
|
738 |
yourself |
|
739 |
] |
|
4468 | 740 |
! |
741 |
||
742 |
processTerminate22x22Icon |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
743 |
<resource: #image> |
4468 | 744 |
"This resource specification was automatically generated |
745 |
by the ImageEditor of ST/X." |
|
746 |
"Do not manually edit this!! If it is corrupted, |
|
747 |
the ImageEditor may not be able to read the specification." |
|
748 |
" |
|
749 |
self processTerminate22x22Icon inspect |
|
750 |
ImageEditor openOnClass:self andSelector:#processTerminate22x22Icon |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
751 |
Icon flushCachedIcons" |
15753 | 752 |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
753 |
^ Icon constantNamed:#'ProcessMonitorV2 class processTerminate22x22Icon' |
15753 | 754 |
ifAbsentPut:[ |
755 |
(Depth8Image new) |
|
756 |
width:22; |
|
757 |
height:22; |
|
758 |
photometric:(#palette); |
|
759 |
bitsPerSample:(#( 8 )); |
|
760 |
samplesPerPixel:(1); |
|
761 |
bits:(ByteArray |
|
762 |
fromPackedString:' |
|
4468 | 763 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EA0@@@@@@@@@@@@@@@@@@@@@@@@@@AP\@@@@@@@@@@@@@@@@@ |
764 |
@@@GAP@@APXFB@@@AP\@@@@@@@@@@@@@B@XEAPXFA XEAPXH@@@@@@@@@@@@@@@GA XFA XFA XH@@@@@@@@@@@@@@@@APXFA0 GA XFA0@@@@@@@@@@@@@@ |
|
765 |
APXFA0 @@@TFA XG@@@@@@@@@@@EAPXFA @@@@@APXFA TGC@@@@@@@B@ FA XG@@@LC@TFA XHC@,K@@@@@@@@A0\FA TLB0,LC@XHC@,KBP@@@@@@@@@G |
|
766 |
A XFAPTJB0,LB0,KBP@@@@@@@@@@APXFA XFA (KB0,KBP@@@@@@@@@@APXHA0XFA XFC@,KC@@@@@@@@@@@@@\H@@@EA XGC@,KB00@@@@@@@@@@@@@@@@@ |
|
767 |
@@THC@,I@@(KC@@@@@@@@@@@@@@@@@@EB@0I@@@@B ,@@@@@@@@@@@@@@@@@@@0K@@@@@@@JB0@@@@@@@@@@@@@@@@@LBP@@@@@@@@,@@@@@@@@@@@@@@@@@ |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
768 |
C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a'); |
15753 | 769 |
colorMapFromArray:#[ 0 0 0 128 128 128 160 160 160 195 195 195 220 220 220 255 255 255 194 194 194 161 161 165 127 127 127 64 0 0 128 0 0 192 0 0 255 0 0 ]; |
770 |
mask:((ImageMask new) |
|
771 |
width:22; |
|
772 |
height:22; |
|
773 |
bits:(ByteArray |
|
774 |
fromPackedString:'@@@@@F@@@O@@COL@G?>@G?>@C?<@C?<@O??@_9? _;?0O??0C?? C??@G?>@G?>@CO?@@O#@@GA @C@ @B@@@@@@'); |
|
775 |
yourself); |
|
776 |
yourself |
|
777 |
] |
|
4468 | 778 |
! |
779 |
||
780 |
processTerminateGroup22x22Icon |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
781 |
<resource: #image> |
4468 | 782 |
"This resource specification was automatically generated |
783 |
by the ImageEditor of ST/X." |
|
784 |
"Do not manually edit this!! If it is corrupted, |
|
785 |
the ImageEditor may not be able to read the specification." |
|
786 |
" |
|
787 |
self processTerminateGroup22x22Icon inspect |
|
788 |
ImageEditor openOnClass:self andSelector:#processTerminateGroup22x22Icon |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
789 |
Icon flushCachedIcons" |
15753 | 790 |
|
791 |
^ Icon |
|
792 |
constantNamed:#'ProcessMonitorV2 class processTerminateGroup22x22Icon' |
|
793 |
ifAbsentPut:[ |
|
794 |
(Depth8Image new) |
|
795 |
width:22; |
|
796 |
height:22; |
|
797 |
photometric:(#palette); |
|
798 |
bitsPerSample:(#( 8 )); |
|
799 |
samplesPerPixel:(1); |
|
800 |
bits:(ByteArray |
|
801 |
fromPackedString:' |
|
4468 | 802 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AP\@@@@@@@@@@@@@@@@@@@@@@@@@@@TG@@@@@@@@@@@@@@@@@@@@A0T@@@TFA @@@TG@@@@@@@@@@@@ |
803 |
@@ FAPTF@@@FAPTFB@@@@@@@@@@@@@@@A0XF@@TG@@XFB@@@@@@@@@@@@@@@@@@FA @EA0@FA @@@@@@@@@@@@@@@@\E@@@EA XH@@@EA0@@@@@@@@@@AP@H |
|
804 |
A TEA XFA TEA @A0@@@@@@@@ H@@\FA XFA XFA @B@ @@@@@@@@@@@@EA XGB@\FA XG@@@@@@@L@@@@@@@EA XGB@@@AP0LA \@@@@LB0,@@@TEA XF |
|
805 |
B@@FA 0KB00LAP\LB0,I@@@HB@XFA \@A X@AP(KB00KB0,I@@@@@@@GA0XFAP@@APXFB ,KB0,I@@@@@@@@@@\FA XEAPXFA LB0,L@@@@@@@@@@@EA XF |
|
806 |
A XFA XLB0,KC@@@@@@@@@@EA GA XFA XLB0$@B ,L@@@@@@@@A0 @@@TFA \@C@$H@@@JB0@@@@@@@@@@@@@@AP @C@,@@@@@@@(K@@@@@@@@@@@@@@TH |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
807 |
@@0I@@@@@@@@B0@@@@@@@@@@@@@@@@@L@@@@@@@@@@@@@@@a'); |
15753 | 808 |
colorMapFromArray:#[ 0 0 0 128 128 128 160 160 160 195 195 195 220 220 220 255 255 255 194 194 194 161 161 165 127 127 127 64 0 0 128 0 0 192 0 0 255 0 0 ]; |
809 |
mask:((ImageMask new) |
|
810 |
width:22; |
|
811 |
height:22; |
|
812 |
bits:(ByteArray |
|
813 |
fromPackedString:'@L@@@^@@F^X@O?<@O?<@G?8@G?8@_?>@???@???@_?>P_?>8???8???0_?? G??@G??@O?? O?= F_80@_ P@M@@'); |
|
814 |
yourself); |
|
815 |
yourself |
|
816 |
] |
|
4468 | 817 |
! |
818 |
||
7809 | 819 |
raiseWindow22x22Icon |
14396
b93e61a4ddd7
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
13775
diff
changeset
|
820 |
<resource: #image> |
7809 | 821 |
"This resource specification was automatically generated |
822 |
by the ImageEditor of ST/X." |
|
823 |
"Do not manually edit this!! If it is corrupted, |
|
824 |
the ImageEditor may not be able to read the specification." |
|
825 |
" |
|
826 |
self raiseWindow22x22Icon inspect |
|
827 |
ImageEditor openOnClass:self andSelector:#raiseWindow22x22Icon |
|
14396
b93e61a4ddd7
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
13775
diff
changeset
|
828 |
Icon flushCachedIcons" |
15753 | 829 |
|
14396
b93e61a4ddd7
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
13775
diff
changeset
|
830 |
^ Icon constantNamed:'ProcessMonitorV2 class raiseWindow22x22Icon' |
15753 | 831 |
ifAbsentPut:[ |
832 |
(Depth8Image new) |
|
833 |
width:22; |
|
834 |
height:22; |
|
835 |
photometric:(#palette); |
|
836 |
bitsPerSample:(#[ 8 ]); |
|
837 |
samplesPerPixel:(1); |
|
838 |
bits:(ByteArray |
|
839 |
fromPackedString:' |
|
7809 | 840 |
@@@.K"8.K"8.K"8.K"8.K"8.K"8.K @@@@@@@ HB@ HB@ HB@ HB@ HB@B8@@@@@@@H+J2,+J2,+J2,+J2,+@ @.@@@@@@@BJ2,+J2,+J2,+J2,+J2 @K @@ |
8652 | 841 |
@ HB@ HB@ HB@ HB@ HBJ2,"@B8@@@HB@ HB@ HB@ HB@ HB@",EF @.@@@B@ HB@ HB@ HB@ HB@" EHQ(@K @@@ HB@ HB@ HB@ HB@ H"AR$(@B8@@@H+ |
7809 | 842 |
J2,+J2,+J2,+J2,!!JBD''J@@.@@@BJ2,+J2,+J2,+J2,+HR !!I2 @K @@@",+J2,+J2,+J2,+J2\(HRL @B8@@@H+J2,+J2,+J2,+J2,''JBT#H@@.@@@BJ2,+ |
843 |
J2,+J2,+J2,EI2 ''A"@@K @@@",+J2,+J2,+J2,EARL I0X @B8@@@H+J2,+J2,+J2,EAR$#HB\FH@@.@@@BJ2,+J2,+J2,EAR$)A"@F@2@@K @@@",+J2,+ |
|
844 |
J2,EAR$)HPX HB@Y@B8@@@H+J2,+J2,EAPT)HRDFH@@@@@@.@@@BJ2,EJR$)HRD!!CB\''@2@@@@@@K @@DRPGA2<^D@,KJ!!<-JB@Y@@@@@B8@@@@@@@@@@@@@ |
|
14396
b93e61a4ddd7
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
13775
diff
changeset
|
845 |
@@@@@@@@@@@@@@@.@@@@@@@@@@@@@@@@@@@@@@@@K"8.K @a'); |
15753 | 846 |
colorMapFromArray:#[ 160 200 248 175 200 248 0 48 168 208 208 224 207 216 240 240 240 248 223 216 224 80 136 208 240 232 240 175 208 248 176 208 248 64 112 192 239 232 232 255 248 176 255 248 24 255 248 152 79 120 192 48 120 208 159 192 248 255 248 88 160 192 248 255 248 48 255 248 96 144 184 248 240 144 24 15 56 160 63 88 176 191 216 248 240 208 24 255 248 136 79 120 200 63 104 184 48 80 176 239 232 240 31 72 176 223 216 232 80 144 208 224 224 240 255 248 200 224 224 232 48 88 176 240 240 240 64 104 184 255 248 248 47 112 208 63 96 184 236 233 216 79 128 200 ]; |
847 |
mask:((ImageMask new) |
|
848 |
width:22; |
|
849 |
height:22; |
|
850 |
bits:(ByteArray |
|
851 |
fromPackedString:'@@@@A??0A??0A??0O??0O??0O??0O??0O??0O??0O??0O??0O??0O??0O??0O??0O??0O?>@O?>@O?>@@@@@@@@@'); |
|
852 |
yourself); |
|
853 |
yourself |
|
854 |
] |
|
7809 | 855 |
! |
856 |
||
4468 | 857 |
terminateGroupIcon |
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
858 |
<resource: #image> |
4468 | 859 |
"This resource specification was automatically generated |
860 |
by the ImageEditor of ST/X." |
|
861 |
"Do not manually edit this!! If it is corrupted, |
|
862 |
the ImageEditor may not be able to read the specification." |
|
863 |
" |
|
864 |
self terminateGroupIcon inspect |
|
865 |
ImageEditor openOnClass:self andSelector:#terminateGroupIcon |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
866 |
Icon flushCachedIcons" |
15753 | 867 |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
868 |
^ Icon constantNamed:#'ProcessMonitorV2 class terminateGroupIcon' |
15753 | 869 |
ifAbsentPut:[ |
870 |
(Depth8Image new) |
|
871 |
width:22; |
|
872 |
height:20; |
|
873 |
photometric:(#palette); |
|
874 |
bitsPerSample:(#( 8 )); |
|
875 |
samplesPerPixel:(1); |
|
876 |
bits:(ByteArray |
|
877 |
fromPackedString:' |
|
4468 | 878 |
@PDA@PXJB (JB (JB (JB TE@PDA@PDA@PXJB (JB (JB (JB (JA0TA@PD@@PXJB (JB (JB (JB (JB (JA D@@@HDB (J@ HJB (JB PDA@(JB X@@@@@ |
879 |
@P\G@PDAA (JB XA@PDFA XA@@@@A DA@PDA@PXJB (F@PDA@PDA@PX@A \A@PD@@@@@@@@@A DJ@@@@@@@@@@XJB DA@@,KB0,K@@@A@@,KB0,KB0@AA XF |
|
880 |
B (@B0,KB0,@@@,KB0,KB0@A@PDA@PXJB @KB0,KB0,KB0,KB0@A@PDA@PXJB (J@@,KB0,KB0,KB0@A@PD@@PXJB (JB (@B0,KB0,KB0@JA D@@@HDB (J |
|
881 |
@ HJB @KB0,KB0@JB X@@@@@@P\G@PDAA @KB0,KB0,K@@XA@@@@@@DA@PDA@P@KB0,KB0,KB0,@@P@@@@@A@PDA@P@KB0,KB0@KB0,KB0@@@@@@@@DA@P@K |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
882 |
B0,KB0@@@@,KB0,K@@@@@@@@@@@KB0,KB0@A@@@@B0,KB0,@@@@@@@@@@@@@@@@A@P@@@@@@@@@@@@@@@@@@@@@@@@DA@P@@@@@@@@@@@@@b'); |
15753 | 883 |
colorMapFromArray:#[ 0 0 0 48 48 48 56 59 56 64 68 64 88 92 88 128 128 128 160 160 160 192 192 192 216 219 216 239 244 239 248 252 248 160 0 0 ]; |
884 |
mask:((ImageMask new) |
|
885 |
width:22; |
|
886 |
height:20; |
|
887 |
bits:(ByteArray |
|
888 |
fromPackedString:'???<???<_??8_??0O??0_??8???<???<???<???<???<_??8_??0O??0O??0O??0G?/8A?''<A?#<@G@@'); |
|
889 |
yourself); |
|
890 |
yourself |
|
891 |
] |
|
4468 | 892 |
! |
893 |
||
894 |
terminateIcon |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
895 |
<resource: #image> |
4468 | 896 |
"This resource specification was automatically generated |
897 |
by the ImageEditor of ST/X." |
|
898 |
"Do not manually edit this!! If it is corrupted, |
|
899 |
the ImageEditor may not be able to read the specification." |
|
900 |
" |
|
901 |
self terminateIcon inspect |
|
902 |
ImageEditor openOnClass:self andSelector:#terminateIcon |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
903 |
Icon flushCachedIcons" |
15753 | 904 |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
905 |
^ Icon constantNamed:#'ProcessMonitorV2 class terminateIcon' |
15753 | 906 |
ifAbsentPut:[ |
907 |
(Depth8Image new) |
|
908 |
width:16; |
|
909 |
height:16; |
|
910 |
photometric:(#palette); |
|
911 |
bitsPerSample:(#( 8 )); |
|
912 |
samplesPerPixel:(1); |
|
913 |
bits:(ByteArray |
|
914 |
fromPackedString:' |
|
4468 | 915 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C@@@@@@@@@@LC@@@@@@@C@ H@@@@@@@LB@ LC@@@C@ H@@@@@@@@@@@DB@ LB |
916 |
@ H@@@@@@@@@@@@@@PHB@ H@@@@@@@@@@@@@@@@C@ HC@@@@@@@@@@@@@@@C@ HB@0@@@@@@@@@@@@@C@ @@@PHC@@@@@@@@@@@@@0@@@@@A@ @@@@@@@@@@ |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
917 |
@0H@@@@@@@DB@@@@@@@@@@L@@@@@@@@@@ @@@@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a'); |
15753 | 918 |
colorMapFromArray:#[ 64 0 0 128 0 0 192 0 0 255 0 0 ]; |
919 |
mask:((ImageMask new) |
|
920 |
width:16; |
|
921 |
height:16; |
|
922 |
bits:(ByteArray |
|
923 |
fromPackedString:'@@@@@@@HCA0_O@_8@?@A8@O A7@FL@0XC@ H@@@@@@@b'); |
|
924 |
yourself); |
|
925 |
yourself |
|
926 |
] |
|
4468 | 927 |
! |
928 |
||
4463 | 929 |
viewDetailsIcon |
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
930 |
<resource: #image> |
4463 | 931 |
"This resource specification was automatically generated |
932 |
by the ImageEditor of ST/X." |
|
933 |
"Do not manually edit this!! If it is corrupted, |
|
934 |
the ImageEditor may not be able to read the specification." |
|
935 |
" |
|
936 |
self viewDetailsIcon inspect |
|
937 |
ImageEditor openOnClass:self andSelector:#viewDetailsIcon |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
938 |
Icon flushCachedIcons" |
15753 | 939 |
|
14416
020eb4c3034d
Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents:
14396
diff
changeset
|
940 |
^ Icon constantNamed:#'ProcessMonitorV2 class viewDetailsIcon' |
15753 | 941 |
ifAbsentPut:[ |
942 |
(Depth1Image new) |
|
943 |
width:16; |
|
944 |
height:16; |
|
945 |
photometric:(#palette); |
|
946 |
bitsPerSample:(#( 1 )); |
|
947 |
samplesPerPixel:(1); |
|
948 |
bits:(ByteArray |
|
949 |
fromPackedString:'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b'); |
|
950 |
colorMapFromArray:#[ 0 0 0 255 255 255 ]; |
|
951 |
mask:((ImageMask new) |
|
952 |
width:16; |
|
953 |
height:16; |
|
954 |
bits:(ByteArray |
|
955 |
fromPackedString:'@@@@@@@@]+X@@@@@]+X@@@@@]+X@@@@@]+X@@@@@@@@b'); |
|
956 |
yourself); |
|
957 |
yourself |
|
958 |
] |
|
4463 | 959 |
! ! |
960 |
||
961 |
!ProcessMonitorV2 class methodsFor:'interface specs'! |
|
962 |
||
963 |
windowSpec |
|
964 |
"This resource specification was automatically generated |
|
965 |
by the UIPainter of ST/X." |
|
966 |
||
967 |
"Do not manually edit this!! If it is corrupted, |
|
968 |
the UIPainter may not be able to read the specification." |
|
969 |
||
970 |
" |
|
971 |
UIPainter new openOnClass:ProcessMonitorV2 andSelector:#windowSpec |
|
972 |
ProcessMonitorV2 new openInterface:#windowSpec |
|
973 |
ProcessMonitorV2 open |
|
974 |
" |
|
975 |
||
976 |
<resource: #canvas> |
|
977 |
||
16609 | 978 |
^ |
979 |
#(FullSpec |
|
980 |
name: windowSpec |
|
981 |
window: |
|
982 |
(WindowSpec |
|
983 |
label: 'ProcessMonitor' |
|
984 |
name: 'ProcessMonitor' |
|
985 |
min: (Point 10 10) |
|
986 |
bounds: (Rectangle 0 0 791 358) |
|
987 |
menu: mainMenu |
|
988 |
icon: defaultIcon |
|
989 |
) |
|
990 |
component: |
|
991 |
(SpecCollection |
|
992 |
collection: ( |
|
993 |
(MenuPanelSpec |
|
994 |
name: 'ToolBar1' |
|
995 |
layout: (LayoutFrame 0 0.0 0 0 0 1.0 32 0) |
|
996 |
menu: toolBarMainMenu |
|
997 |
textDefault: true |
|
998 |
) |
|
999 |
(DataSetSpec |
|
1000 |
name: 'ProcessTable' |
|
1001 |
layout: (LayoutFrame 0 0.0 32 0.0 0 1.0 -25 1) |
|
1002 |
model: selectedProcesses |
|
1003 |
menu: tableMenu |
|
1004 |
hasHorizontalScrollBar: true |
|
1005 |
hasVerticalScrollBar: true |
|
1006 |
dataList: processList |
|
1007 |
useIndex: false |
|
1008 |
doubleClickSelector: doubleClickedAt: |
|
1009 |
columnHolder: tableColumns |
|
1010 |
multipleSelectOk: true |
|
1011 |
verticalSpacing: 0 |
|
1012 |
postBuildCallback: postBuildProcessTable: |
|
1013 |
) |
|
1014 |
(LabelSpec |
|
1015 |
label: 'IRQ:' |
|
1016 |
name: 'Label1' |
|
1017 |
layout: (LayoutFrame 0 0 -24 1 50 0 0 1) |
|
1018 |
activeHelpKey: interruptCount |
|
1019 |
translateLabel: true |
|
1020 |
adjust: left |
|
1021 |
) |
|
1022 |
(LabelSpec |
|
1023 |
name: 'Label2' |
|
1024 |
layout: (LayoutFrame 50 0 -24 1 100 0 0 1) |
|
1025 |
activeHelpKey: interruptCount |
|
1026 |
translateLabel: true |
|
1027 |
labelChannel: interruptCountHolder |
|
1028 |
adjust: left |
|
1029 |
) |
|
1030 |
(LabelSpec |
|
1031 |
label: 'TMR:' |
|
1032 |
name: 'Label3' |
|
1033 |
layout: (LayoutFrame 100 0 -24 1 150 0 0 1) |
|
1034 |
activeHelpKey: timerActionCount |
|
1035 |
translateLabel: true |
|
1036 |
adjust: left |
|
1037 |
) |
|
1038 |
(LabelSpec |
|
1039 |
name: 'Label4' |
|
1040 |
layout: (LayoutFrame 150 0 -24 1 200 0 0 1) |
|
1041 |
activeHelpKey: timerActionCount |
|
1042 |
translateLabel: true |
|
1043 |
labelChannel: timerActionCountHolder |
|
1044 |
adjust: left |
|
1045 |
) |
|
1046 |
(LabelSpec |
|
1047 |
label: 'Update Interval (s):' |
|
1048 |
name: 'ContentsUpdateLabel' |
|
1049 |
layout: (LayoutFrame -593 1 -24 1 -402 1 0 1) |
|
1050 |
activeHelpKey: updateInterval |
|
1051 |
translateLabel: true |
|
1052 |
adjust: right |
|
1053 |
) |
|
1054 |
(ViewSpec |
|
1055 |
name: 'Box1' |
|
1056 |
layout: (LayoutFrame -396 1 -24 1 -306 1 0 1) |
|
1057 |
activeHelpKey: updateInterval |
|
1058 |
level: 0 |
|
1059 |
component: |
|
1060 |
(SpecCollection |
|
1061 |
collection: ( |
|
1062 |
(ArrowButtonSpec |
|
1063 |
name: 'ArrowButton3' |
|
1064 |
layout: (LayoutFrame 68 0 0 0 89 0 20 0) |
|
1065 |
translateLabel: true |
|
1066 |
model: increaseupdateContentsDelayTime |
|
1067 |
enableChannel: enableIncreaseContentsDelayTime |
|
1068 |
isTriggerOnDown: true |
|
1069 |
autoRepeat: true |
|
1070 |
actionValue: '' |
|
1071 |
direction: up |
|
1072 |
) |
|
1073 |
(InputFieldSpec |
|
1074 |
name: 'EntryField2' |
|
1075 |
layout: (LayoutFrame 22 0 0 0 66 0 22 0) |
|
1076 |
model: updateContentsDelayTimeHolder |
|
1077 |
acceptOnReturn: true |
|
1078 |
acceptOnTab: true |
|
1079 |
acceptOnLostFocus: true |
|
1080 |
acceptOnPointerLeave: false |
|
1081 |
) |
|
1082 |
(ArrowButtonSpec |
|
1083 |
name: 'ArrowButton4' |
|
1084 |
layout: (LayoutFrame 0 0 0 0 20 0 20 0) |
|
1085 |
translateLabel: true |
|
1086 |
model: decreaseupdateContentsDelayTime |
|
1087 |
enableChannel: enableDecreaseContentsDelayTime |
|
1088 |
isTriggerOnDown: true |
|
1089 |
autoRepeat: true |
|
1090 |
actionValue: '' |
|
1091 |
direction: down |
|
1092 |
) |
|
1093 |
) |
|
1094 |
||
1095 |
) |
|
1096 |
) |
|
1097 |
(LabelSpec |
|
1098 |
label: 'Processlist:' |
|
1099 |
name: 'ListUpdateLabel' |
|
1100 |
layout: (LayoutFrame -301 1 -24 1 -110 1 0 1) |
|
1101 |
activeHelpKey: listUpdateInterval |
|
1102 |
translateLabel: true |
|
1103 |
adjust: right |
|
1104 |
) |
|
1105 |
(ViewSpec |
|
1106 |
name: 'Box2' |
|
1107 |
layout: (LayoutFrame -103 1 -24 1 -16 1 0 1) |
|
1108 |
activeHelpKey: listUpdateInterval |
|
1109 |
level: 0 |
|
1110 |
component: |
|
1111 |
(SpecCollection |
|
1112 |
collection: ( |
|
1113 |
(ArrowButtonSpec |
|
1114 |
name: 'ArrowButton5' |
|
1115 |
layout: (LayoutFrame 68 0 0 0 89 0 20 0) |
|
1116 |
translateLabel: true |
|
1117 |
model: increaseupdateListDelayTime |
|
1118 |
enableChannel: enableIncreaseListDelayTime |
|
1119 |
isTriggerOnDown: true |
|
1120 |
autoRepeat: true |
|
1121 |
actionValue: '' |
|
1122 |
direction: up |
|
1123 |
) |
|
1124 |
(InputFieldSpec |
|
1125 |
name: 'EntryField3' |
|
1126 |
layout: (LayoutFrame 22 0 0 0 66 0 22 0) |
|
1127 |
model: updateListDelayTimeHolder |
|
1128 |
acceptOnReturn: true |
|
1129 |
acceptOnTab: true |
|
1130 |
acceptOnLostFocus: true |
|
1131 |
acceptOnPointerLeave: false |
|
1132 |
) |
|
1133 |
(ArrowButtonSpec |
|
1134 |
name: 'ArrowButton6' |
|
1135 |
layout: (LayoutFrame 0 0 0 0 20 0 20 0) |
|
1136 |
translateLabel: true |
|
1137 |
model: decreaseupdateListDelayTime |
|
1138 |
enableChannel: enableDecreaseListDelayTime |
|
1139 |
isTriggerOnDown: true |
|
1140 |
autoRepeat: true |
|
1141 |
actionValue: '' |
|
1142 |
direction: down |
|
1143 |
) |
|
1144 |
) |
|
1145 |
||
1146 |
) |
|
1147 |
keepSpaceForOSXResizeHandleH: true |
|
1148 |
) |
|
1149 |
) |
|
1150 |
||
1151 |
) |
|
1152 |
) |
|
4463 | 1153 |
! ! |
1154 |
||
1155 |
!ProcessMonitorV2 class methodsFor:'menu specs'! |
|
1156 |
||
7810 | 1157 |
applicationMenu |
1158 |
"This resource specification was automatically generated |
|
1159 |
by the MenuEditor of ST/X." |
|
1160 |
||
1161 |
"Do not manually edit this!! If it is corrupted, |
|
1162 |
the MenuEditor may not be able to read the specification." |
|
1163 |
||
1164 |
" |
|
1165 |
MenuEditor new openOnClass:ProcessMonitorV2 andSelector:#applicationMenu |
|
1166 |
(Menu new fromLiteralArrayEncoding:(ProcessMonitorV2 applicationMenu)) startUp |
|
1167 |
" |
|
1168 |
||
1169 |
<resource: #menu> |
|
1170 |
||
7811 | 1171 |
^ |
7810 | 1172 |
#(Menu |
7811 | 1173 |
( |
1174 |
(MenuItem |
|
1175 |
enabled: hasSelectionWithApplicationProcessHolder |
|
1176 |
label: 'Raise Applications Window' |
|
1177 |
itemValue: raiseApplicationWindow |
|
1178 |
translateLabel: true |
|
1179 |
) |
|
1180 |
(MenuItem |
|
1181 |
enabled: hasSelectionWithApplicationProcessHolder |
|
1182 |
label: 'Lower Applications Window' |
|
1183 |
itemValue: lowerApplicationWindow |
|
1184 |
translateLabel: true |
|
1185 |
) |
|
1186 |
(MenuItem |
|
1187 |
label: '-' |
|
1188 |
) |
|
1189 |
(MenuItem |
|
1190 |
enabled: hasSelectionWithApplicationProcessHolder |
|
1191 |
label: 'Close' |
|
1192 |
itemValue: closeApplication |
|
1193 |
translateLabel: true |
|
1194 |
) |
|
1195 |
) |
|
1196 |
nil |
|
1197 |
nil |
|
7810 | 1198 |
) |
1199 |
||
1200 |
"Modified: / 07-06-2007 / 12:44:21 / cg" |
|
1201 |
! |
|
1202 |
||
1203 |
debugMenu |
|
1204 |
"This resource specification was automatically generated |
|
1205 |
by the MenuEditor of ST/X." |
|
1206 |
||
1207 |
"Do not manually edit this!! If it is corrupted, |
|
1208 |
the MenuEditor may not be able to read the specification." |
|
1209 |
||
1210 |
" |
|
1211 |
MenuEditor new openOnClass:ProcessMonitorV2 andSelector:#debugMenu |
|
1212 |
(Menu new fromLiteralArrayEncoding:(ProcessMonitorV2 debugMenu)) startUp |
|
1213 |
" |
|
1214 |
||
1215 |
<resource: #menu> |
|
1216 |
||
7811 | 1217 |
^ |
7810 | 1218 |
#(Menu |
15753 | 1219 |
( |
1220 |
(MenuItem |
|
1221 |
enabled: hasSelectionHolder |
|
1222 |
label: 'Inspect Process' |
|
1223 |
itemValue: inspectSelection |
|
1224 |
translateLabel: true |
|
1225 |
) |
|
1226 |
(MenuItem |
|
1227 |
enabled: hasSelectionWithApplicationProcessHolder |
|
1228 |
label: 'Inspect Application' |
|
1229 |
itemValue: inspectApplication |
|
1230 |
translateLabel: true |
|
1231 |
) |
|
1232 |
(MenuItem |
|
1233 |
label: '-' |
|
1234 |
) |
|
1235 |
(MenuItem |
|
1236 |
enabled: hasSelectionWithApplicationProcessHolder |
|
1237 |
label: 'Browse Application' |
|
1238 |
itemValue: browseApplication |
|
1239 |
translateLabel: true |
|
1240 |
) |
|
1241 |
(MenuItem |
|
1242 |
label: '-' |
|
1243 |
isVisible: allowModificationsAndHasDebugger |
|
1244 |
) |
|
1245 |
(MenuItem |
|
1246 |
enabled: hasSelectionHolder |
|
1247 |
label: 'Debug' |
|
1248 |
itemValue: debugProcess |
|
1249 |
translateLabel: true |
|
1250 |
isVisible: allowModificationsAndHasDebugger |
|
1251 |
) |
|
1252 |
) |
|
1253 |
nil |
|
1254 |
nil |
|
7810 | 1255 |
) |
1256 |
||
1257 |
"Modified: / 07-06-2007 / 12:49:58 / cg" |
|
1258 |
! |
|
1259 |
||
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
1260 |
instrumentationMenu |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
1261 |
"This resource specification was automatically generated |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
1262 |
by the MenuEditor of ST/X." |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
1263 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
1264 |
"Do not manually edit this!! If it is corrupted, |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
1265 |
the MenuEditor may not be able to read the specification." |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
1266 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
1267 |
" |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
1268 |
MenuEditor new openOnClass:ProcessMonitorV2 andSelector:#instrumentationMenu |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
1269 |
(Menu new fromLiteralArrayEncoding:(ProcessMonitorV2 instrumentationMenu)) startUp |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
1270 |
" |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
1271 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
1272 |
<resource: #menu> |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
1273 |
|
15753 | 1274 |
^ |
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
1275 |
#(Menu |
15753 | 1276 |
( |
1277 |
(MenuItem |
|
1278 |
enabled: hasSelectionWithEnabledInstrumentationHolder |
|
1279 |
label: 'Disable' |
|
1280 |
itemValue: disableInstrumentation |
|
1281 |
translateLabel: true |
|
1282 |
) |
|
1283 |
(MenuItem |
|
1284 |
enabled: hasSelectionWithDisabledInstrumentationHolder |
|
1285 |
label: 'Enable' |
|
1286 |
itemValue: enableInstrumentation |
|
1287 |
translateLabel: true |
|
1288 |
) |
|
1289 |
) |
|
1290 |
nil |
|
1291 |
nil |
|
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
1292 |
) |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
1293 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
1294 |
|
4463 | 1295 |
mainMenu |
1296 |
"This resource specification was automatically generated |
|
1297 |
by the MenuEditor of ST/X." |
|
1298 |
||
1299 |
"Do not manually edit this!! If it is corrupted, |
|
1300 |
the MenuEditor may not be able to read the specification." |
|
1301 |
||
10849 | 1302 |
|
4463 | 1303 |
" |
1304 |
MenuEditor new openOnClass:ProcessMonitorV2 andSelector:#mainMenu |
|
1305 |
(Menu new fromLiteralArrayEncoding:(ProcessMonitorV2 mainMenu)) startUp |
|
1306 |
" |
|
1307 |
||
1308 |
<resource: #menu> |
|
1309 |
||
15753 | 1310 |
^ |
7416 | 1311 |
#(Menu |
15753 | 1312 |
( |
1313 |
(MenuItem |
|
1314 |
label: 'File' |
|
1315 |
translateLabel: true |
|
1316 |
submenu: |
|
1317 |
(Menu |
|
1318 |
( |
|
1319 |
(MenuItem |
|
1320 |
label: 'Start Timeslicing' |
|
1321 |
itemValue: startTimeslicing |
|
1322 |
translateLabel: true |
|
1323 |
isVisible: isNotTimeslicing |
|
1324 |
) |
|
1325 |
(MenuItem |
|
1326 |
label: 'Stop Timeslicing' |
|
1327 |
itemValue: stopTimeslicing |
|
1328 |
translateLabel: true |
|
1329 |
isVisible: isTimeslicing |
|
1330 |
) |
|
1331 |
(MenuItem |
|
1332 |
label: '-' |
|
1333 |
) |
|
1334 |
(MenuItem |
|
1335 |
label: 'Exit' |
|
1336 |
itemValue: closeRequest |
|
1337 |
translateLabel: true |
|
1338 |
) |
|
1339 |
) |
|
1340 |
nil |
|
1341 |
nil |
|
1342 |
) |
|
1343 |
) |
|
1344 |
(MenuItem |
|
1345 |
label: 'Process' |
|
1346 |
translateLabel: true |
|
1347 |
isVisible: allowModifications |
|
1348 |
submenuChannel: processMenu |
|
1349 |
) |
|
1350 |
(MenuItem |
|
1351 |
label: 'Application' |
|
1352 |
translateLabel: true |
|
1353 |
submenuChannel: applicationMenu |
|
1354 |
keepLinkedMenu: true |
|
1355 |
) |
|
1356 |
(MenuItem |
|
1357 |
label: 'Debug' |
|
1358 |
translateLabel: true |
|
1359 |
submenuChannel: debugMenu |
|
1360 |
keepLinkedMenu: true |
|
1361 |
) |
|
1362 |
(MenuItem |
|
1363 |
label: 'Instrumentation' |
|
1364 |
translateLabel: true |
|
1365 |
submenuChannel: instrumentationMenu |
|
1366 |
keepLinkedMenu: true |
|
1367 |
) |
|
1368 |
(MenuItem |
|
1369 |
label: 'View' |
|
1370 |
translateLabel: true |
|
1371 |
submenuChannel: viewDetailsMenuSpec |
|
1372 |
) |
|
1373 |
(MenuItem |
|
1374 |
label: 'MENU_Help' |
|
1375 |
startGroup: conditionalRight |
|
1376 |
translateLabel: true |
|
1377 |
submenu: |
|
1378 |
(Menu |
|
1379 |
( |
|
1380 |
(MenuItem |
|
1381 |
label: 'Documentation' |
|
1382 |
itemValue: openDocumentation |
|
1383 |
translateLabel: true |
|
1384 |
) |
|
1385 |
(MenuItem |
|
1386 |
label: '-' |
|
1387 |
) |
|
1388 |
(MenuItem |
|
1389 |
label: 'About this Application...' |
|
1390 |
itemValue: openAboutThisApplication |
|
1391 |
translateLabel: true |
|
1392 |
) |
|
1393 |
) |
|
1394 |
nil |
|
1395 |
nil |
|
1396 |
) |
|
1397 |
) |
|
1398 |
) |
|
1399 |
nil |
|
1400 |
nil |
|
4463 | 1401 |
) |
1402 |
! |
|
1403 |
||
7810 | 1404 |
processMenu |
1405 |
"This resource specification was automatically generated |
|
1406 |
by the MenuEditor of ST/X." |
|
1407 |
||
1408 |
"Do not manually edit this!! If it is corrupted, |
|
1409 |
the MenuEditor may not be able to read the specification." |
|
1410 |
||
12740 | 1411 |
|
7810 | 1412 |
" |
1413 |
MenuEditor new openOnClass:ProcessMonitorV2 andSelector:#processMenu |
|
1414 |
(Menu new fromLiteralArrayEncoding:(ProcessMonitorV2 processMenu)) startUp |
|
1415 |
" |
|
1416 |
||
1417 |
<resource: #menu> |
|
1418 |
||
15753 | 1419 |
^ |
7810 | 1420 |
#(Menu |
17270 | 1421 |
( |
1422 |
(MenuItem |
|
1423 |
enabled: hasSelectionWithStoppedProcessHolder |
|
1424 |
label: 'Resume' |
|
1425 |
itemValue: resumeProcess |
|
1426 |
) |
|
1427 |
(MenuItem |
|
1428 |
enabled: hasSelectionHolder |
|
1429 |
label: 'Suspend' |
|
1430 |
itemValue: suspendProcess |
|
1431 |
) |
|
1432 |
(MenuItem |
|
1433 |
enabled: hasSelectionHolder |
|
1434 |
label: 'Stop' |
|
1435 |
itemValue: stopProcess |
|
1436 |
) |
|
1437 |
(MenuItem |
|
1438 |
label: '-' |
|
1439 |
) |
|
1440 |
(MenuItem |
|
1441 |
enabled: hasSelectionHolder |
|
1442 |
label: 'Abort' |
|
1443 |
itemValue: abortProcess |
|
1444 |
) |
|
1445 |
(MenuItem |
|
1446 |
enabled: hasSelectionHolder |
|
18475 | 1447 |
label: 'Terminate Process' |
17270 | 1448 |
itemValue: terminateProcess |
1449 |
) |
|
1450 |
(MenuItem |
|
1451 |
enabled: hasSelectionHolder |
|
1452 |
label: 'Hard Terminate' |
|
1453 |
itemValue: hardTerminateProcess |
|
1454 |
) |
|
1455 |
(MenuItem |
|
1456 |
enabled: hasSelectionHolder |
|
1457 |
label: 'Terminate Group' |
|
1458 |
itemValue: terminateProcessGroup |
|
1459 |
) |
|
1460 |
(MenuItem |
|
1461 |
enabled: hasSelectionHolder |
|
1462 |
label: 'Terminate All Like This' |
|
1463 |
itemValue: terminateAllLikeThis |
|
1464 |
) |
|
1465 |
(MenuItem |
|
1466 |
enabled: selectionRestartable |
|
1467 |
label: 'Restart' |
|
1468 |
itemValue: restartProcess |
|
1469 |
) |
|
1470 |
(MenuItem |
|
1471 |
label: '-' |
|
1472 |
) |
|
1473 |
(MenuItem |
|
1474 |
enabled: hasSelectionHolder |
|
1475 |
label: 'Raise Prio' |
|
1476 |
itemValue: raisePrio |
|
1477 |
) |
|
1478 |
(MenuItem |
|
1479 |
enabled: hasSelectionHolder |
|
1480 |
label: 'Lower Prio' |
|
1481 |
itemValue: lowerPrio |
|
1482 |
) |
|
1483 |
(MenuItem |
|
1484 |
enabled: hasSelectionHolder |
|
1485 |
label: 'Set Prio Range...' |
|
1486 |
itemValue: setPrioRange |
|
1487 |
) |
|
1488 |
(MenuItem |
|
1489 |
label: '-' |
|
1490 |
) |
|
1491 |
(MenuItem |
|
1492 |
label: 'Find by View' |
|
1493 |
itemValue: findProcessByView |
|
1494 |
) |
|
1495 |
) |
|
1496 |
nil |
|
1497 |
nil |
|
7810 | 1498 |
) |
1499 |
! |
|
1500 |
||
4463 | 1501 |
tableMenu |
1502 |
"This resource specification was automatically generated |
|
1503 |
by the MenuEditor of ST/X." |
|
1504 |
||
1505 |
"Do not manually edit this!! If it is corrupted, |
|
1506 |
the MenuEditor may not be able to read the specification." |
|
1507 |
||
1508 |
" |
|
1509 |
MenuEditor new openOnClass:ProcessMonitorV2 andSelector:#tableMenu |
|
1510 |
(Menu new fromLiteralArrayEncoding:(ProcessMonitorV2 tableMenu)) startUp |
|
1511 |
" |
|
1512 |
||
1513 |
<resource: #menu> |
|
1514 |
||
7811 | 1515 |
^ |
4463 | 1516 |
#(#Menu |
17271 | 1517 |
#( |
1518 |
#(#MenuItem |
|
1519 |
#enabled: #hasSelectionHolder |
|
1520 |
#label: 'Debug' |
|
1521 |
#itemValue: #debugProcess |
|
1522 |
) |
|
1523 |
#(#MenuItem |
|
1524 |
#enabled: #hasSelectionHolder |
|
1525 |
#label: 'Inspect' |
|
1526 |
#itemValue: #inspectSelection |
|
1527 |
) |
|
1528 |
#(#MenuItem |
|
1529 |
#enabled: #hasSelectionWithApplicationProcessHolder |
|
1530 |
#label: 'Inspect Application' |
|
1531 |
#itemValue: #inspectApplication |
|
1532 |
) |
|
1533 |
#(#MenuItem |
|
1534 |
#enabled: #hasSelectionWithApplicationProcessHolder |
|
1535 |
#label: 'Browse Application' |
|
1536 |
#itemValue: #browseApplication |
|
1537 |
) |
|
1538 |
#(#MenuItem |
|
1539 |
#label: '-' |
|
1540 |
) |
|
1541 |
#(#MenuItem |
|
1542 |
#enabled: #hasSelectionWithStoppedProcessHolder |
|
1543 |
#label: 'Resume' |
|
1544 |
#itemValue: #resumeProcess |
|
1545 |
) |
|
1546 |
#(#MenuItem |
|
1547 |
#enabled: #hasSelectionHolder |
|
1548 |
#label: 'Suspend' |
|
1549 |
#itemValue: #suspendProcess |
|
1550 |
) |
|
1551 |
#(#MenuItem |
|
1552 |
#enabled: #hasSelectionHolder |
|
1553 |
#label: 'Stop' |
|
1554 |
#itemValue: #stopProcess |
|
1555 |
) |
|
1556 |
#(#MenuItem |
|
1557 |
#label: '-' |
|
1558 |
) |
|
1559 |
#(#MenuItem |
|
1560 |
#enabled: #hasSelectionHolder |
|
1561 |
#label: 'Abort' |
|
1562 |
#itemValue: #abortProcess |
|
1563 |
) |
|
1564 |
#(#MenuItem |
|
1565 |
#enabled: #hasSelectionHolder |
|
1566 |
#label: 'Terminate' |
|
1567 |
#itemValue: #terminateProcess |
|
1568 |
) |
|
1569 |
#(#MenuItem |
|
1570 |
#enabled: #hasSelectionHolder |
|
1571 |
#label: 'Hard Terminate' |
|
1572 |
#itemValue: #hardTerminateProcess |
|
1573 |
) |
|
1574 |
#(#MenuItem |
|
1575 |
#enabled: #hasSelectionHolder |
|
1576 |
#label: 'Terminate Group' |
|
1577 |
#itemValue: #terminateProcessGroup |
|
1578 |
) |
|
1579 |
(MenuItem |
|
1580 |
enabled: hasSelectionHolder |
|
1581 |
label: 'Terminate All Like This' |
|
1582 |
itemValue: terminateAllLikeThis |
|
1583 |
) |
|
1584 |
#(#MenuItem |
|
1585 |
#enabled: #selectionRestartable |
|
1586 |
#label: 'Restart' |
|
1587 |
#itemValue: #restartProcess |
|
1588 |
) |
|
1589 |
#(#MenuItem |
|
1590 |
#label: '-' |
|
1591 |
) |
|
1592 |
#(#MenuItem |
|
1593 |
#enabled: #hasSelectionHolder |
|
1594 |
#label: 'Raise Prio' |
|
1595 |
#itemValue: #raisePrio |
|
1596 |
) |
|
1597 |
#(#MenuItem |
|
1598 |
#enabled: #hasSelectionHolder |
|
1599 |
#label: 'Lower Prio' |
|
1600 |
#itemValue: #lowerPrio |
|
1601 |
) |
|
1602 |
) |
|
1603 |
nil |
|
1604 |
nil |
|
4463 | 1605 |
) |
7809 | 1606 |
|
7810 | 1607 |
"Modified: / 07-06-2007 / 12:49:47 / cg" |
4463 | 1608 |
! |
1609 |
||
1610 |
toolBarMainMenu |
|
1611 |
"This resource specification was automatically generated |
|
1612 |
by the MenuEditor of ST/X." |
|
1613 |
||
1614 |
"Do not manually edit this!! If it is corrupted, |
|
1615 |
the MenuEditor may not be able to read the specification." |
|
1616 |
||
15297 | 1617 |
|
4463 | 1618 |
" |
1619 |
MenuEditor new openOnClass:ProcessMonitorV2 andSelector:#toolBarMainMenu |
|
1620 |
(Menu new fromLiteralArrayEncoding:(ProcessMonitorV2 toolBarMainMenu)) startUp |
|
1621 |
" |
|
1622 |
||
1623 |
<resource: #menu> |
|
1624 |
||
15753 | 1625 |
^ |
6290 | 1626 |
#(Menu |
15753 | 1627 |
( |
1628 |
(MenuItem |
|
1629 |
activeHelpKey: Inspect |
|
1630 |
enabled: hasSelectionHolder |
|
1631 |
label: 'Inspect' |
|
1632 |
itemValue: inspectSelection |
|
1633 |
isButton: true |
|
1634 |
isVisible: allowModifications |
|
1635 |
labelImage: (ResourceRetriever ProcessMonitorV2 processInspect22x22Icon) |
|
1636 |
) |
|
1637 |
(MenuItem |
|
1638 |
activeHelpKey: Debug |
|
1639 |
enabled: hasSelectionHolder |
|
1640 |
label: 'Debug' |
|
1641 |
itemValue: debugProcess |
|
1642 |
isButton: true |
|
1643 |
isVisible: allowModificationsAndHasDebugger |
|
1644 |
labelImage: (ResourceRetriever ProcessMonitorV2 processDebug22x22Icon) |
|
1645 |
) |
|
1646 |
(MenuItem |
|
1647 |
activeHelpKey: RaiseWindow |
|
1648 |
enabled: hasSelectionWithApplicationProcessHolder |
|
1649 |
label: 'Raise Applications Window' |
|
1650 |
itemValue: raiseApplicationWindow |
|
1651 |
isButton: true |
|
1652 |
labelImage: (ResourceRetriever ProcessMonitorV2 raiseWindow22x22Icon) |
|
1653 |
) |
|
1654 |
(MenuItem |
|
1655 |
label: 'Find Process by View' |
|
1656 |
itemValue: findProcessByView |
|
1657 |
isButton: true |
|
1658 |
labelImage: (ResourceRetriever ToolbarIconLibrary pickWindowIcon) |
|
1659 |
) |
|
1660 |
(MenuItem |
|
1661 |
label: '-' |
|
1662 |
isVisible: allowModifications |
|
1663 |
) |
|
1664 |
(MenuItem |
|
1665 |
activeHelpKey: Resume |
|
1666 |
enabled: hasSelectionWithStoppedProcessHolder |
|
1667 |
label: 'Resume' |
|
1668 |
itemValue: resumeProcess |
|
1669 |
isButton: true |
|
1670 |
isVisible: allowModifications |
|
1671 |
labelImage: (ResourceRetriever ProcessMonitorV2 processResume22x22Icon) |
|
1672 |
) |
|
1673 |
(MenuItem |
|
1674 |
activeHelpKey: Stop |
|
1675 |
enabled: hasSelectionHolder |
|
1676 |
label: 'Stop' |
|
1677 |
itemValue: stopProcess |
|
1678 |
isButton: true |
|
1679 |
isVisible: allowModifications |
|
1680 |
labelImage: (ResourceRetriever ProcessMonitorV2 processStop22x22Icon) |
|
1681 |
) |
|
1682 |
(MenuItem |
|
1683 |
activeHelpKey: Abort |
|
1684 |
enabled: hasSelectionHolder |
|
1685 |
label: 'Abort' |
|
1686 |
itemValue: abortProcess |
|
1687 |
isButton: true |
|
1688 |
isVisible: allowModifications |
|
1689 |
labelImage: (ResourceRetriever ProcessMonitorV2 processAbort22x22Icon) |
|
1690 |
) |
|
1691 |
(MenuItem |
|
1692 |
label: '-' |
|
1693 |
isVisible: allowModifications |
|
1694 |
) |
|
1695 |
(MenuItem |
|
1696 |
activeHelpKey: Terminate |
|
1697 |
enabled: hasSelectionHolder |
|
1698 |
label: 'Terminate' |
|
1699 |
itemValue: terminateProcess |
|
1700 |
isButton: true |
|
1701 |
isVisible: allowModifications |
|
1702 |
labelImage: (ResourceRetriever ProcessMonitorV2 processTerminate22x22Icon) |
|
1703 |
) |
|
1704 |
(MenuItem |
|
1705 |
activeHelpKey: #'Terminate Group' |
|
1706 |
enabled: hasSelectionHolder |
|
1707 |
label: 'Terminate Group' |
|
1708 |
itemValue: terminateProcessGroup |
|
1709 |
isButton: true |
|
1710 |
isVisible: allowModifications |
|
1711 |
labelImage: (ResourceRetriever ProcessMonitorV2 processTerminateGroup22x22Icon) |
|
1712 |
) |
|
1713 |
(MenuItem |
|
1714 |
activeHelpKey: Restart |
|
1715 |
enabled: selectionRestartable |
|
1716 |
label: 'Restart' |
|
1717 |
itemValue: restartProcess |
|
1718 |
isButton: true |
|
1719 |
isVisible: allowModifications |
|
1720 |
labelImage: (ResourceRetriever ProcessMonitorV2 processRestart22x22Icon) |
|
1721 |
) |
|
1722 |
(MenuItem |
|
1723 |
label: '-' |
|
1724 |
isVisible: allowModifications |
|
1725 |
) |
|
1726 |
(MenuItem |
|
1727 |
activeHelpKey: #'Lower Prio' |
|
1728 |
enabled: hasSelectionHolder |
|
1729 |
label: 'Lower Prio' |
|
1730 |
itemValue: lowerPrio |
|
1731 |
isButton: true |
|
1732 |
isVisible: allowModifications |
|
1733 |
labelImage: (ResourceRetriever ProcessMonitorV2 processLowerPrio22x22Icon) |
|
1734 |
) |
|
1735 |
(MenuItem |
|
1736 |
activeHelpKey: #'Raise Prio' |
|
1737 |
enabled: hasSelectionHolder |
|
1738 |
label: 'Raise Prio' |
|
1739 |
itemValue: raisePrio |
|
1740 |
isButton: true |
|
1741 |
isVisible: allowModifications |
|
1742 |
labelImage: (ResourceRetriever ProcessMonitorV2 processRaisePrio22x22Icon) |
|
1743 |
) |
|
1744 |
(MenuItem |
|
1745 |
label: '' |
|
1746 |
isVisible: allowModifications |
|
1747 |
) |
|
1748 |
(MenuItem |
|
1749 |
activeHelpKey: #'Update Process List' |
|
1750 |
label: 'Update' |
|
1751 |
itemValue: updateList |
|
1752 |
isButton: true |
|
1753 |
startGroup: right |
|
1754 |
labelImage: (ResourceRetriever ToolbarIconLibrary reloadIcon) |
|
1755 |
) |
|
1756 |
(MenuItem |
|
1757 |
activeHelpKey: Details |
|
1758 |
label: 'View Details' |
|
1759 |
isButton: true |
|
1760 |
startGroup: right |
|
1761 |
submenuChannel: viewDetailsMenuSpec |
|
1762 |
labelImage: (ResourceRetriever ToolbarIconLibrary viewDetailsIcon) |
|
1763 |
) |
|
1764 |
) |
|
1765 |
nil |
|
1766 |
nil |
|
4463 | 1767 |
) |
1768 |
! |
|
1769 |
||
1770 |
viewDetailsMenuSpec |
|
1771 |
"This resource specification was automatically generated |
|
1772 |
by the MenuEditor of ST/X." |
|
1773 |
||
1774 |
"Do not manually edit this!! If it is corrupted, |
|
1775 |
the MenuEditor may not be able to read the specification." |
|
1776 |
||
11999
a62eb60fd1aa
changed: #viewDetailsMenuSpec
Claus Gittinger <cg@exept.de>
parents:
11997
diff
changeset
|
1777 |
|
4463 | 1778 |
" |
1779 |
MenuEditor new openOnClass:ProcessMonitorV2 andSelector:#viewDetailsMenuSpec |
|
1780 |
(Menu new fromLiteralArrayEncoding:(ProcessMonitorV2 viewDetailsMenuSpec)) startUp |
|
1781 |
" |
|
1782 |
||
1783 |
<resource: #menu> |
|
1784 |
||
15753 | 1785 |
^ |
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
1786 |
#(Menu |
16609 | 1787 |
( |
1788 |
(MenuItem |
|
1789 |
label: 'Id' |
|
1790 |
hideMenuOnActivated: false |
|
1791 |
indication: showProcessId |
|
1792 |
) |
|
1793 |
(MenuItem |
|
1794 |
label: 'Group' |
|
1795 |
hideMenuOnActivated: false |
|
1796 |
indication: showGroup |
|
1797 |
) |
|
1798 |
(MenuItem |
|
1799 |
label: 'Instrumentation' |
|
1800 |
hideMenuOnActivated: false |
|
1801 |
indication: showInstrumentation |
|
1802 |
) |
|
1803 |
(MenuItem |
|
1804 |
label: 'State' |
|
1805 |
hideMenuOnActivated: false |
|
1806 |
indication: showState |
|
1807 |
) |
|
1808 |
(MenuItem |
|
1809 |
label: 'Prio' |
|
1810 |
hideMenuOnActivated: false |
|
1811 |
indication: showPrio |
|
1812 |
) |
|
1813 |
(MenuItem |
|
1814 |
label: 'Used Stack' |
|
1815 |
hideMenuOnActivated: false |
|
1816 |
indication: showUsedStack |
|
1817 |
) |
|
1818 |
(MenuItem |
|
1819 |
label: 'Total Stack' |
|
1820 |
hideMenuOnActivated: false |
|
1821 |
indication: showTotalStack |
|
1822 |
) |
|
1823 |
(MenuItem |
|
1824 |
label: 'Current-Segment' |
|
1825 |
hideMenuOnActivated: false |
|
1826 |
indication: showCurrentSegment |
|
1827 |
) |
|
1828 |
(MenuItem |
|
1829 |
label: 'Switch' |
|
1830 |
hideMenuOnActivated: false |
|
1831 |
indication: showSwitch |
|
1832 |
) |
|
1833 |
(MenuItem |
|
1834 |
label: 'Where' |
|
1835 |
hideMenuOnActivated: false |
|
1836 |
indication: showWhere |
|
1837 |
) |
|
1838 |
(MenuItem |
|
1839 |
label: 'Application' |
|
1840 |
hideMenuOnActivated: false |
|
1841 |
indication: showApplication |
|
1842 |
) |
|
1843 |
(MenuItem |
|
1844 |
label: 'Window Title' |
|
1845 |
hideMenuOnActivated: false |
|
1846 |
indication: showWindowTitle |
|
1847 |
) |
|
1848 |
(MenuItem |
|
17300 | 1849 |
label: 'Start Time' |
1850 |
hideMenuOnActivated: false |
|
1851 |
indication: showStartTime |
|
1852 |
) |
|
1853 |
(MenuItem |
|
16609 | 1854 |
label: '-' |
1855 |
) |
|
1856 |
(MenuItem |
|
1857 |
label: 'Show Dead Processes' |
|
1858 |
indication: showDeadHolder |
|
1859 |
) |
|
1860 |
(MenuItem |
|
1861 |
label: '-' |
|
1862 |
) |
|
1863 |
(MenuItem |
|
1864 |
label: 'Update' |
|
1865 |
itemValue: updateView |
|
1866 |
) |
|
1867 |
) |
|
1868 |
nil |
|
1869 |
nil |
|
4463 | 1870 |
) |
1871 |
! ! |
|
1872 |
||
1873 |
!ProcessMonitorV2 class methodsFor:'tableColumns specs'! |
|
1874 |
||
1875 |
tableColumns |
|
1876 |
"This resource specification was automatically generated |
|
1877 |
by the DataSetBuilder of ST/X." |
|
1878 |
||
1879 |
"Do not manually edit this!! If it is corrupted, |
|
1880 |
the DataSetBuilder may not be able to read the specification." |
|
1881 |
||
1882 |
" |
|
1883 |
DataSetBuilder new openOnClass:ProcessMonitorV2 andSelector:#tableColumns |
|
1884 |
" |
|
1885 |
||
1886 |
<resource: #tableColumns> |
|
1887 |
||
1888 |
^#( |
|
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
1889 |
(DataSetColumnSpec |
17300 | 1890 |
label: 'Id' |
1891 |
id: id |
|
1892 |
labelAlignment: left |
|
1893 |
activeHelpKeyForLabel: 'processId' |
|
1894 |
labelButtonType: Button |
|
1895 |
labelActionSelector: sortProcessListBy: |
|
1896 |
labelActionArgument: 'idVal' |
|
17623 | 1897 |
width: 65 |
17300 | 1898 |
height: heightOfFirstRow |
1899 |
type: number |
|
1900 |
model: processId |
|
1901 |
canSelect: false |
|
1902 |
showRowSeparator: false |
|
1903 |
showColSeparator: false |
|
4463 | 1904 |
) |
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
1905 |
(DataSetColumnSpec |
17300 | 1906 |
label: 'Group' |
1907 |
id: group |
|
1908 |
labelAlignment: left |
|
1909 |
activeHelpKeyForLabel: 'processGroup' |
|
1910 |
labelButtonType: Button |
|
1911 |
labelActionSelector: sortProcessListBy: |
|
1912 |
labelActionArgument: 'groupVal' |
|
17623 | 1913 |
width: 65 |
17300 | 1914 |
height: heightOfFirstRow |
1915 |
model: processGroup |
|
1916 |
canSelect: false |
|
1917 |
showRowSeparator: false |
|
1918 |
showColSeparator: false |
|
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
1919 |
) |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
1920 |
(DataSetColumnSpec |
17300 | 1921 |
label: 'Name' |
1922 |
id: name |
|
1923 |
labelAlignment: left |
|
1924 |
activeHelpKeyForLabel: 'processName' |
|
1925 |
labelButtonType: Button |
|
1926 |
labelActionSelector: sortProcessListBy: |
|
1927 |
labelActionArgument: 'processName' |
|
1928 |
width: 200 |
|
1929 |
height: heightOfFirstRow |
|
1930 |
model: processName |
|
1931 |
canSelect: false |
|
1932 |
showRowSeparator: false |
|
1933 |
showColSeparator: false |
|
4463 | 1934 |
) |
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
1935 |
(DataSetColumnSpec |
17300 | 1936 |
label: 'Instr.' |
1937 |
id: instrumentation |
|
1938 |
labelAlignment: left |
|
1939 |
activeHelpKeyForLabel: 'processInstrumentation' |
|
1940 |
labelButtonType: Button |
|
1941 |
labelActionSelector: sortProcessListBy: |
|
1942 |
labelActionArgument: 'processInstrumentation' |
|
1943 |
width: 50 |
|
1944 |
height: heightOfFirstRow |
|
1945 |
model: processInstrumentation |
|
1946 |
menuFromApplication: false |
|
1947 |
canSelect: false |
|
1948 |
showRowSeparator: false |
|
1949 |
showColSeparator: false |
|
1950 |
) |
|
1951 |
(DataSetColumnSpec |
|
1952 |
label: '' |
|
1953 |
id: active |
|
1954 |
activeHelpKeyForLabel: 'processWasActive' |
|
1955 |
labelButtonType: Button |
|
1956 |
labelActionSelector: sortProcessListBy: |
|
1957 |
labelActionArgument: 'processActive' |
|
17623 | 1958 |
width: 14 |
17300 | 1959 |
height: 5 |
1960 |
model: processActive |
|
1961 |
menuFromApplication: false |
|
1962 |
canSelect: false |
|
1963 |
showRowSeparator: false |
|
1964 |
showColSeparator: false |
|
4576
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
1965 |
) |
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
1966 |
(DataSetColumnSpec |
17300 | 1967 |
label: 'State' |
1968 |
id: state |
|
1969 |
labelAlignment: left |
|
1970 |
activeHelpKeyForLabel: 'processState' |
|
1971 |
labelButtonType: Button |
|
1972 |
labelActionSelector: sortProcessListBy: |
|
1973 |
labelActionArgument: 'processState' |
|
1974 |
width: 100 |
|
1975 |
height: heightOfFirstRow |
|
1976 |
model: processState |
|
1977 |
menuFromApplication: false |
|
1978 |
canSelect: false |
|
1979 |
showRowSeparator: false |
|
1980 |
showColSeparator: false |
|
9526
2825b947679d
comment/format in: #fillItemInformationIn:
Claus Gittinger <cg@exept.de>
parents:
9480
diff
changeset
|
1981 |
) |
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
1982 |
(DataSetColumnSpec |
17300 | 1983 |
label: 'Prio' |
1984 |
id: prio |
|
1985 |
labelAlignment: left |
|
1986 |
activeHelpKeyForLabel: 'processPriority' |
|
1987 |
labelButtonType: Button |
|
1988 |
labelActionSelector: sortProcessListBy: |
|
1989 |
labelActionArgument: 'prioVal' |
|
17623 | 1990 |
width: 60 |
17300 | 1991 |
height: heightOfFirstRow |
1992 |
model: processPrio |
|
1993 |
menuFromApplication: false |
|
1994 |
canSelect: false |
|
1995 |
showRowSeparator: false |
|
1996 |
showColSeparator: false |
|
4463 | 1997 |
) |
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
1998 |
(DataSetColumnSpec |
17300 | 1999 |
label: 'Used Stack' |
2000 |
id: usedStack |
|
2001 |
labelAlignment: left |
|
2002 |
activeHelpKeyForLabel: 'processUsedStack' |
|
2003 |
labelButtonType: Button |
|
2004 |
labelActionSelector: sortProcessListBy: |
|
2005 |
labelActionArgument: 'processUsedStack' |
|
2006 |
columnAlignment: right |
|
2007 |
width: 75 |
|
2008 |
height: heightOfFirstRow |
|
2009 |
type: number |
|
2010 |
model: processUsedStack |
|
2011 |
menuFromApplication: false |
|
2012 |
canSelect: false |
|
2013 |
showRowSeparator: false |
|
2014 |
showColSeparator: false |
|
4463 | 2015 |
) |
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2016 |
(DataSetColumnSpec |
17300 | 2017 |
label: 'Total Stack' |
2018 |
id: totalStack |
|
2019 |
labelAlignment: left |
|
2020 |
activeHelpKeyForLabel: 'processTotalStack' |
|
2021 |
labelButtonType: Button |
|
2022 |
labelActionSelector: sortProcessListBy: |
|
2023 |
labelActionArgument: 'processTotalStack' |
|
2024 |
columnAlignment: right |
|
2025 |
width: 75 |
|
2026 |
height: heightOfFirstRow |
|
2027 |
model: processTotalStack |
|
2028 |
menuFromApplication: false |
|
2029 |
canSelect: false |
|
2030 |
showRowSeparator: false |
|
2031 |
showColSeparator: false |
|
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2032 |
) |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2033 |
(DataSetColumnSpec |
17300 | 2034 |
label: 'Current-Segment' |
2035 |
id: currentSegment |
|
2036 |
labelAlignment: left |
|
2037 |
activeHelpKeyForLabel: 'processCurrentSegment' |
|
2038 |
labelButtonType: Button |
|
2039 |
labelActionSelector: sortProcessListBy: |
|
2040 |
labelActionArgument: 'processCurrentSegment' |
|
2041 |
width: 110 |
|
2042 |
height: heightOfFirstRow |
|
2043 |
model: processCurrentSegment |
|
2044 |
canSelect: false |
|
2045 |
showRowSeparator: false |
|
2046 |
showColSeparator: false |
|
4463 | 2047 |
) |
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2048 |
(DataSetColumnSpec |
17300 | 2049 |
label: 'Switch' |
2050 |
id: switch |
|
2051 |
labelAlignment: left |
|
2052 |
activeHelpKeyForLabel: 'processSwitch' |
|
2053 |
labelButtonType: Button |
|
2054 |
labelActionSelector: sortProcessListBy: |
|
2055 |
labelActionArgument: 'processSwitch' |
|
2056 |
columnAlignment: right |
|
2057 |
width: 55 |
|
2058 |
height: heightOfFirstRow |
|
2059 |
type: number |
|
2060 |
model: processSwitch |
|
2061 |
canSelect: false |
|
2062 |
showRowSeparator: false |
|
2063 |
showColSeparator: false |
|
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2064 |
) |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2065 |
(DataSetColumnSpec |
17300 | 2066 |
label: 'Where' |
2067 |
id: where |
|
2068 |
labelAlignment: left |
|
2069 |
activeHelpKeyForLabel: 'processWhere' |
|
2070 |
labelButtonType: Button |
|
2071 |
labelActionSelector: sortProcessListBy: |
|
2072 |
labelActionArgument: 'processWhere' |
|
2073 |
height: heightOfFirstRow |
|
2074 |
model: processWhere |
|
2075 |
menuFromApplication: false |
|
2076 |
canSelect: false |
|
2077 |
showRowSeparator: false |
|
2078 |
showColSeparator: false |
|
4463 | 2079 |
) |
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2080 |
(DataSetColumnSpec |
17300 | 2081 |
label: 'Application' |
2082 |
id: application |
|
2083 |
labelAlignment: left |
|
2084 |
activeHelpKeyForLabel: 'processApplication' |
|
2085 |
labelButtonType: Button |
|
2086 |
labelActionSelector: sortProcessListBy: |
|
2087 |
labelActionArgument: 'processApplication' |
|
2088 |
height: heightOfFirstRow |
|
2089 |
model: processApplication |
|
2090 |
menuFromApplication: false |
|
2091 |
canSelect: false |
|
2092 |
showRowSeparator: false |
|
2093 |
showColSeparator: false |
|
4463 | 2094 |
) |
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2095 |
(DataSetColumnSpec |
17300 | 2096 |
label: 'Window Title' |
2097 |
id: windowTitle |
|
2098 |
labelAlignment: left |
|
2099 |
activeHelpKeyForLabel: 'processWindowTitle' |
|
2100 |
labelButtonType: Button |
|
2101 |
labelActionSelector: sortProcessListBy: |
|
2102 |
labelActionArgument: 'processWindowTitle' |
|
2103 |
height: heightOfFirstRow |
|
2104 |
model: processWindowTitle |
|
2105 |
menuFromApplication: false |
|
2106 |
canSelect: false |
|
2107 |
showRowSeparator: false |
|
2108 |
showColSeparator: false |
|
2109 |
) |
|
2110 |
(DataSetColumnSpec |
|
2111 |
label: 'Start Time' |
|
2112 |
id: startTime |
|
2113 |
activeHelpKeyForLabel: 'processStartTime' |
|
2114 |
labelButtonType: Button |
|
2115 |
labelActionSelector: sortProcessListBy: |
|
2116 |
labelActionArgument: 'processStartTime' |
|
2117 |
height: heightOfFirstRow |
|
2118 |
type: timestamp |
|
2119 |
model: processStartTime |
|
2120 |
formatString: '%(day)-%(shortMonthName) %h:%m:%s' |
|
2121 |
menuFromApplication: false |
|
2122 |
showRowSeparator: false |
|
2123 |
showColSeparator: false |
|
4463 | 2124 |
) |
2125 |
) |
|
17623 | 2126 |
|
2127 |
"Modified: / 21-08-2017 / 10:51:38 / cg" |
|
4463 | 2128 |
! ! |
2129 |
||
4570
3dc36c259ca1
show dead processes have to be enabled after fix remove dead processes
penk
parents:
4568
diff
changeset
|
2130 |
!ProcessMonitorV2 methodsFor:'accessing'! |
3dc36c259ca1
show dead processes have to be enabled after fix remove dead processes
penk
parents:
4568
diff
changeset
|
2131 |
|
3dc36c259ca1
show dead processes have to be enabled after fix remove dead processes
penk
parents:
4568
diff
changeset
|
2132 |
visibleBlock |
3dc36c259ca1
show dead processes have to be enabled after fix remove dead processes
penk
parents:
4568
diff
changeset
|
2133 |
^ visibleBlock |
3dc36c259ca1
show dead processes have to be enabled after fix remove dead processes
penk
parents:
4568
diff
changeset
|
2134 |
! |
3dc36c259ca1
show dead processes have to be enabled after fix remove dead processes
penk
parents:
4568
diff
changeset
|
2135 |
|
8651 | 2136 |
visibleBlock:aProcessVisibleFilterBlock |
2137 |
visibleBlock := aProcessVisibleFilterBlock. |
|
4570
3dc36c259ca1
show dead processes have to be enabled after fix remove dead processes
penk
parents:
4568
diff
changeset
|
2138 |
! ! |
3dc36c259ca1
show dead processes have to be enabled after fix remove dead processes
penk
parents:
4568
diff
changeset
|
2139 |
|
4463 | 2140 |
!ProcessMonitorV2 methodsFor:'actions'! |
2141 |
||
4498 | 2142 |
changeSelectionTo:aSelection |
8408 | 2143 |
| newSelection | |
4498 | 2144 |
|
2145 |
aSelection notNil ifTrue:[ |
|
15753 | 2146 |
newSelection := OrderedCollection new. |
2147 |
aSelection do:[:processItem | |
|
2148 |
| index | |
|
2149 |
||
2150 |
index := processList findFirst:[:anItem | (anItem processInstance == processItem processInstance)]. |
|
2151 |
index ~~ 0 ifTrue:[ |
|
2152 |
newSelection add:(processList at:index). |
|
2153 |
]. |
|
2154 |
]. |
|
2155 |
self selectedProcesses value:newSelection |
|
4498 | 2156 |
]. |
2157 |
! |
|
2158 |
||
4576
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
2159 |
changeSelectionToProcesses:aProcessList |
4498 | 2160 |
|
2161 |
aProcessList notNil ifTrue:[ |
|
7811 | 2162 |
| newSelection | |
2163 |
newSelection := OrderedCollection new. |
|
2164 |
aProcessList do:[:aProcess | |
|
2165 |
| index | |
|
2166 |
index := processList findFirst:[:anItem | (anItem processInstance == aProcess)]. |
|
2167 |
index ~~ 0 ifTrue:[ |
|
2168 |
newSelection add:(processList at:index). |
|
2169 |
]. |
|
2170 |
]. |
|
2171 |
self selectedProcesses value:newSelection |
|
4498 | 2172 |
]. |
2173 |
! |
|
2174 |
||
2175 |
decreaseupdateContentsDelayTime |
|
16609 | 2176 |
updateDelay := (self scaledUpdateContentsDelayTime - 0.1) asFixedPoint:1. |
2177 |
self updateContentsDelayTimeHolder value:updateDelay. |
|
4498 | 2178 |
self evaluateEnableInDecreaseButtons. |
2179 |
! |
|
2180 |
||
2181 |
decreaseupdateListDelayTime |
|
16609 | 2182 |
listUpdateDelay := (self scaledUpdateListDelayTime - 0.1) asFixedPoint:1. |
2183 |
self updateListDelayTimeHolder value:listUpdateDelay. |
|
4498 | 2184 |
self evaluateEnableInDecreaseButtons. |
2185 |
! |
|
2186 |
||
4463 | 2187 |
doubleClickedAt:anItemIndex |
2188 |
"open a debugger on the selected process" |
|
2189 |
||
2190 |
self debugProcess |
|
2191 |
! |
|
2192 |
||
4498 | 2193 |
evaluateEnableInDecreaseButtons |
16609 | 2194 |
| contentsDelaySmallerThanListDelay | |
2195 |
||
2196 |
updateDelay := self scaledUpdateContentsDelayTime. |
|
2197 |
listUpdateDelay := self scaledUpdateListDelayTime. |
|
2198 |
||
2199 |
contentsDelaySmallerThanListDelay := (updateDelay < listUpdateDelay). |
|
2200 |
self enableDecreaseContentsDelayTime value:(updateDelay > 0.5). |
|
2201 |
self enableDecreaseListDelayTime value:contentsDelaySmallerThanListDelay. |
|
2202 |
self enableIncreaseContentsDelayTime value:contentsDelaySmallerThanListDelay. |
|
4498 | 2203 |
! |
2204 |
||
4463 | 2205 |
getProcessList |
2206 |
"select processes to display. |
|
2207 |
Subclasses may redefine this" |
|
2208 |
||
2209 |
|coll| |
|
2210 |
||
16609 | 2211 |
self showDeadHolder value ifTrue:[ |
2212 |
coll := Process allSubInstances asOrderedCollection. |
|
4463 | 2213 |
] ifFalse:[ |
16609 | 2214 |
coll := ProcessorScheduler knownProcesses asOrderedCollection. |
2215 |
coll add:Processor scheduler. |
|
4463 | 2216 |
]. |
2217 |
^ coll |
|
2218 |
! |
|
2219 |
||
4498 | 2220 |
increaseupdateContentsDelayTime |
16609 | 2221 |
updateDelay := (self scaledUpdateContentsDelayTime + 0.1) asFixedPoint:1. |
2222 |
self updateContentsDelayTimeHolder value:updateDelay. |
|
4498 | 2223 |
self evaluateEnableInDecreaseButtons. |
2224 |
! |
|
2225 |
||
2226 |
increaseupdateListDelayTime |
|
16609 | 2227 |
listUpdateDelay := (self scaledUpdateListDelayTime + 0.1) asFixedPoint:1. |
2228 |
self updateListDelayTimeHolder value:listUpdateDelay. |
|
4498 | 2229 |
self evaluateEnableInDecreaseButtons. |
2230 |
! |
|
2231 |
||
4463 | 2232 |
selectedProcessesDo:aBlock |
4576
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
2233 |
| sel proc| |
4463 | 2234 |
|
2235 |
sel := self selectedProcesses value. |
|
2236 |
sel isNil ifTrue:[^ self]. |
|
2237 |
||
2238 |
sel do:[:processItem | |
|
7811 | 2239 |
proc := processItem processInstance. |
2240 |
proc notNil ifTrue:[ |
|
2241 |
aBlock value:proc. |
|
2242 |
]. |
|
7810 | 2243 |
]. |
2244 |
||
2245 |
"Modified: / 07-06-2007 / 12:38:25 / cg" |
|
4463 | 2246 |
! |
2247 |
||
2248 |
selectedProcessesSend:aSelector |
|
2249 |
"send a message to all selected processes" |
|
2250 |
||
2251 |
self selectedProcessesDo:[:p | |
|
7811 | 2252 |
p perform:aSelector |
4463 | 2253 |
]. |
7810 | 2254 |
|
4570
3dc36c259ca1
show dead processes have to be enabled after fix remove dead processes
penk
parents:
4568
diff
changeset
|
2255 |
self updateList. |
7810 | 2256 |
|
2257 |
"Modified: / 07-06-2007 / 12:38:29 / cg" |
|
4463 | 2258 |
! ! |
2259 |
||
2260 |
!ProcessMonitorV2 methodsFor:'aspects'! |
|
2261 |
||
2262 |
currentSortOrder |
|
2263 |
"return/create the 'currentSortOrder' value holder (automatically generated)" |
|
2264 |
||
2265 |
currentSortOrder isNil ifTrue:[ |
|
7811 | 2266 |
currentSortOrder := Dictionary new asValue. |
4463 | 2267 |
]. |
2268 |
^ currentSortOrder |
|
2269 |
! |
|
2270 |
||
16609 | 2271 |
interruptCountHolder |
2272 |
||
2273 |
interruptCountHolder isNil ifTrue:[ |
|
2274 |
interruptCountHolder := '-' asValue. |
|
2275 |
]. |
|
2276 |
^ interruptCountHolder. |
|
2277 |
! |
|
2278 |
||
10849 | 2279 |
isNotTimeslicing |
2280 |
^ self isTimeslicing not |
|
2281 |
||
2282 |
"Created: / 03-11-2011 / 21:26:10 / cg" |
|
2283 |
! |
|
2284 |
||
2285 |
isTimeslicing |
|
2286 |
^ Processor isTimeSlicing |
|
2287 |
||
2288 |
"Created: / 03-11-2011 / 21:25:53 / cg" |
|
2289 |
! |
|
2290 |
||
4463 | 2291 |
processList |
2292 |
||
2293 |
processList isNil ifTrue:[ |
|
7811 | 2294 |
processList := List new. |
4463 | 2295 |
]. |
2296 |
^ processList. |
|
2297 |
! |
|
2298 |
||
4498 | 2299 |
scaledUpdateContentsDelayTime |
2300 |
||
16609 | 2301 |
^ self updateContentsDelayTimeHolder value asFloat asFixedPoint:1. |
4498 | 2302 |
! |
2303 |
||
2304 |
scaledUpdateListDelayTime |
|
2305 |
||
16609 | 2306 |
^ self updateListDelayTimeHolder value asFloat asFixedPoint:1. |
4498 | 2307 |
! |
2308 |
||
4463 | 2309 |
selectedProcesses |
2310 |
||
2311 |
selectedProcesses isNil ifTrue:[ |
|
16609 | 2312 |
selectedProcesses := ValueHolder new. |
2313 |
selectedProcesses onChangeSend:#selectionChanged to:self. |
|
2314 |
"/ selectedProcesses addDependent:self. |
|
4463 | 2315 |
]. |
2316 |
^ selectedProcesses. |
|
2317 |
! |
|
2318 |
||
16609 | 2319 |
showDeadHolder |
4463 | 2320 |
"return/create the 'showDead' value holder (automatically generated)" |
2321 |
||
16609 | 2322 |
showDeadHolder isNil ifTrue:[ |
2323 |
showDeadHolder := false asValue. |
|
2324 |
showDeadHolder onChangeSend:#updateList to:self. |
|
2325 |
"/ showDead addDependent:self. |
|
4463 | 2326 |
]. |
16609 | 2327 |
^ showDeadHolder |
4463 | 2328 |
! |
2329 |
||
2330 |
sortBlock |
|
2331 |
||
2332 |
sortBlock isNil ifTrue:[ |
|
7811 | 2333 |
| curSortOrder defaultSortInstance| |
2334 |
defaultSortInstance := #idVal. |
|
2335 |
sortBlock := [:a :b | |
|
2336 |
((a perform:defaultSortInstance) < (b perform:defaultSortInstance)) |
|
2337 |
]. |
|
2338 |
curSortOrder := self currentSortOrder value. |
|
2339 |
curSortOrder at:#column put:defaultSortInstance. |
|
2340 |
curSortOrder at:#reverse put:true. |
|
4463 | 2341 |
]. |
2342 |
^ sortBlock |
|
2343 |
! |
|
2344 |
||
2345 |
tableColumns |
|
2346 |
||
2347 |
tableColumns isNil ifTrue:[ |
|
7811 | 2348 |
tableColumns := self class tableColumns asValue. |
4463 | 2349 |
]. |
2350 |
^ tableColumns. |
|
4498 | 2351 |
! |
2352 |
||
16609 | 2353 |
timerActionCountHolder |
2354 |
||
2355 |
timerActionCountHolder isNil ifTrue:[ |
|
2356 |
timerActionCountHolder := '-' asValue. |
|
4498 | 2357 |
]. |
16609 | 2358 |
^ timerActionCountHolder. |
4498 | 2359 |
! |
2360 |
||
16609 | 2361 |
updateContentsDelayTimeHolder |
2362 |
||
2363 |
updateContentsDelayTimeHolder isNil ifTrue:[ |
|
2364 |
updateContentsDelayTimeHolder := updateDelay asValue. |
|
2365 |
updateContentsDelayTimeHolder onChangeSend:#evaluateEnableInDecreaseButtons to:self. |
|
4498 | 2366 |
]. |
16609 | 2367 |
^ updateContentsDelayTimeHolder. |
2368 |
! |
|
2369 |
||
2370 |
updateListDelayTimeHolder |
|
2371 |
||
2372 |
updateListDelayTimeHolder isNil ifTrue:[ |
|
2373 |
updateListDelayTimeHolder := listUpdateDelay asValue. |
|
2374 |
updateListDelayTimeHolder onChangeSend:#evaluateEnableInDecreaseButtons to:self. |
|
2375 |
]. |
|
2376 |
^ updateListDelayTimeHolder. |
|
4463 | 2377 |
! ! |
2378 |
||
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2379 |
!ProcessMonitorV2 methodsFor:'aspects-column'! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2380 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2381 |
showApplication |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2382 |
"return/create the 'showApplication' value holder (automatically generated)" |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2383 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2384 |
showApplication isNil ifTrue:[ |
15753 | 2385 |
showApplication := false asValue. |
2386 |
showApplication onChangeSend:#viewedColumnsChanged to:self |
|
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2387 |
]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2388 |
^ showApplication |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2389 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2390 |
"Created: / 17-08-2011 / 10:46:56 / cg" |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2391 |
! |
4463 | 2392 |
|
2393 |
showCurrentSegment |
|
2394 |
"return/create the 'showCurrentSegment' value holder (automatically generated)" |
|
2395 |
||
2396 |
showCurrentSegment isNil ifTrue:[ |
|
7811 | 2397 |
showCurrentSegment := showDetail asValue. |
2398 |
showCurrentSegment onChangeSend:#viewedColumnsChanged to:self. |
|
4463 | 2399 |
]. |
2400 |
^ showCurrentSegment |
|
2401 |
! |
|
2402 |
||
2403 |
showGroup |
|
2404 |
"return/create the 'showGroup' value holder (automatically generated)" |
|
2405 |
||
2406 |
showGroup isNil ifTrue:[ |
|
7811 | 2407 |
showGroup := true asValue. |
2408 |
showGroup onChangeSend:#viewedColumnsChanged to:self. |
|
4463 | 2409 |
]. |
2410 |
^ showGroup |
|
2411 |
! |
|
2412 |
||
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2413 |
showInstrumentation |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2414 |
"return/create the 'showInstrumentation' value holder (automatically generated)" |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2415 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2416 |
showInstrumentation isNil ifTrue:[ |
15753 | 2417 |
showInstrumentation := true asValue. |
2418 |
showInstrumentation onChangeSend:#viewedColumnsChanged to:self |
|
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2419 |
]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2420 |
^ showInstrumentation |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2421 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2422 |
"Created: / 17-08-2011 / 10:46:27 / cg" |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2423 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2424 |
|
4463 | 2425 |
showPrio |
2426 |
"return/create the 'showPrio' value holder (automatically generated)" |
|
2427 |
||
2428 |
showPrio isNil ifTrue:[ |
|
7811 | 2429 |
showPrio := true asValue. |
2430 |
showPrio onChangeSend:#viewedColumnsChanged to:self. |
|
4463 | 2431 |
]. |
2432 |
^ showPrio |
|
2433 |
! |
|
2434 |
||
2435 |
showProcessId |
|
2436 |
||
2437 |
showProcessId isNil ifTrue:[ |
|
7811 | 2438 |
showProcessId := true asValue. |
2439 |
showProcessId onChangeSend:#viewedColumnsChanged to:self |
|
4463 | 2440 |
]. |
2441 |
^ showProcessId |
|
2442 |
! |
|
2443 |
||
17300 | 2444 |
showStartTime |
2445 |
"return/create the 'showStartTime' value holder (automatically generated)" |
|
2446 |
||
2447 |
showStartTime isNil ifTrue:[ |
|
2448 |
showStartTime := false asValue. |
|
2449 |
showStartTime onChangeSend:#viewedColumnsChanged to:self |
|
2450 |
]. |
|
2451 |
^ showStartTime |
|
2452 |
! |
|
2453 |
||
4463 | 2454 |
showState |
2455 |
"return/create the 'showState' value holder (automatically generated)" |
|
2456 |
||
2457 |
showState isNil ifTrue:[ |
|
7811 | 2458 |
showState := true asValue. |
2459 |
showState onChangeSend:#viewedColumnsChanged to:self |
|
4463 | 2460 |
]. |
2461 |
^ showState |
|
2462 |
! |
|
2463 |
||
2464 |
showSwitch |
|
2465 |
"return/create the 'showSwitch' value holder (automatically generated)" |
|
2466 |
||
2467 |
showSwitch isNil ifTrue:[ |
|
7811 | 2468 |
showSwitch := showDetail asValue. |
2469 |
showSwitch onChangeSend:#viewedColumnsChanged to:self |
|
4463 | 2470 |
]. |
2471 |
^ showSwitch |
|
2472 |
! |
|
2473 |
||
2474 |
showTotalStack |
|
2475 |
"return/create the 'showTotalStack' value holder (automatically generated)" |
|
2476 |
||
2477 |
showTotalStack isNil ifTrue:[ |
|
7811 | 2478 |
showTotalStack := showDetail asValue. |
2479 |
showTotalStack onChangeSend:#viewedColumnsChanged to:self |
|
4463 | 2480 |
]. |
2481 |
^ showTotalStack |
|
2482 |
! |
|
2483 |
||
2484 |
showUsedStack |
|
2485 |
"return/create the 'showUsedStack' value holder (automatically generated)" |
|
2486 |
||
2487 |
showUsedStack isNil ifTrue:[ |
|
7811 | 2488 |
showUsedStack := showDetail asValue. |
2489 |
showUsedStack onChangeSend:#viewedColumnsChanged to:self |
|
4463 | 2490 |
]. |
2491 |
^ showUsedStack |
|
2492 |
! |
|
2493 |
||
2494 |
showWhere |
|
2495 |
"return/create the 'showWhere' value holder (automatically generated)" |
|
2496 |
||
2497 |
showWhere isNil ifTrue:[ |
|
7811 | 2498 |
showWhere := true asValue. |
2499 |
showWhere onChangeSend:#viewedColumnsChanged to:self |
|
4463 | 2500 |
]. |
2501 |
^ showWhere |
|
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2502 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2503 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2504 |
showWindowTitle |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2505 |
"return/create the 'showWindowTitle' value holder (automatically generated)" |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2506 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2507 |
showWindowTitle isNil ifTrue:[ |
15753 | 2508 |
showWindowTitle := false asValue. |
2509 |
showWindowTitle onChangeSend:#viewedColumnsChanged to:self |
|
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2510 |
]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2511 |
^ showWindowTitle |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2512 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2513 |
"Created: / 17-08-2011 / 10:46:47 / cg" |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2514 |
! ! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2515 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2516 |
!ProcessMonitorV2 methodsFor:'aspects-menu enabling'! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2517 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2518 |
allowModifications |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2519 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2520 |
allowModifications isNil ifTrue:[ |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2521 |
allowModifications := true asValue |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2522 |
]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2523 |
^ allowModifications |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2524 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2525 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2526 |
allowModificationsAndHasDebugger |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2527 |
^ BlockValue |
15753 | 2528 |
forLogical:(self allowModifications) |
2529 |
and:[ Debugger notNil ] |
|
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2530 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2531 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2532 |
enableDecreaseContentsDelayTime |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2533 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2534 |
enableDecreaseContentsDelayTime isNil ifTrue:[ |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2535 |
enableDecreaseContentsDelayTime := true asValue. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2536 |
]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2537 |
^ enableDecreaseContentsDelayTime. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2538 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2539 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2540 |
enableDecreaseListDelayTime |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2541 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2542 |
enableDecreaseListDelayTime isNil ifTrue:[ |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2543 |
enableDecreaseListDelayTime := true asValue. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2544 |
]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2545 |
^ enableDecreaseListDelayTime. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2546 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2547 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2548 |
enableIncreaseContentsDelayTime |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2549 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2550 |
enableIncreaseContentsDelayTime isNil ifTrue:[ |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2551 |
enableIncreaseContentsDelayTime := true asValue. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2552 |
]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2553 |
^ enableIncreaseContentsDelayTime. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2554 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2555 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2556 |
enableIncreaseListDelayTime |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2557 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2558 |
enableIncreaseListDelayTime isNil ifTrue:[ |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2559 |
enableIncreaseListDelayTime := true asValue. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2560 |
]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2561 |
^ enableIncreaseListDelayTime. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2562 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2563 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2564 |
hasSelection |
17927 | 2565 |
"return true, if an item is selected" |
2566 |
||
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2567 |
^ self selectedProcesses value notEmptyOrNil |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2568 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2569 |
"Modified: / 05-06-2007 / 17:43:58 / cg" |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2570 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2571 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2572 |
hasSelectionHolder |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2573 |
^ hasSelectionHolder |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2574 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2575 |
"Created: / 05-06-2007 / 17:41:54 / cg" |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2576 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2577 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2578 |
hasSelectionWithApplicationProcess |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2579 |
^ self hasSelectionWithProcessForWhich:[:p |self isApplicationProcess:p ] |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2580 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2581 |
"Created: / 05-06-2007 / 17:50:37 / cg" |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2582 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2583 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2584 |
hasSelectionWithApplicationProcessHolder |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2585 |
^ hasSelectionWithApplicationProcessHolder |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2586 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2587 |
"Created: / 05-06-2007 / 17:50:31 / cg" |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2588 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2589 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2590 |
hasSelectionWithDisabledInstrumentation |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2591 |
InstrumentationContext isNil ifTrue:[^ false]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2592 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2593 |
^ self hasSelectionWithProcessForWhich:[:p | (InstrumentationContext forProcess:p) isNil ] |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2594 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2595 |
"Created: / 17-08-2011 / 11:42:19 / cg" |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2596 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2597 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2598 |
hasSelectionWithDisabledInstrumentationHolder |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2599 |
^ hasSelectionWithDisabledInstrumentationHolder |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2600 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2601 |
"Created: / 17-08-2011 / 11:49:35 / cg" |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2602 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2603 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2604 |
hasSelectionWithEnabledInstrumentation |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2605 |
InstrumentationContext isNil ifTrue:[^ false]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2606 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2607 |
^ self hasSelectionWithProcessForWhich:[:p | (InstrumentationContext forProcess:p) notNil ] |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2608 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2609 |
"Created: / 17-08-2011 / 11:42:08 / cg" |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2610 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2611 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2612 |
hasSelectionWithEnabledInstrumentationHolder |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2613 |
^ hasSelectionWithEnabledInstrumentationHolder |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2614 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2615 |
"Created: / 17-08-2011 / 11:49:39 / cg" |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2616 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2617 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2618 |
hasSelectionWithGUIProcess |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2619 |
^ self hasSelectionWithProcessForWhich:[:p |p isGUIProcess ] |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2620 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2621 |
"Created: / 05-06-2007 / 17:52:10 / cg" |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2622 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2623 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2624 |
hasSelectionWithGUIProcessHolder |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2625 |
^ hasSelectionWithGUIProcessHolder |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2626 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2627 |
"Created: / 05-06-2007 / 17:52:01 / cg" |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2628 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2629 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2630 |
hasSelectionWithProcessForWhich:aBlock |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2631 |
^ self hasSelection |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2632 |
and:[ self selectedProcesses value contains:[:pItem | |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2633 |
|process| |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2634 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2635 |
process := pItem processInstance. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2636 |
process notNil and:[ aBlock value:process ]] ] |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2637 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2638 |
"Created: / 05-06-2007 / 17:40:27 / cg" |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2639 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2640 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2641 |
hasSelectionWithStoppedProcess |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2642 |
^ self hasSelectionWithProcessForWhich:[:p |p isStopped ] |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2643 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2644 |
"Modified: / 05-06-2007 / 17:40:42 / cg" |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2645 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2646 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2647 |
hasSelectionWithStoppedProcessHolder |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2648 |
^ hasSelectionWithStoppedProcessHolder |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2649 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2650 |
"Created: / 05-06-2007 / 17:42:41 / cg" |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2651 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2652 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2653 |
selectionRestartable |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2654 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2655 |
selectionRestartable isNil ifTrue:[ |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2656 |
selectionRestartable := ValueHolder new. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2657 |
]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2658 |
^ selectionRestartable |
4463 | 2659 |
! ! |
2660 |
||
2661 |
!ProcessMonitorV2 methodsFor:'change & update'! |
|
2662 |
||
2663 |
selectionChanged |
|
2664 |
||
7809 | 2665 |
|hasSelection allRestartable| |
2666 |
||
2667 |
hasSelection := self hasSelection. |
|
2668 |
||
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2669 |
hasSelectionHolder value:hasSelection. |
7809 | 2670 |
|
2671 |
hasSelection ifFalse:[ |
|
15753 | 2672 |
self selectionRestartable value:false. |
2673 |
hasSelectionWithStoppedProcessHolder value:false. |
|
2674 |
hasSelectionWithApplicationProcessHolder value:false. |
|
2675 |
hasSelectionWithGUIProcessHolder value:false. |
|
2676 |
hasSelectionWithEnabledInstrumentationHolder value:false. |
|
2677 |
hasSelectionWithDisabledInstrumentationHolder value:false. |
|
2678 |
^ self |
|
4463 | 2679 |
]. |
7809 | 2680 |
|
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2681 |
hasSelectionWithStoppedProcessHolder value:self hasSelectionWithStoppedProcess. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2682 |
hasSelectionWithApplicationProcessHolder value:self hasSelectionWithApplicationProcess. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2683 |
hasSelectionWithGUIProcessHolder value:self hasSelectionWithGUIProcess. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2684 |
hasSelectionWithEnabledInstrumentationHolder value:self hasSelectionWithEnabledInstrumentation. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2685 |
hasSelectionWithDisabledInstrumentationHolder value:self hasSelectionWithDisabledInstrumentation. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2686 |
|
4463 | 2687 |
allRestartable := true. |
2688 |
self selectedProcessesDo:[:p | |
|
15753 | 2689 |
p isRestartable ifFalse:[ |
2690 |
allRestartable := false |
|
2691 |
]. |
|
4463 | 2692 |
]. |
2693 |
self selectionRestartable value:allRestartable. |
|
2694 |
^ self. |
|
7809 | 2695 |
|
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2696 |
"Modified: / 17-08-2011 / 11:41:32 / cg" |
4463 | 2697 |
! |
2698 |
||
2699 |
update:something with:aParameter from:changedObject |
|
2700 |
"Invoked when an object that I depend upon sends a change notification." |
|
2701 |
||
2702 |
"stub code automatically generated - please change as required" |
|
2703 |
||
4565 | 2704 |
changedObject == builder window ifTrue:[ |
16609 | 2705 |
something == #visibility ifTrue:[ |
2706 |
self updateList. |
|
2707 |
]. |
|
4463 | 2708 |
]. |
2709 |
super update:something with:aParameter from:changedObject |
|
2710 |
! |
|
2711 |
||
2712 |
viewedColumnsChanged |
|
17300 | 2713 |
"take the class's columnSpec and select the one's selected by the user. |
2714 |
Stuff this filtered tableColSpec into the value holder" |
|
2715 |
||
4498 | 2716 |
| columns buffer locCurrentSortOrder currentSortOrderColumn currentSortOrderReverse oldSelection sel| |
2717 |
||
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2718 |
"/ remember the selected processes |
4498 | 2719 |
sel := self selectedProcesses value. |
2720 |
sel notNil ifTrue:[ |
|
17300 | 2721 |
oldSelection := OrderedCollection new. |
2722 |
sel do:[:proItem| |
|
2723 |
|process| |
|
2724 |
||
2725 |
(process := proItem processInstance) notNil ifTrue:[ |
|
2726 |
oldSelection add:process |
|
2727 |
]. |
|
2728 |
]. |
|
4498 | 2729 |
]. |
17300 | 2730 |
|
2731 |
"/ Transcript showCR:'oldSelection on catch in viewedColumnsChanged', (oldSelection isNil ifTrue:['nil'] ifFalse:[oldSelection first printString]). |
|
4463 | 2732 |
columns := OrderedCollection new. |
2733 |
self class tableColumns do:[:el| |
|
17300 | 2734 |
columns add:(DataSetColumnSpec decodeFromLiteralArray:el). |
4463 | 2735 |
]. |
2736 |
buffer := columns copy. |
|
2737 |
locCurrentSortOrder := self currentSortOrder value. |
|
2738 |
currentSortOrderColumn := locCurrentSortOrder at:#column ifAbsent:nil. |
|
2739 |
currentSortOrderReverse := locCurrentSortOrder at:#reverse ifAbsent:nil. |
|
2740 |
buffer do:[:col | |
|
17300 | 2741 |
| id | |
2742 |
id := col id. |
|
2743 |
id notNil ifTrue:[ |
|
2744 |
(col labelActionArgument notNil and:[col labelActionArgument asSymbol == currentSortOrderColumn]) ifTrue:[ |
|
2745 |
| label icon| |
|
2746 |
label := col label. |
|
2747 |
icon := currentSortOrderReverse ifTrue:[self class detailsMenuIconDown] ifFalse:[self class detailsMenuIconUp]. |
|
2748 |
col label:(LabelAndIcon label:label icon:icon). |
|
2749 |
]. |
|
2750 |
#( |
|
2751 |
( #id #showProcessId) |
|
2752 |
( #group #showGroup) |
|
2753 |
( #prio #showPrio) |
|
2754 |
( #currentSegment #showCurrentSegment) |
|
2755 |
( #state #showState) |
|
2756 |
( #switch #showSwitch) |
|
2757 |
( #totalStack #showTotalStack) |
|
2758 |
( #usedStack #showUsedStack) |
|
2759 |
( #where #showWhere) |
|
2760 |
( #application #showApplication) |
|
2761 |
( #windowTitle #showWindowTitle) |
|
2762 |
( #startTime #showStartTime) |
|
2763 |
( #instrumentation #showInstrumentation) |
|
2764 |
) pairsDo:[:colName :holderAccessorSelector | |
|
2765 |
(id == colName and:[(self perform:holderAccessorSelector) value not]) ifTrue:[ |
|
2766 |
columns remove:col. |
|
2767 |
] |
|
2768 |
] |
|
2769 |
] |
|
4463 | 2770 |
]. |
17300 | 2771 |
|
4463 | 2772 |
updateSema critical:[ |
17300 | 2773 |
self tableColumns value:columns. |
4576
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
2774 |
"/ self updateTable:nil. |
4498 | 2775 |
"/ Transcript showCR:'oldSelection on set in viewedColumnsChanged', (oldSelection isNil ifTrue:['nil'] ifFalse:[oldSelection first printString]). |
17300 | 2776 |
self changeSelectionToProcesses:oldSelection. |
4463 | 2777 |
]. |
7767 | 2778 |
|
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2779 |
"Modified: / 17-08-2011 / 11:11:21 / cg" |
4463 | 2780 |
! ! |
2781 |
||
2782 |
!ProcessMonitorV2 methodsFor:'event handling'! |
|
2783 |
||
2784 |
processEvent:anEvent |
|
2785 |
"filter keyboard events. |
|
2786 |
Return true, if I have eaten the event" |
|
2787 |
||
12119 | 2788 |
<resource: #keyboard (#InspectIt )> |
2789 |
||
4463 | 2790 |
|focusView key rawKey| |
2791 |
||
2792 |
anEvent isKeyPressEvent ifTrue:[ |
|
15753 | 2793 |
focusView := anEvent targetView. |
2794 |
key := anEvent key. |
|
2795 |
rawKey := anEvent rawKey. |
|
2796 |
||
2797 |
(focusView == processList) ifTrue:[ |
|
2798 |
key == #InspectIt ifTrue:[ |
|
2799 |
self inspectSelection. |
|
2800 |
^ true. |
|
2801 |
]. |
|
2802 |
] |
|
4463 | 2803 |
]. |
2804 |
^ false |
|
2805 |
! ! |
|
2806 |
||
2807 |
!ProcessMonitorV2 methodsFor:'initialization & release'! |
|
2808 |
||
8651 | 2809 |
commonPostOpen |
2810 |
||
2811 |
super commonPostOpen. |
|
2812 |
||
2813 |
builder window addDependent:self. |
|
2814 |
self viewedColumnsChanged. |
|
2815 |
self updateList. |
|
2816 |
self startUpdateProcess. |
|
2817 |
self selectionChanged. |
|
2818 |
self sortProcessListBy:#idVal. |
|
2819 |
self windowGroup addPreEventHook:self. |
|
2820 |
! |
|
2821 |
||
4463 | 2822 |
initialize |
2823 |
||
2824 |
super initialize. |
|
2825 |
||
7809 | 2826 |
hasSelectionHolder := false asValue. |
2827 |
hasSelectionWithStoppedProcessHolder := false asValue. |
|
2828 |
hasSelectionWithApplicationProcessHolder := false asValue. |
|
2829 |
hasSelectionWithGUIProcessHolder := false asValue. |
|
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2830 |
hasSelectionWithDisabledInstrumentationHolder := false asValue. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2831 |
hasSelectionWithEnabledInstrumentationHolder := false asValue. |
7809 | 2832 |
|
4463 | 2833 |
showDetail := (Smalltalk at:#SystemDebugging ifAbsent:false). |
2834 |
updateSema := Semaphore forMutualExclusion. |
|
16609 | 2835 |
updateDelay := 1.0 "0.5" asFixedPoint:1. "/ seconds |
2836 |
listUpdateDelay := 5.0 asFixedPoint:1. |
|
4463 | 2837 |
|
2838 |
"/ event mode is no longer used; |
|
2839 |
"/ this event support may vanish |
|
2840 |
Processor isPureEventDriven ifTrue:[ |
|
16609 | 2841 |
updateBlock := [self updateStatus:nil]. |
2842 |
listUpdateBlock := [self updateList]. |
|
4463 | 2843 |
]. |
7809 | 2844 |
|
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
2845 |
"Modified: / 17-08-2011 / 11:39:13 / cg" |
4463 | 2846 |
! |
2847 |
||
2848 |
postBuildProcessTable:aWidget |
|
2849 |
||
2850 |
processTable := aWidget scrolledView. |
|
2851 |
processTable wantsFocusWithPointerEnter. |
|
2852 |
! |
|
2853 |
||
4570
3dc36c259ca1
show dead processes have to be enabled after fix remove dead processes
penk
parents:
4568
diff
changeset
|
2854 |
release |
18431 | 2855 |
self == Singleton ifTrue:[ |
2856 |
Singleton := nil. |
|
2857 |
]. |
|
4570
3dc36c259ca1
show dead processes have to be enabled after fix remove dead processes
penk
parents:
4568
diff
changeset
|
2858 |
updateBlock notNil ifTrue:[ |
18431 | 2859 |
Processor removeTimedBlock:updateBlock. |
2860 |
updateBlock := nil. |
|
4570
3dc36c259ca1
show dead processes have to be enabled after fix remove dead processes
penk
parents:
4568
diff
changeset
|
2861 |
]. |
3dc36c259ca1
show dead processes have to be enabled after fix remove dead processes
penk
parents:
4568
diff
changeset
|
2862 |
listUpdateBlock notNil ifTrue:[ |
18431 | 2863 |
Processor removeTimedBlock:listUpdateBlock. |
2864 |
listUpdateBlock := nil. |
|
4570
3dc36c259ca1
show dead processes have to be enabled after fix remove dead processes
penk
parents:
4568
diff
changeset
|
2865 |
]. |
3dc36c259ca1
show dead processes have to be enabled after fix remove dead processes
penk
parents:
4568
diff
changeset
|
2866 |
updateProcess notNil ifTrue:[ |
18431 | 2867 |
updateProcess terminate. |
2868 |
updateProcess := nil. |
|
4570
3dc36c259ca1
show dead processes have to be enabled after fix remove dead processes
penk
parents:
4568
diff
changeset
|
2869 |
]. |
3dc36c259ca1
show dead processes have to be enabled after fix remove dead processes
penk
parents:
4568
diff
changeset
|
2870 |
super release |
18431 | 2871 |
|
2872 |
"Modified: / 25-09-2018 / 12:29:10 / Claus Gittinger" |
|
6234
f4c3118ce840
Restart update process after snapshot restart
Stefan Vogel <sv@exept.de>
parents:
6042
diff
changeset
|
2873 |
! |
f4c3118ce840
Restart update process after snapshot restart
Stefan Vogel <sv@exept.de>
parents:
6042
diff
changeset
|
2874 |
|
f4c3118ce840
Restart update process after snapshot restart
Stefan Vogel <sv@exept.de>
parents:
6042
diff
changeset
|
2875 |
restarted |
f4c3118ce840
Restart update process after snapshot restart
Stefan Vogel <sv@exept.de>
parents:
6042
diff
changeset
|
2876 |
"restarted from snapshot" |
f4c3118ce840
Restart update process after snapshot restart
Stefan Vogel <sv@exept.de>
parents:
6042
diff
changeset
|
2877 |
|
f4c3118ce840
Restart update process after snapshot restart
Stefan Vogel <sv@exept.de>
parents:
6042
diff
changeset
|
2878 |
super restarted. |
f4c3118ce840
Restart update process after snapshot restart
Stefan Vogel <sv@exept.de>
parents:
6042
diff
changeset
|
2879 |
self startUpdateProcess. |
4463 | 2880 |
! ! |
2881 |
||
4649
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
2882 |
!ProcessMonitorV2 methodsFor:'menu accessing'! |
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
2883 |
|
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
2884 |
tableMenu |
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
2885 |
|
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
2886 |
^[ |
7811 | 2887 |
self tableMenuAccess |
4649
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
2888 |
] |
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
2889 |
! |
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
2890 |
|
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
2891 |
tableMenuAccess |
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
2892 |
self allowModifications value ifTrue:[ |
7811 | 2893 |
tableMenu isNil ifTrue:[ |
2894 |
tableMenu := Menu decodeFromLiteralArray:(self class tableMenu). |
|
2895 |
tableMenu receiver:self. |
|
2896 |
tableMenu findGuiResourcesIn:self. |
|
2897 |
]. |
|
2898 |
^ tableMenu |
|
4649
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
2899 |
]. |
6239 | 2900 |
^ nil |
7767 | 2901 |
|
2902 |
"Modified: / 27-03-2007 / 08:43:43 / cg" |
|
4649
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
2903 |
! ! |
37f55d741468
allow task modifications in Process Monitor can be disabled now
penk
parents:
4576
diff
changeset
|
2904 |
|
4463 | 2905 |
!ProcessMonitorV2 methodsFor:'menu actions'! |
2906 |
||
2907 |
abortProcess |
|
2908 |
"abort (raise AbortSignal in) the selected process" |
|
2909 |
||
2910 |
self selectedProcessesDo:[:p | |
|
7811 | 2911 |
p abort |
7810 | 2912 |
]. |
2913 |
self updateList. |
|
2914 |
||
2915 |
"Modified: / 07-06-2007 / 12:38:42 / cg" |
|
4463 | 2916 |
! |
2917 |
||
15297 | 2918 |
findProcessByView |
2919 |
"let user click on a window. then select the corresponding process" |
|
2920 |
||
2921 |
|v wg p item| |
|
2922 |
||
2923 |
v := Screen current viewFromUser. |
|
2924 |
v notNil ifTrue:[ |
|
15753 | 2925 |
(wg := v windowGroup) notNil ifTrue:[ |
2926 |
(p := wg process) notNil ifTrue:[ |
|
2927 |
item := processList detect:[:i | i processId = p id] ifNone:nil. |
|
2928 |
item notNil ifTrue:[ |
|
2929 |
self selectedProcesses value:(Array with:item) |
|
2930 |
] |
|
2931 |
]. |
|
2932 |
] |
|
15297 | 2933 |
]. |
2934 |
! |
|
2935 |
||
4463 | 2936 |
hardTerminateProcess |
2937 |
"hard terminate the selected process" |
|
2938 |
||
2939 |
self selectedProcessesSend:#terminateNoSignal |
|
2940 |
! |
|
2941 |
||
2942 |
lowerPrio |
|
2943 |
"lower the selected processes priority" |
|
2944 |
||
2945 |
self selectedProcessesDo:[:p | |
|
2946 |
p priority:(p priority - 1) |
|
7810 | 2947 |
]. |
2948 |
self updateList. |
|
2949 |
||
2950 |
"Modified: / 07-06-2007 / 12:38:50 / cg" |
|
4463 | 2951 |
! |
2952 |
||
2953 |
openDocumentation |
|
2954 |
"This method was generated by the Browser. |
|
2955 |
It will be invoked when the menu-item 'help-documentation' is selected." |
|
2956 |
||
2957 |
"/ change below as required ... |
|
2958 |
||
2959 |
"/ to open an HTML viewer on some document (under 'doc/online/<language>/' ): |
|
4561 | 2960 |
HTMLDocumentView openFullOnDocumentationFile:'tools/misc/TOP.html#PROCESSMONITOR'. |
4463 | 2961 |
|
2962 |
"/ add application-specific help files under the 'doc/online/<language>/help/appName' |
|
2963 |
"/ directory, and open a viewer with: |
|
2964 |
"/ HTMLDocumentView openFullOnDocumentationFile:'help/<MyApplication>/TOP.html'. |
|
2965 |
! |
|
2966 |
||
2967 |
raisePrio |
|
2968 |
"raise the selected processes priority" |
|
2969 |
||
2970 |
self selectedProcessesDo:[:p | |
|
2971 |
p priority:(p priority + 1) |
|
7810 | 2972 |
]. |
2973 |
self updateList. |
|
2974 |
||
2975 |
"Modified: / 07-06-2007 / 12:38:57 / cg" |
|
4463 | 2976 |
! |
2977 |
||
2978 |
restartProcess |
|
13775
5064cb57c8ac
AbortSignal -> AbortOperationRequest
Stefan Vogel <sv@exept.de>
parents:
12742
diff
changeset
|
2979 |
"restarts the selected process" |
4463 | 2980 |
|
2981 |
self selectedProcessesDo:[:p | |
|
15753 | 2982 |
p restart. |
7810 | 2983 |
]. |
2984 |
self updateList. |
|
2985 |
||
2986 |
"Modified: / 07-06-2007 / 12:39:04 / cg" |
|
4463 | 2987 |
! |
2988 |
||
2989 |
resumeProcess |
|
2990 |
"resume the selected process (i.e. let it run) " |
|
2991 |
||
2992 |
self selectedProcessesSend:#resume |
|
2993 |
! |
|
2994 |
||
12740 | 2995 |
setPrioRange |
2996 |
"set a prio-range the selected processes priority" |
|
2997 |
||
2998 |
|rangeString range| |
|
2999 |
||
12742 | 3000 |
[ |
15753 | 3001 |
rangeString := Dialog |
3002 |
request:'Priority Range (min to: max)' |
|
3003 |
initialAnswer:'7 to: 8'. |
|
3004 |
rangeString isNil ifTrue:[ |
|
3005 |
^ self "aborted" |
|
3006 |
]. |
|
3007 |
range := Interval readFrom:rangeString onError:nil. |
|
12742 | 3008 |
] doWhile:[range isNil]. |
3009 |
||
12740 | 3010 |
self selectedProcessesDo:[:p | |
3011 |
p priorityRange:range |
|
3012 |
]. |
|
3013 |
self updateList. |
|
3014 |
! |
|
3015 |
||
10849 | 3016 |
startTimeslicing |
3017 |
Processor isTimeSlicing ifFalse:[ |
|
15753 | 3018 |
Processor startTimeSlicing. |
10849 | 3019 |
]. |
3020 |
||
3021 |
"Created: / 03-11-2011 / 21:26:27 / cg" |
|
3022 |
! |
|
3023 |
||
4463 | 3024 |
stopProcess |
3025 |
"stop the selected process - not even interrupts will wake it up" |
|
3026 |
||
3027 |
self selectedProcessesSend:#stop |
|
3028 |
! |
|
3029 |
||
10849 | 3030 |
stopTimeslicing |
3031 |
Processor isTimeSlicing ifTrue:[ |
|
15753 | 3032 |
Processor stopTimeSlicing. |
10849 | 3033 |
]. |
3034 |
||
3035 |
"Created: / 03-11-2011 / 21:26:40 / cg" |
|
3036 |
! |
|
3037 |
||
4463 | 3038 |
suspendProcess |
3039 |
"suspend the selected process - interrupts will let it run again" |
|
3040 |
||
3041 |
self selectedProcessesSend:#suspend |
|
3042 |
! |
|
3043 |
||
17270 | 3044 |
terminateAllLikeThis |
3045 |
"terminate the selected process with all of its subprocesses" |
|
3046 |
||
3047 |
|names| |
|
3048 |
||
3049 |
names := Set new. |
|
3050 |
self selectedProcessesDo:[:p | |
|
3051 |
names add:p name. |
|
3052 |
]. |
|
3053 |
||
3054 |
ProcessorScheduler knownProcesses |
|
3055 |
select:[:p | (names includes:p name) ] |
|
3056 |
thenDo:[:eachProcessToTerminate | |
|
3057 |
|doTerminateThis| |
|
3058 |
||
3059 |
doTerminateThis := |
|
3060 |
((eachProcessToTerminate isSystemProcess not) |
|
3061 |
or:[ Dialog confirm:(resources |
|
3062 |
string:'Terminate the system process: %1 (Pid=%2)?' |
|
3063 |
with:eachProcessToTerminate name |
|
3064 |
with:eachProcessToTerminate id) ]). |
|
3065 |
||
3066 |
doTerminateThis ifTrue:[ |
|
3067 |
eachProcessToTerminate terminate |
|
3068 |
]. |
|
3069 |
]. |
|
3070 |
||
3071 |
self updateList. |
|
3072 |
! |
|
3073 |
||
4463 | 3074 |
terminateProcess |
3075 |
"terminate the selected process" |
|
3076 |
||
3077 |
self selectedProcessesSend:#terminate. |
|
3078 |
self updateList. |
|
3079 |
! |
|
3080 |
||
3081 |
terminateProcessGroup |
|
3082 |
"terminate the selected process with all of its subprocesses" |
|
3083 |
||
3084 |
self selectedProcessesSend:#terminateGroup. |
|
3085 |
self updateList. |
|
3086 |
! ! |
|
3087 |
||
7810 | 3088 |
!ProcessMonitorV2 methodsFor:'menu actions-application'! |
3089 |
||
3090 |
closeApplication |
|
3091 |
"close the process(es) topView(s)" |
|
3092 |
||
3093 |
self selectedApplicationTopViewsDo:[:topView | topView terminate] |
|
3094 |
||
3095 |
"Created: / 07-06-2007 / 12:40:20 / cg" |
|
3096 |
! |
|
3097 |
||
3098 |
lowerApplicationWindow |
|
3099 |
"lower the selected process(es) topView(s)" |
|
3100 |
||
3101 |
self selectedApplicationTopViewsDo:[:topView | topView lower] |
|
3102 |
||
3103 |
"Created: / 07-06-2007 / 12:43:46 / cg" |
|
3104 |
! |
|
3105 |
||
3106 |
raiseApplicationWindow |
|
3107 |
"raise the selected process(es) topView(s)" |
|
3108 |
||
17062 | 3109 |
self selectedApplicationTopViewsDo:[:topView | |
17063 | 3110 |
|wg v| |
17062 | 3111 |
|
3112 |
topView raiseDeiconified. |
|
3113 |
wg := topView windowGroup. |
|
3114 |
[wg isInModalLoop] whileTrue:[ |
|
3115 |
wg := wg modalGroup. |
|
17063 | 3116 |
(v := wg mainView) notNil ifTrue:[v raiseDeiconified]. |
17062 | 3117 |
]. |
3118 |
] |
|
7810 | 3119 |
|
3120 |
"Created: / 05-06-2007 / 18:37:30 / cg" |
|
17063 | 3121 |
"Modified: / 15-11-2016 / 00:22:22 / cg" |
7810 | 3122 |
! |
3123 |
||
3124 |
selectedApplicationTopViewsDo:aBlock |
|
3125 |
self selectedProcessesDo:[:eachProcess | |
|
17062 | 3126 |
|wg| |
3127 |
||
3128 |
wg := self windowGroupOfProcess:eachProcess. |
|
3129 |
wg notNil ifTrue:[ |
|
3130 |
|topView| |
|
3131 |
||
3132 |
(topView := wg mainView) notNil ifTrue:[ |
|
3133 |
aBlock value:topView. |
|
3134 |
] |
|
3135 |
] |
|
7810 | 3136 |
] |
3137 |
||
3138 |
"Created: / 07-06-2007 / 12:42:09 / cg" |
|
17062 | 3139 |
"Modified: / 15-11-2016 / 00:18:37 / cg" |
7810 | 3140 |
! ! |
3141 |
||
3142 |
!ProcessMonitorV2 methodsFor:'menu actions-debug'! |
|
3143 |
||
3144 |
browseApplication |
|
3145 |
"open a browser on the selected process(es) application or topView" |
|
3146 |
||
3147 |
self selectedApplicationTopViewsDo:[:topView | |
|
7811 | 3148 |
|app| |
3149 |
||
3150 |
(app := topView application) notNil ifTrue:[ |
|
3151 |
app class browse. |
|
3152 |
] ifFalse:[ |
|
3153 |
topView class browse. |
|
3154 |
] |
|
7810 | 3155 |
] |
3156 |
||
3157 |
"Created: / 07-06-2007 / 12:48:05 / cg" |
|
3158 |
! |
|
3159 |
||
3160 |
debugProcess |
|
3161 |
"open a debugger on the selected process(es)" |
|
3162 |
||
8651 | 3163 |
Debugger isNil ifTrue:[ ^ self ]. |
3164 |
||
7810 | 3165 |
self selectedProcessesDo:[:p | |
3166 |
Debugger openOn:p |
|
3167 |
] |
|
3168 |
||
3169 |
"Modified: / 07-06-2007 / 12:34:43 / cg" |
|
3170 |
! |
|
3171 |
||
3172 |
debugWhenResumed |
|
3173 |
"open a debugger when the selected process(es) is resumed" |
|
3174 |
||
8651 | 3175 |
Debugger isNil ifTrue:[ ^ self ]. |
3176 |
||
17721 | 3177 |
self selectedProcessesDo:[:eachProcess | |
3178 |
eachProcess onResumeDo:[Debugger enter] |
|
7810 | 3179 |
] |
3180 |
||
3181 |
"Modified: / 07-06-2007 / 12:34:38 / cg" |
|
17721 | 3182 |
"Modified: / 25-10-2017 / 17:50:52 / stefan" |
7810 | 3183 |
! |
3184 |
||
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3185 |
disableInstrumentation |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3186 |
InstrumentationContext isNil ifTrue:[^ self]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3187 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3188 |
self selectedProcessesDo:[:p | |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3189 |
InstrumentationContext setInstrumentationContext:nil in:p |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3190 |
] |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3191 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3192 |
"Created: / 17-08-2011 / 11:50:36 / cg" |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3193 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3194 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3195 |
enableInstrumentation |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3196 |
|context| |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3197 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3198 |
InstrumentationContext isNil ifTrue:[^ self]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3199 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3200 |
context := InstrumentationContext new. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3201 |
self selectedProcessesDo:[:p | |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3202 |
InstrumentationContext setInstrumentationContext:context in:p |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3203 |
] |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3204 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3205 |
"Created: / 17-08-2011 / 11:50:12 / cg" |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3206 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3207 |
|
7810 | 3208 |
inspectApplication |
3209 |
"open an inspector on the selected process(es) application or topView" |
|
3210 |
||
3211 |
self selectedApplicationTopViewsDo:[:topView | |
|
7811 | 3212 |
|app| |
3213 |
||
3214 |
(app := topView application) notNil ifTrue:[ |
|
3215 |
app inspect. |
|
3216 |
] ifFalse:[ |
|
3217 |
topView inspect. |
|
3218 |
] |
|
7810 | 3219 |
] |
3220 |
||
3221 |
"Modified: / 07-06-2007 / 12:46:42 / cg" |
|
3222 |
! |
|
3223 |
||
3224 |
inspectSelection |
|
3225 |
"open an inspector on the selected process" |
|
3226 |
||
3227 |
self selectedProcessesSend:#inspect |
|
3228 |
! ! |
|
3229 |
||
6609 | 3230 |
!ProcessMonitorV2 methodsFor:'private queries'! |
3231 |
||
3232 |
isApplicationProcess:aProcess |
|
3233 |
^ (self windowGroupOfProcess:aProcess) notNil. |
|
3234 |
! |
|
3235 |
||
3236 |
windowGroupOfProcess:aProcess |
|
7811 | 3237 |
WindowGroup scheduledWindowGroups |
3238 |
do:[:eachGroup | |
|
3239 |
(eachGroup process == aProcess) ifTrue:[ |
|
3240 |
eachGroup isModal ifTrue:[ |
|
3241 |
^ eachGroup previousGroup |
|
3242 |
]. |
|
3243 |
^ eachGroup |
|
3244 |
] |
|
3245 |
]. |
|
6609 | 3246 |
|
3247 |
^ nil |
|
3248 |
! ! |
|
3249 |
||
4463 | 3250 |
!ProcessMonitorV2 methodsFor:'queries - table string'! |
3251 |
||
7811 | 3252 |
getActiveStringFor:aProcess running:isRunning |
5538 | 3253 |
|stateCharacter| |
3254 |
||
3255 |
isRunning ifTrue:[ |
|
18671 | 3256 |
^ '*'. |
4576
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3257 |
]. |
18671 | 3258 |
|
3259 |
[ |
|
3260 |
(Processor scheduledProcesses includes:aProcess) ifTrue:[ |
|
3261 |
stateCharacter := '+' |
|
3262 |
] ifFalse:[ |
|
3263 |
stateCharacter := ''. |
|
3264 |
]. |
|
3265 |
] valueUninterruptably. |
|
4576
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3266 |
^ stateCharacter. |
18671 | 3267 |
|
3268 |
"Modified: / 12-03-2019 / 18:05:59 / Claus Gittinger" |
|
4576
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3269 |
! |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3270 |
|
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3271 |
getApplicationFor:aProcess |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3272 |
|wg app| |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3273 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3274 |
wg := self windowGroupOfProcess:aProcess. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3275 |
wg notNil ifTrue:[ |
15753 | 3276 |
(app := wg application) notNil ifTrue:[ |
3277 |
^ app. |
|
3278 |
]. |
|
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3279 |
]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3280 |
^ nil. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3281 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3282 |
"Created: / 17-08-2011 / 11:12:13 / cg" |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3283 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3284 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3285 |
getApplicationStringFor:aProcess |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3286 |
|app| |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3287 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3288 |
(app := self getApplicationFor:aProcess) notNil ifTrue:[ |
15753 | 3289 |
^ app class name. |
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3290 |
]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3291 |
^ ''. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3292 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3293 |
"Created: / 17-08-2011 / 10:58:50 / cg" |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3294 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3295 |
|
4463 | 3296 |
getCurrentSegmentStringFor:con |
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3297 |
| contextCount c sender| |
4463 | 3298 |
|
3299 |
con notNil ifTrue:[ |
|
15753 | 3300 |
contextCount := 1. |
3301 |
c := con. |
|
3302 |
[(sender := c sender) notNil] whileTrue:[ |
|
3303 |
c := sender. |
|
3304 |
contextCount := contextCount + 1. |
|
3305 |
]. |
|
3306 |
^ (((ObjectMemory addressOf:con) printStringRadix:16), |
|
3307 |
' .. ', |
|
3308 |
((ObjectMemory addressOf:c) printStringRadix:16)). |
|
4463 | 3309 |
]. |
4504 | 3310 |
^ '' |
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3311 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3312 |
"Modified (format): / 17-08-2011 / 10:57:23 / cg" |
4463 | 3313 |
! |
3314 |
||
3315 |
getGroupStringFor:aProcess |
|
3316 |
|gId| |
|
3317 |
||
3318 |
gId := aProcess processGroupId. |
|
3319 |
((gId == aProcess id) or:[gId isNil]) ifTrue:[ |
|
15753 | 3320 |
"/ a group leader |
3321 |
^ '-'. |
|
4463 | 3322 |
] ifFalse:[ |
15753 | 3323 |
^ gId. |
4463 | 3324 |
]. |
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3325 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3326 |
"Modified (format): / 17-08-2011 / 10:57:33 / cg" |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3327 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3328 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3329 |
getInstrumentationStringFor:aProcess |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3330 |
^ (InstrumentationContext forProcess:aProcess) isNil |
15753 | 3331 |
ifTrue:[''] |
3332 |
ifFalse:['Y'] |
|
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3333 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3334 |
"Created: / 17-08-2011 / 11:04:14 / cg" |
4463 | 3335 |
! |
3336 |
||
3337 |
getPrioStringFor:aProcess |
|
3338 |
|prioRange| |
|
3339 |
||
3340 |
Processor supportDynamicPriorities ifTrue:[ |
|
15753 | 3341 |
(prioRange := aProcess priorityRange) isNil ifTrue:[ |
3342 |
^ aProcess priority asString. |
|
3343 |
] ifFalse:[ |
|
3344 |
^ (aProcess priority asString, |
|
3345 |
' [', |
|
3346 |
prioRange start printString, |
|
3347 |
'..', |
|
3348 |
prioRange stop printString, |
|
3349 |
']'). |
|
3350 |
]. |
|
4463 | 3351 |
]. |
4504 | 3352 |
^ '' |
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3353 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3354 |
"Modified (format): / 17-08-2011 / 10:57:36 / cg" |
4463 | 3355 |
! |
3356 |
||
3357 |
getTotalStackStringFor:aProcess |
|
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3358 |
| tStackSize noOfSegs | |
4463 | 3359 |
|
3360 |
aProcess id == 0 ifTrue:[ |
|
15753 | 3361 |
^ 'unlimited'. |
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3362 |
]. |
15753 | 3363 |
((tStackSize := aProcess totalStackSize) notNil |
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3364 |
and:[ (noOfSegs := aProcess numberOfStackSegments) notNil ]) ifTrue:[ |
15753 | 3365 |
^ (tStackSize printString),' (',(noOfSegs printString),')' |
4463 | 3366 |
]. |
4504 | 3367 |
^ '' |
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3368 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3369 |
"Modified: / 17-08-2011 / 10:56:17 / cg" |
4463 | 3370 |
! |
3371 |
||
11289
2c2c4a0ec060
added: #getWhereContextFor:running:
Claus Gittinger <cg@exept.de>
parents:
11288
diff
changeset
|
3372 |
getWhereContextFor:con running:isRunning |
2c2c4a0ec060
added: #getWhereContextFor:running:
Claus Gittinger <cg@exept.de>
parents:
11288
diff
changeset
|
3373 |
"retrieve a reasonable description of where the process is sitting around; |
2c2c4a0ec060
added: #getWhereContextFor:running:
Claus Gittinger <cg@exept.de>
parents:
11288
diff
changeset
|
3374 |
that is not the last context before the context switch, because that would |
2c2c4a0ec060
added: #getWhereContextFor:running:
Claus Gittinger <cg@exept.de>
parents:
11288
diff
changeset
|
3375 |
usually be too low level and non-descriptive; instead, walk up the sender chain to |
2c2c4a0ec060
added: #getWhereContextFor:running:
Claus Gittinger <cg@exept.de>
parents:
11288
diff
changeset
|
3376 |
a higher level waiter, such as a semaphore wait, a shared queue wait etc." |
2c2c4a0ec060
added: #getWhereContextFor:running:
Claus Gittinger <cg@exept.de>
parents:
11288
diff
changeset
|
3377 |
|
2c2c4a0ec060
added: #getWhereContextFor:running:
Claus Gittinger <cg@exept.de>
parents:
11288
diff
changeset
|
3378 |
|c found skipping rs rc r sel| |
2c2c4a0ec060
added: #getWhereContextFor:running:
Claus Gittinger <cg@exept.de>
parents:
11288
diff
changeset
|
3379 |
|
2c2c4a0ec060
added: #getWhereContextFor:running:
Claus Gittinger <cg@exept.de>
parents:
11288
diff
changeset
|
3380 |
con notNil ifTrue:[ |
15753 | 3381 |
c := con. |
3382 |
found := false. |
|
3383 |
isRunning ifFalse:[ |
|
3384 |
"/ search for a semaphore-wait in the top 10 contexts |
|
3385 |
1 to:10 do:[:n | |
|
3386 |
found ifFalse:[ |
|
3387 |
c notNil ifTrue:[ |
|
3388 |
(c receiver class == Semaphore) ifTrue:[ |
|
3389 |
(sel := c selector) == #wait ifTrue:[ |
|
3390 |
found := true. |
|
3391 |
]. |
|
3392 |
sel == #waitWithTimeout: ifTrue:[ |
|
3393 |
found := true. |
|
3394 |
]. |
|
3395 |
sel == #waitWithTimeoutMs: ifTrue:[ |
|
3396 |
found := true. |
|
3397 |
]. |
|
3398 |
]. |
|
3399 |
c := c sender. |
|
3400 |
] |
|
3401 |
] |
|
3402 |
]. |
|
3403 |
]. |
|
3404 |
found ifFalse:[ |
|
3405 |
"/ search for a non-processor, non-process |
|
3406 |
"/ receiver in the top 10 contexts |
|
3407 |
c := con. |
|
3408 |
1 to:10 do:[:n | |
|
3409 |
found ifFalse:[ |
|
3410 |
c notNil ifTrue:[ |
|
3411 |
((r := c receiver) ~~ Processor and:[ r class ~~ Process ]) ifTrue:[ |
|
3412 |
found := true. |
|
3413 |
] ifFalse:[ |
|
3414 |
c := c sender. |
|
3415 |
] |
|
3416 |
] |
|
3417 |
] |
|
3418 |
] |
|
3419 |
]. |
|
3420 |
||
3421 |
"/ skip, until an interesting context is found. |
|
3422 |
"/ This skips intermediate contexts, which lead |
|
3423 |
"/ to the sema-wait (for example, unwind blocks, delay-stuff etc.) |
|
3424 |
found ifFalse:[ |
|
3425 |
c := con |
|
3426 |
]. |
|
3427 |
skipping := true. |
|
3428 |
[ skipping ] whileTrue:[ |
|
3429 |
skipping := false. |
|
3430 |
(c notNil and:[ (r := c receiver) == Delay or:[ r class == Delay ] ]) ifTrue:[ |
|
3431 |
c := c sender. |
|
3432 |
skipping := true. |
|
3433 |
]. |
|
3434 |
(c notNil and:[ (r := c receiver) == Semaphore or:[ r class == Semaphore ] ]) ifTrue:[ |
|
3435 |
c := c sender. |
|
3436 |
skipping := true. |
|
3437 |
]. |
|
3438 |
[ |
|
3439 |
c notNil |
|
3440 |
and:[ c receiver isBlock |
|
3441 |
and:[ ((sel := c selector) startsWith:'value') |
|
3442 |
or:[ sel = 'doWhile:' |
|
3443 |
or:[ sel = 'doUntil:' |
|
3444 |
or:[ sel = 'ensure:' ]]]]] |
|
3445 |
] whileTrue:[ |
|
3446 |
c := c sender. |
|
3447 |
skipping := true. |
|
3448 |
]. |
|
3449 |
[ |
|
3450 |
c notNil |
|
3451 |
and:[ c receiver == OperatingSystem |
|
3452 |
and:[ c selector == #unblockInterrupts ] ] |
|
3453 |
] whileTrue:[ |
|
3454 |
c := c sender. |
|
3455 |
skipping := true. |
|
3456 |
]. |
|
3457 |
[ |
|
3458 |
c notNil |
|
3459 |
and:[ c isBlockContext ] |
|
3460 |
] whileTrue:[ |
|
3461 |
c := c home. |
|
3462 |
skipping := true. |
|
3463 |
]. |
|
3464 |
]. |
|
3465 |
c notNil ifTrue:[ |
|
3466 |
sel := c selector. |
|
3467 |
sel isNil ifTrue:[ |
|
3468 |
sel := '* unknown *' |
|
3469 |
]. |
|
3470 |
r := c receiver. |
|
3471 |
rc := r class. |
|
3472 |
rs := rc name. |
|
3473 |
(rc == SharedQueue |
|
3474 |
or:[rc == RecursionLock]) ifTrue:[ |
|
3475 |
rs := rs , ' (', (r identityHash bitShift:-12) hexPrintString,') '. |
|
3476 |
]. |
|
3477 |
^ (rs , '>>' , sel). |
|
3478 |
] |
|
11289
2c2c4a0ec060
added: #getWhereContextFor:running:
Claus Gittinger <cg@exept.de>
parents:
11288
diff
changeset
|
3479 |
]. |
2c2c4a0ec060
added: #getWhereContextFor:running:
Claus Gittinger <cg@exept.de>
parents:
11288
diff
changeset
|
3480 |
^ '' |
2c2c4a0ec060
added: #getWhereContextFor:running:
Claus Gittinger <cg@exept.de>
parents:
11288
diff
changeset
|
3481 |
|
2c2c4a0ec060
added: #getWhereContextFor:running:
Claus Gittinger <cg@exept.de>
parents:
11288
diff
changeset
|
3482 |
"Created: / 28-02-2012 / 11:48:22 / cg" |
2c2c4a0ec060
added: #getWhereContextFor:running:
Claus Gittinger <cg@exept.de>
parents:
11288
diff
changeset
|
3483 |
! |
2c2c4a0ec060
added: #getWhereContextFor:running:
Claus Gittinger <cg@exept.de>
parents:
11288
diff
changeset
|
3484 |
|
7811 | 3485 |
getWhereStringFor:con running:isRunning |
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3486 |
"retrieve a reasonable description of where the process is sitting around; |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3487 |
that is not the last context before the context switch, because that would |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3488 |
usually be too low level and non-descriptive; instead, walk up the sender chain to |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3489 |
a higher level waiter, such as a semaphore wait, a shared queue wait etc." |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3490 |
|
7810 | 3491 |
|c found skipping rs rc r sel| |
3492 |
||
4463 | 3493 |
con notNil ifTrue:[ |
18671 | 3494 |
c := con. |
3495 |
found := false. |
|
3496 |
isRunning ifFalse:[ |
|
3497 |
"/ search for a semaphore-wait in the top 10 contexts |
|
3498 |
1 to:10 do:[:n | |
|
3499 |
found ifFalse:[ |
|
3500 |
c notNil ifTrue:[ |
|
3501 |
(c receiver class == Semaphore) ifTrue:[ |
|
3502 |
((sel := c selector) == #wait |
|
3503 |
or:[sel == #waitWithTimeout: |
|
3504 |
or:[sel == #waitWithTimeoutMs:]] |
|
3505 |
) ifTrue:[ |
|
3506 |
found := true. |
|
3507 |
]. |
|
3508 |
]. |
|
3509 |
c := c sender. |
|
3510 |
] |
|
3511 |
] |
|
3512 |
]. |
|
3513 |
]. |
|
3514 |
found ifFalse:[ |
|
3515 |
"/ search for a non-processor, non-process |
|
3516 |
"/ receiver in the top 10 contexts |
|
3517 |
c := con. |
|
3518 |
1 to:10 do:[:n | |
|
3519 |
found ifFalse:[ |
|
3520 |
c notNil ifTrue:[ |
|
3521 |
((r := c receiver) ~~ Processor and:[ r class ~~ Process ]) ifTrue:[ |
|
3522 |
found := true. |
|
3523 |
] ifFalse:[ |
|
3524 |
c := c sender. |
|
3525 |
] |
|
3526 |
] |
|
3527 |
] |
|
3528 |
] |
|
3529 |
]. |
|
3530 |
||
3531 |
"/ skip, until an interesting context is found. |
|
3532 |
"/ This skips intermediate contexts, which lead |
|
3533 |
"/ to the sema-wait (for example, unwind blocks, delay-stuff etc.) |
|
3534 |
found ifFalse:[ |
|
3535 |
c := con |
|
3536 |
]. |
|
3537 |
skipping := true. |
|
3538 |
[ skipping ] whileTrue:[ |
|
3539 |
skipping := false. |
|
3540 |
(c notNil and:[ (r := c receiver) == Delay or:[ r class == Delay ] ]) ifTrue:[ |
|
3541 |
c := c sender. |
|
3542 |
skipping := true. |
|
3543 |
]. |
|
3544 |
(c notNil and:[ (r := c receiver) == Semaphore or:[ r class == Semaphore ] ]) ifTrue:[ |
|
3545 |
c := c sender. |
|
3546 |
skipping := true. |
|
3547 |
]. |
|
3548 |
[ |
|
3549 |
c notNil |
|
3550 |
and:[ c receiver isBlock |
|
3551 |
and:[ ((sel := c selector) startsWith:'value') |
|
3552 |
or:[ sel = 'doWhile:' |
|
3553 |
or:[ sel = 'doUntil:' |
|
3554 |
or:[ sel = 'ensure:' ]]]]] |
|
3555 |
] whileTrue:[ |
|
3556 |
c := c sender. |
|
3557 |
skipping := true. |
|
3558 |
]. |
|
3559 |
[ |
|
3560 |
c notNil |
|
3561 |
and:[ c receiver == OperatingSystem |
|
3562 |
and:[ c selector == #unblockInterrupts ] ] |
|
3563 |
] whileTrue:[ |
|
3564 |
c := c sender. |
|
3565 |
skipping := true. |
|
3566 |
]. |
|
3567 |
[ |
|
3568 |
c notNil and:[ c isBlockContext ] |
|
3569 |
] whileTrue:[ |
|
3570 |
c := c home. |
|
3571 |
skipping := true. |
|
3572 |
]. |
|
3573 |
]. |
|
3574 |
c notNil ifTrue:[ |
|
3575 |
sel := c selector. |
|
3576 |
sel isNil ifTrue:[ |
|
3577 |
sel := '* unknown *' |
|
3578 |
]. |
|
3579 |
r := c receiver. |
|
3580 |
rc := r class. |
|
3581 |
rs := rc name. |
|
3582 |
(rc == SharedQueue |
|
3583 |
or:[rc == RecursionLock]) ifTrue:[ |
|
3584 |
rs := rs , ' (', (r identityHash bitShift:-12) hexPrintString,') '. |
|
3585 |
]. |
|
3586 |
^ (rs , '>>' , sel). |
|
3587 |
] |
|
4463 | 3588 |
]. |
4504 | 3589 |
^ '' |
7810 | 3590 |
|
11288
a9e5e329714c
changed: #getWhereStringFor:running:
Claus Gittinger <cg@exept.de>
parents:
10849
diff
changeset
|
3591 |
"Modified: / 28-02-2012 / 11:43:30 / cg" |
18671 | 3592 |
"Modified: / 12-03-2019 / 17:54:47 / Claus Gittinger" |
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3593 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3594 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3595 |
getWindowTitleFor:aProcess |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3596 |
|wg topViews| |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3597 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3598 |
wg := self windowGroupOfProcess:aProcess. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3599 |
wg notNil ifTrue:[ |
16609 | 3600 |
(topViews := wg topViews) notEmptyOrNil ifTrue:[ |
3601 |
^ '"',(topViews first label ? '<nil>'),'"'. |
|
3602 |
]. |
|
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3603 |
]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3604 |
^ ''. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3605 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3606 |
"Created: / 17-08-2011 / 11:01:21 / cg" |
4463 | 3607 |
! ! |
3608 |
||
3609 |
!ProcessMonitorV2 methodsFor:'sorting'! |
|
3610 |
||
7811 | 3611 |
sortProcessListBy:instanceName |
4463 | 3612 |
"method to sort the list of BugReport" |
3613 |
||
3614 |
| aSymbol isReverse cmpOp currentSortOrder| |
|
3615 |
||
3616 |
aSymbol := instanceName asSymbol. |
|
3617 |
isReverse := false. |
|
3618 |
currentSortOrder := self currentSortOrder value. |
|
3619 |
currentSortOrder isEmpty ifTrue:[ |
|
7811 | 3620 |
currentSortOrder at:#column put:aSymbol. |
3621 |
currentSortOrder at:#reverse put:false. |
|
4463 | 3622 |
] ifFalse:[ |
7811 | 3623 |
(currentSortOrder at:#column) = aSymbol ifTrue:[ |
3624 |
"/ same column like before - change sort order ifReverse is true |
|
3625 |
isReverse := currentSortOrder at:#reverse. |
|
3626 |
currentSortOrder at:#reverse put:(isReverse not). |
|
3627 |
] ifFalse:[ |
|
3628 |
"/ another column - remark column |
|
3629 |
currentSortOrder at:#column put:aSymbol. |
|
3630 |
] |
|
4463 | 3631 |
]. |
3632 |
(currentSortOrder at:#reverse) ifTrue:[ |
|
7811 | 3633 |
cmpOp := #'>' |
4463 | 3634 |
] ifFalse:[ |
7811 | 3635 |
cmpOp := #'<' |
4463 | 3636 |
]. |
7811 | 3637 |
sortBlock := [:a :b | |
3638 |
|entry1 entry2| |
|
3639 |
||
3640 |
entry1 := (a perform:aSymbol) ? 0. |
|
3641 |
entry2 := (b perform:aSymbol) ? 0. |
|
3642 |
entry1 = entry2 ifTrue:[ |
|
3643 |
(a idVal < 0 and:[b idVal < 0]) ifTrue:[ |
|
3644 |
"/ two dead ones (take anything which remains constant) |
|
3645 |
a processName ~= b processName ifTrue:[ |
|
3646 |
a processName < b processName |
|
3647 |
] ifFalse:[ |
|
3648 |
a processInstance identityHash < b processInstance identityHash |
|
3649 |
] |
|
3650 |
] ifFalse:[ |
|
3651 |
a idVal < b idVal |
|
3652 |
] |
|
3653 |
] ifFalse:[ |
|
3654 |
entry1 perform:cmpOp with:entry2 |
|
3655 |
] |
|
3656 |
]. |
|
4498 | 3657 |
self viewedColumnsChanged. |
4463 | 3658 |
! ! |
3659 |
||
3660 |
!ProcessMonitorV2 methodsFor:'update process'! |
|
3661 |
||
7811 | 3662 |
fillItemInformationIn:processItem |
18671 | 3663 |
|state stateColor stateString running con aProcess group| |
4576
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3664 |
|
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3665 |
aProcess := processItem processInstance. |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3666 |
aProcess isNil ifTrue:[ |
16515 | 3667 |
^ self. |
4576
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3668 |
]. |
18671 | 3669 |
group := self getGroupStringFor:aProcess. |
3670 |
||
8408 | 3671 |
state := aProcess state. |
3672 |
running := (state == #run and:[aProcess == Processor interruptedProcess]). |
|
15753 | 3673 |
stateColor := (state == #run) |
18681 | 3674 |
ifTrue:[ Color darkGreen ] |
16515 | 3675 |
ifFalse:[ |
3676 |
(state == #debug or:[state == #stopped]) |
|
3677 |
ifTrue:[ Color red ] |
|
3678 |
ifFalse:[ Color black ]]. |
|
18671 | 3679 |
stateString := state asString withColor:stateColor. |
3680 |
||
3681 |
processItem |
|
3682 |
processId:(aProcess id) |
|
3683 |
idVal:(aProcess id ? -1) |
|
3684 |
processGroup:group |
|
3685 |
groupVal:(group isNumber ifTrue:[group] ifFalse:[-1]) |
|
3686 |
processStartTime:aProcess startTimestamp |
|
3687 |
processName:(aProcess name ? '') |
|
3688 |
processState:stateString. |
|
3689 |
||
4576
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3690 |
processItem processActive:(self getActiveStringFor:aProcess running:running). |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3691 |
|
18671 | 3692 |
"/ processItem processBlocked:(aProcess interruptsDisabled). |
4576
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3693 |
processItem prioVal:(aProcess priority). |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3694 |
processItem processPrio:(self getPrioStringFor:aProcess). |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3695 |
|
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3696 |
processItem processUsedStack:aProcess usedStackSize. |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3697 |
processItem processTotalStack:(self getTotalStackStringFor:aProcess). |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3698 |
|
18671 | 3699 |
"/ must be very careful here: the process might actually be |
3700 |
"/ resumed and con becomes invalid while we access it. |
|
3701 |
"/ this seems to be a bug in the current VM, in that it does not update |
|
3702 |
"/ the returned context-ref, when the method returns, |
|
3703 |
"/ AND the ref is from another process's local variable or a return value |
|
3704 |
"/ (it does, if it is ever stored into something...) |
|
3705 |
"/ Therefore, we must do this uninterruptably. |
|
3706 |
[ |
|
3707 |
con := aProcess suspendedContext. |
|
3708 |
con isNil ifTrue:[ |
|
3709 |
aProcess == Processor activeProcess ifTrue:[ |
|
3710 |
con := thisContext |
|
3711 |
] |
|
3712 |
]. |
|
3713 |
showWhere value ifTrue:[ |
|
3714 |
processItem processWhere:(self getWhereStringFor:con running:running). |
|
3715 |
]. |
|
3716 |
processItem processCurrentSegment:(self getCurrentSegmentStringFor:con). |
|
3717 |
con := nil. |
|
3718 |
] valueUninterruptably. |
|
3719 |
||
4576
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3720 |
processItem processSwitch:(aProcess numberOfStackBoundaryHits). |
11997 | 3721 |
showApplication value ifTrue:[ |
16515 | 3722 |
processItem processApplication:(self getApplicationStringFor:aProcess) |
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3723 |
]. |
11997 | 3724 |
showWindowTitle value ifTrue:[ |
16515 | 3725 |
processItem processWindowTitle:(self getWindowTitleFor:aProcess) |
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3726 |
]. |
11997 | 3727 |
showInstrumentation value ifTrue:[ |
16515 | 3728 |
processItem processInstrumentation:(self getInstrumentationStringFor:aProcess) |
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3729 |
]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3730 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3731 |
"Modified: / 17-08-2011 / 11:04:32 / cg" |
18681 | 3732 |
"Modified: / 13-03-2019 / 21:13:08 / Claus Gittinger" |
4576
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3733 |
! |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3734 |
|
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3735 |
fillItemInformationIn:processItem with:aProcess inArray:weakArrayWithProcesses atIndex:processInstanceIndexInWeakArray |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3736 |
|
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3737 |
processItem weakArrayWithProcesses:weakArrayWithProcesses. |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3738 |
processItem processInstanceIndexInWeakArray:processInstanceIndexInWeakArray. |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3739 |
self fillItemInformationIn:processItem |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3740 |
! |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3741 |
|
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3742 |
startUpdateProcess |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3743 |
updateBlock notNil ifTrue:[ |
16609 | 3744 |
Processor addTimedBlock:updateBlock afterSeconds:updateDelay. |
3745 |
Processor addTimedBlock:listUpdateBlock afterSeconds:listUpdateDelay. |
|
4576
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3746 |
] ifFalse:[ |
16609 | 3747 |
"after a restart, updateProcess is a dead process" |
18431 | 3748 |
(updateProcess isNil or:[updateProcess isDead]) ifTrue:[ |
3749 |
updateProcess := [ |
|
3750 |
[ |
|
3751 |
|id cnt myDelay| |
|
3752 |
||
3753 |
myDelay := Delay forSeconds:updateDelay. |
|
3754 |
||
3755 |
" |
|
3756 |
every updateDelay (0.5), we look which process runs; |
|
3757 |
every half second, the status is updated. |
|
3758 |
every listUpdateDelay (5s), the list of processes is |
|
3759 |
built up again |
|
3760 |
" |
|
3761 |
[true] whileTrue:[ |
|
3762 |
myDelay delay:updateDelay * 1000. |
|
3763 |
((listUpdateDelay // updateDelay) max:2) - 1 timesRepeat:[ |
|
3764 |
myDelay wait. |
|
3765 |
self updateStatus:nil. |
|
3766 |
]. |
|
16609 | 3767 |
myDelay wait. |
18431 | 3768 |
self updateList. |
3769 |
] |
|
3770 |
] ifCurtailed:[ |
|
3771 |
updateProcess := nil |
|
16609 | 3772 |
] |
18431 | 3773 |
] forkAt:(Processor userSchedulingPriority + 1). |
3774 |
updateProcess name:'monitor [' , |
|
3775 |
Processor activeProcess id printString , |
|
3776 |
'] update'. |
|
3777 |
" |
|
3778 |
raise my own priority |
|
3779 |
" |
|
3780 |
Processor activeProcess priority:(Processor userSchedulingPriority + 2) |
|
3781 |
]. |
|
4576
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3782 |
]. |
18338 | 3783 |
|
18431 | 3784 |
"Modified: / 25-09-2018 / 12:30:44 / Claus Gittinger" |
4576
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3785 |
! |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3786 |
|
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3787 |
updateChangedItem:oldItem newItem:newItem atIndex:index |
8408 | 3788 |
| colIdx newValue | |
3789 |
||
4498 | 3790 |
colIdx := 1. |
3791 |
||
4576
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3792 |
oldItem weakArrayWithProcesses:newItem weakArrayWithProcesses. |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3793 |
oldItem processInstanceIndexInWeakArray:newItem processInstanceIndexInWeakArray. |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
3794 |
|
4498 | 3795 |
"/ ID |
8408 | 3796 |
|
3797 |
oldItem processId ~= (newValue := newItem processId) ifTrue:[ |
|
15753 | 3798 |
oldItem processId:newValue. |
3799 |
processTable invalidateRowAt:index colAt:colIdx. |
|
4498 | 3800 |
]. |
7757 | 3801 |
|
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3802 |
#( |
15753 | 3803 |
( showGroup processGroup processGroup: ) |
3804 |
( true processName processName: ) |
|
3805 |
( showInstrumentation processInstrumentation processInstrumentation: ) |
|
3806 |
( true processActive processActive: ) |
|
3807 |
( showState processState processState: ) |
|
3808 |
( showPrio processPrio processPrio: ) |
|
3809 |
( showUsedStack processUsedStack processUsedStack: ) |
|
3810 |
( showTotalStack processTotalStack processTotalStack: ) |
|
3811 |
( showCurrentSegment processCurrentSegment processCurrentSegment: ) |
|
3812 |
( showSwitch processSwitch processSwitch: ) |
|
3813 |
( showWhere processWhere processWhere: ) |
|
3814 |
( showApplication processApplication processApplication: ) |
|
3815 |
( showWindowTitle processWindowTitle processWindowTitle: ) |
|
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3816 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3817 |
) do:[:eachAspect | |
15753 | 3818 |
|showHolder showHolderValue colValueGetter colValueSetter| |
3819 |
||
3820 |
showHolder := eachAspect at:1. |
|
3821 |
colValueGetter := eachAspect at:2. |
|
3822 |
colValueSetter := eachAspect at:3. |
|
3823 |
||
3824 |
showHolderValue := (showHolder == true) or:[ (self perform:showHolder) value ]. |
|
3825 |
showHolderValue ifTrue:[ |
|
3826 |
colIdx := colIdx + 1. |
|
3827 |
(oldItem perform:colValueGetter) ~= (newValue := (newItem perform:colValueGetter)) ifTrue:[ |
|
3828 |
oldItem perform:colValueSetter with:newValue. |
|
3829 |
processTable invalidateRowAt:index colAt:colIdx. |
|
3830 |
]. |
|
3831 |
]. |
|
4498 | 3832 |
]. |
7757 | 3833 |
|
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3834 |
"/ "/ GROUP |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3835 |
"/ self showGroup value ifTrue:[ |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3836 |
"/ colIdx := colIdx + 1. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3837 |
"/ oldItem processGroup ~= (newValue := newItem processGroup) ifTrue:[ |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3838 |
"/ oldItem processGroup:newValue. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3839 |
"/ processTable invalidateRowAt:index colAt:colIdx. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3840 |
"/ ]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3841 |
"/ ]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3842 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3843 |
"/ "/ NAME |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3844 |
"/ colIdx := colIdx + 1. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3845 |
"/ oldItem processName ~= (newValue := newItem processName) ifTrue:[ |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3846 |
"/ oldItem processName:newValue. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3847 |
"/ processTable invalidateRowAt:index colAt:colIdx. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3848 |
"/ ]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3849 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3850 |
"/ "/ ACTIVE |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3851 |
"/ colIdx := colIdx + 1. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3852 |
"/ oldItem processActive ~= (newValue := newItem processActive) ifTrue:[ |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3853 |
"/ oldItem processActive:newValue. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3854 |
"/ "/ (processTable columnAt:colIdx). |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3855 |
"/ processTable invalidateRowAt:index colAt:colIdx. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3856 |
"/ ]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3857 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3858 |
"/ "/ STATE |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3859 |
"/ showState value ifTrue:[ |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3860 |
"/ colIdx := colIdx + 1. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3861 |
"/ (oldItem processState sameStringAndEmphasisAs: (newValue := newItem processState)) ifFalse:[ |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3862 |
"/ oldItem processState:newValue. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3863 |
"/ processTable invalidateRowAt:index colAt:colIdx. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3864 |
"/ ]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3865 |
"/ ]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3866 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3867 |
"/ "/ PRIO |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3868 |
"/ showPrio value ifTrue:[ |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3869 |
"/ colIdx := colIdx + 1. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3870 |
"/ oldItem processPrio ~= (newValue := newItem processPrio) ifTrue:[ |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3871 |
"/ oldItem processPrio:newValue. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3872 |
"/ processTable invalidateRowAt:index colAt:colIdx. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3873 |
"/ ]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3874 |
"/ ]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3875 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3876 |
"/ "/ USED STACK |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3877 |
"/ showUsedStack value ifTrue:[ |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3878 |
"/ colIdx := colIdx + 1. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3879 |
"/ oldItem processUsedStack ~= (newValue := newItem processUsedStack) ifTrue:[ |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3880 |
"/ oldItem processUsedStack:newValue. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3881 |
"/ processTable invalidateRowAt:index colAt:colIdx. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3882 |
"/ ]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3883 |
"/ ]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3884 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3885 |
"/ "/ TOTAL STACK |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3886 |
"/ showTotalStack value ifTrue:[ |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3887 |
"/ colIdx := colIdx + 1. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3888 |
"/ oldItem processTotalStack ~= (newValue := newItem processTotalStack) ifTrue:[ |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3889 |
"/ oldItem processTotalStack:newValue. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3890 |
"/ processTable invalidateRowAt:index colAt:colIdx. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3891 |
"/ ]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3892 |
"/ ]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3893 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3894 |
"/ "/ CURRENT SEGMENT |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3895 |
"/ showCurrentSegment value ifTrue:[ |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3896 |
"/ colIdx := colIdx + 1. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3897 |
"/ oldItem processCurrentSegment ~= (newValue := newItem processCurrentSegment) ifTrue:[ |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3898 |
"/ oldItem processCurrentSegment:newValue. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3899 |
"/ processTable invalidateRowAt:index colAt:colIdx. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3900 |
"/ ]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3901 |
"/ ]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3902 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3903 |
"/ "/ Switch |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3904 |
"/ showSwitch value ifTrue:[ |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3905 |
"/ colIdx := colIdx + 1. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3906 |
"/ oldItem processSwitch ~= (newValue := newItem processSwitch) ifTrue:[ |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3907 |
"/ oldItem processSwitch:newValue. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3908 |
"/ processTable invalidateRowAt:index colAt:colIdx. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3909 |
"/ ]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3910 |
"/ ]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3911 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3912 |
"/ "/ WHERE |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3913 |
"/ showWhere value ifTrue:[ |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3914 |
"/ colIdx := colIdx + 1. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3915 |
"/ oldItem processWhere ~= (newValue := newItem processWhere) ifTrue:[ |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3916 |
"/ oldItem processWhere:newValue. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3917 |
"/ processTable invalidateRowAt:index colAt:colIdx. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3918 |
"/ ]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3919 |
"/ ]. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3920 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
3921 |
"Modified: / 17-08-2011 / 11:47:01 / cg" |
4498 | 3922 |
! |
3923 |
||
3924 |
updateList |
|
16609 | 3925 |
"recompute the list of processes" |
3926 |
||
4498 | 3927 |
|newList| |
3928 |
||
3929 |
processTable shown ifTrue:[ |
|
16609 | 3930 |
newList := self getProcessList. |
3931 |
visibleBlock notNil ifTrue:[ |
|
3932 |
newList := newList select:visibleBlock |
|
3933 |
]. |
|
3934 |
self updateStatus:newList. |
|
4498 | 3935 |
]. |
3936 |
updateBlock notNil ifTrue:[ |
|
16609 | 3937 |
Processor removeTimedBlock:listUpdateBlock. |
3938 |
Processor addTimedBlock:listUpdateBlock afterSeconds:listUpdateDelay |
|
4498 | 3939 |
]. |
3940 |
! |
|
3941 |
||
3942 |
updateStatus:newProcessList |
|
3943 |
|startTime endTime deltaT| |
|
3944 |
||
18510 | 3945 |
self window shown ifTrue:[ |
3946 |
startTime := Timestamp now. |
|
3947 |
updateSema critical:[ |
|
3948 |
self updateTable:newProcessList. |
|
16609 | 3949 |
]. |
18510 | 3950 |
endTime := Timestamp now. |
3951 |
||
3952 |
lastUpdateTimestamp notNil ifTrue:[ |
|
3953 |
|timeDelta newInterruptCount newTimerActionCount n nPerSecond s| |
|
3954 |
||
3955 |
timeDelta := (endTime - lastUpdateTimestamp) asMilliseconds / 1000.0. |
|
18608 | 3956 |
timeDelta > 0 ifTrue:[ |
3957 |
"/ update the interrupt counts |
|
3958 |
newInterruptCount := Processor interruptCounter. |
|
3959 |
newTimerActionCount := Processor timedActionCounter. |
|
3960 |
lastInterruptCount notNil ifTrue:[ |
|
3961 |
"/ attention - these are modulu counters. |
|
3962 |
newInterruptCount >= lastInterruptCount ifTrue:[ |
|
3963 |
n := newInterruptCount-lastInterruptCount. |
|
3964 |
n == 0 ifTrue:[ |
|
3965 |
"/ the common case |
|
3966 |
s := '0' |
|
3967 |
] ifFalse:[ |
|
3968 |
nPerSecond := n / timeDelta. |
|
3969 |
s := (nPerSecond asInteger "asFixedPoint:1") printString |
|
3970 |
]. |
|
3971 |
self interruptCountHolder value:s |
|
18510 | 3972 |
]. |
18608 | 3973 |
]. |
3974 |
lastTimerActionCount notNil ifTrue:[ |
|
3975 |
"/ attention - these are modulu counters. |
|
3976 |
newTimerActionCount >= lastTimerActionCount ifTrue:[ |
|
3977 |
n := newTimerActionCount-lastTimerActionCount. |
|
3978 |
n == 0 ifTrue:[ |
|
3979 |
"/ the common case |
|
3980 |
s := '0' |
|
3981 |
] ifFalse:[ |
|
3982 |
nPerSecond := n / timeDelta. |
|
3983 |
s := (nPerSecond asInteger "asFixedPoint:1") printString |
|
3984 |
]. |
|
3985 |
self timerActionCountHolder value:s |
|
18510 | 3986 |
]. |
18608 | 3987 |
]. |
3988 |
||
3989 |
lastInterruptCount := newInterruptCount. |
|
3990 |
lastTimerActionCount := newTimerActionCount. |
|
3991 |
]. |
|
16609 | 3992 |
]. |
18510 | 3993 |
lastUpdateTimestamp := endTime. |
3994 |
||
3995 |
"/ a check, in case the computation took longer than 20% |
|
3996 |
"/ of the delay time. Then increase the update interval. |
|
3997 |
"/ This is to avoid that the processMonitor creates too much overhead |
|
3998 |
"/ (in case we have many processes) |
|
3999 |
deltaT := (endTime millisecondDeltaFrom:startTime) / 1000.0. |
|
4000 |
"/ Transcript show:deltaT; show:' ' ; showCR:(self scaledUpdateContentsDelayTime / 10.0). |
|
4001 |
deltaT > (updateDelay / 5) ifTrue:[ |
|
4002 |
"/ the update took longer than 20% - make delay longer, to reduce cpu load. |
|
4003 |
updateDelay := updateDelay * 2. |
|
4004 |
self updateContentsDelayTimeHolder value:updateDelay. |
|
4005 |
"/ Transcript show:'+++ '; showCR:self scaledUpdateContentsDelayTime. |
|
4006 |
]. |
|
4498 | 4007 |
]. |
16609 | 4008 |
|
4498 | 4009 |
updateBlock notNil ifTrue:[ |
16609 | 4010 |
Processor removeTimedBlock:updateBlock. |
4011 |
Processor addTimedBlock:updateBlock afterSeconds:updateDelay. |
|
4498 | 4012 |
] |
18510 | 4013 |
|
18608 | 4014 |
"Modified: / 21-02-2019 / 16:21:31 / Claus Gittinger" |
4498 | 4015 |
! |
4016 |
||
4017 |
updateTable:newProcessList |
|
16609 | 4018 |
|oldSelection newList sel diff weakProcessList showDead| |
4019 |
||
4020 |
processTable shown ifFalse:[^ self]. |
|
4021 |
||
4022 |
showDead := self showDeadHolder value. |
|
4023 |
||
4024 |
"/ Transcript showCR:('update the table', Timestamp now printString, 'with new list:', newProcessList notNil asString). |
|
4025 |
sel := self selectedProcesses value. |
|
4026 |
sel notNil ifTrue:[ |
|
4027 |
oldSelection := OrderedCollection new. |
|
4028 |
sel do:[:proItem| |
|
4029 |
proItem processInstance notNil ifTrue:[ |
|
4030 |
oldSelection add:(proItem processInstance) |
|
4031 |
]. |
|
4032 |
]. |
|
4033 |
]. |
|
4034 |
||
4035 |
newList := OrderedCollection new. |
|
4036 |
||
4037 |
"/ Transcript showCR:'oldSelection on catch in updateTable: ', (oldSelection isEmptyOrNil ifTrue:['nil'] ifFalse:[oldSelection first printString]). |
|
4038 |
newProcessList isNil ifTrue:[ |
|
4039 |
processList do:[:oldItem | |
|
4040 |
| newItem process| |
|
4041 |
(showDead |
|
4042 |
or:[ |
|
4043 |
(process := oldItem processInstance) notNil |
|
4044 |
and:[process isDead not]] |
|
4045 |
) ifTrue:[ |
|
4046 |
newItem := oldItem copy. |
|
4047 |
self fillItemInformationIn:newItem. |
|
4048 |
newList add:newItem. |
|
4049 |
] |
|
4050 |
]. |
|
4051 |
] ifFalse:[ |
|
4052 |
"/ remove dead processes if not shown |
|
4053 |
weakProcessList := WeakArray withAll:newProcessList. |
|
4054 |
weakProcessList keysAndValuesDo:[:indexInWeakArray :procOrNilOrZero | |
|
4055 |
"/ in a weakarray, dead entries are 0 |
|
4056 |
(procOrNilOrZero notNil and:[procOrNilOrZero class ~~ SmallInteger]) ifTrue:[ |
|
4057 |
(procOrNilOrZero isDead not or:[showDead]) ifTrue:[ |
|
4058 |
| processItem | |
|
4059 |
processItem := ProcessItem new. |
|
4060 |
self fillItemInformationIn:processItem with:procOrNilOrZero inArray:weakProcessList atIndex:indexInWeakArray. |
|
4061 |
newList add:processItem. |
|
4062 |
] |
|
4063 |
] |
|
4064 |
]. |
|
4065 |
]. |
|
4066 |
newList sort:self sortBlock. |
|
4067 |
newList doWithIndex:[:newItem :index| |
|
4068 |
| oldItem | |
|
4069 |
oldItem := processList at:index ifAbsent:nil. |
|
4070 |
oldItem isNil ifTrue:[ |
|
4071 |
processList add:newItem beforeIndex:index |
|
4072 |
] ifFalse:[ |
|
4073 |
self updateChangedItem:oldItem newItem:newItem atIndex:index |
|
4074 |
] |
|
4075 |
]. |
|
4076 |
diff := processList size - newList size. |
|
4077 |
diff > 0 ifTrue:[ |
|
4078 |
processList removeLast:diff |
|
4079 |
]. |
|
4498 | 4080 |
"/ Transcript showCR:'oldSelection on set in updateTable: ', (oldSelection isEmptyOrNil ifTrue:['nil'] ifFalse:[oldSelection first printString]). |
16609 | 4081 |
self changeSelectionToProcesses:oldSelection. |
18577 | 4082 |
! |
4083 |
||
4084 |
updateView |
|
4085 |
self updateList |
|
4086 |
||
4087 |
"Created: / 04-02-2019 / 17:13:47 / Claus Gittinger" |
|
4463 | 4088 |
! ! |
4089 |
||
4090 |
!ProcessMonitorV2::ProcessItem methodsFor:'accessing'! |
|
4091 |
||
4092 |
groupVal |
|
18671 | 4093 |
"return the groupId" |
4463 | 4094 |
|
4095 |
^ groupVal |
|
18671 | 4096 |
|
4097 |
"Modified (comment): / 12-03-2019 / 17:58:12 / Claus Gittinger" |
|
4463 | 4098 |
! |
4099 |
||
18671 | 4100 |
groupVal:groupIdInteger |
4101 |
"set the groupId" |
|
4102 |
||
4103 |
groupVal := groupIdInteger. |
|
4104 |
||
4105 |
"Modified (comment): / 12-03-2019 / 17:58:38 / Claus Gittinger" |
|
4463 | 4106 |
! |
4107 |
||
4108 |
idVal |
|
18671 | 4109 |
"return the processId" |
4463 | 4110 |
|
4111 |
^ idVal |
|
18671 | 4112 |
|
4113 |
"Modified (comment): / 12-03-2019 / 17:58:19 / Claus Gittinger" |
|
4463 | 4114 |
! |
4115 |
||
18671 | 4116 |
idVal:idInteger |
4117 |
"set the processId" |
|
4118 |
||
4119 |
idVal := idInteger. |
|
4120 |
||
4121 |
"Modified (comment): / 12-03-2019 / 17:58:29 / Claus Gittinger" |
|
4463 | 4122 |
! |
4123 |
||
4124 |
prioVal |
|
4125 |
"return the value of the instance variable 'prioVal' (automatically generated)" |
|
4126 |
||
4127 |
^ prioVal |
|
4128 |
! |
|
4129 |
||
4130 |
prioVal:something |
|
4131 |
"set the value of the instance variable 'prioVal' (automatically generated)" |
|
4132 |
||
4133 |
prioVal := something. |
|
4134 |
! |
|
4135 |
||
4576
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4136 |
processActive |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4137 |
"return the value of the instance variable 'processActive' (automatically generated)" |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4138 |
|
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4139 |
^ processActive |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4140 |
! |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4141 |
|
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4142 |
processActive:something |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4143 |
"set the value of the instance variable 'processActive' (automatically generated)" |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4144 |
|
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4145 |
processActive := something. |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4146 |
! |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4147 |
|
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
4148 |
processApplication |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
4149 |
^ processApplication |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
4150 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
4151 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
4152 |
processApplication:something |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
4153 |
processApplication := something. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
4154 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
4155 |
|
9526
2825b947679d
comment/format in: #fillItemInformationIn:
Claus Gittinger <cg@exept.de>
parents:
9480
diff
changeset
|
4156 |
processBlocked |
2825b947679d
comment/format in: #fillItemInformationIn:
Claus Gittinger <cg@exept.de>
parents:
9480
diff
changeset
|
4157 |
^ processBlocked |
2825b947679d
comment/format in: #fillItemInformationIn:
Claus Gittinger <cg@exept.de>
parents:
9480
diff
changeset
|
4158 |
|
2825b947679d
comment/format in: #fillItemInformationIn:
Claus Gittinger <cg@exept.de>
parents:
9480
diff
changeset
|
4159 |
"Created: / 18-07-2010 / 23:52:26 / cg" |
2825b947679d
comment/format in: #fillItemInformationIn:
Claus Gittinger <cg@exept.de>
parents:
9480
diff
changeset
|
4160 |
! |
2825b947679d
comment/format in: #fillItemInformationIn:
Claus Gittinger <cg@exept.de>
parents:
9480
diff
changeset
|
4161 |
|
2825b947679d
comment/format in: #fillItemInformationIn:
Claus Gittinger <cg@exept.de>
parents:
9480
diff
changeset
|
4162 |
processBlocked:aBoolean |
2825b947679d
comment/format in: #fillItemInformationIn:
Claus Gittinger <cg@exept.de>
parents:
9480
diff
changeset
|
4163 |
processBlocked := aBoolean. |
2825b947679d
comment/format in: #fillItemInformationIn:
Claus Gittinger <cg@exept.de>
parents:
9480
diff
changeset
|
4164 |
|
2825b947679d
comment/format in: #fillItemInformationIn:
Claus Gittinger <cg@exept.de>
parents:
9480
diff
changeset
|
4165 |
"Created: / 18-07-2010 / 23:52:41 / cg" |
2825b947679d
comment/format in: #fillItemInformationIn:
Claus Gittinger <cg@exept.de>
parents:
9480
diff
changeset
|
4166 |
! |
2825b947679d
comment/format in: #fillItemInformationIn:
Claus Gittinger <cg@exept.de>
parents:
9480
diff
changeset
|
4167 |
|
4463 | 4168 |
processCurrentSegment |
4169 |
"return the value of the instance variable 'processCurrentSegment' (automatically generated)" |
|
4170 |
||
4171 |
^ processCurrentSegment |
|
4172 |
! |
|
4173 |
||
4174 |
processCurrentSegment:something |
|
4175 |
"set the value of the instance variable 'processCurrentSegment' (automatically generated)" |
|
4176 |
||
4177 |
processCurrentSegment := something. |
|
4178 |
! |
|
4179 |
||
4180 |
processGroup |
|
4181 |
"return the value of the instance variable 'processGroup' (automatically generated)" |
|
4182 |
||
4183 |
^ processGroup |
|
4184 |
! |
|
4185 |
||
4186 |
processGroup:something |
|
4187 |
"set the value of the instance variable 'processGroup' (automatically generated)" |
|
4188 |
||
4189 |
processGroup := something. |
|
4190 |
! |
|
4191 |
||
4192 |
processId |
|
4193 |
"return the value of the instance variable 'processId' (automatically generated)" |
|
4194 |
||
4195 |
^ processId |
|
4196 |
! |
|
4197 |
||
18671 | 4198 |
processId:processIdArg |
4199 |
processId := processIdArg. |
|
4200 |
||
4201 |
"Modified (comment): / 12-03-2019 / 17:57:05 / Claus Gittinger" |
|
4202 |
! |
|
4203 |
||
4204 |
processId:processIdArg idVal:idArg processGroup:processGroupArg groupVal:groupValArg |
|
4205 |
processStartTime:processStartTimeArg processName:processNameArg processState:processStateArg |
|
4206 |
processId := processIdArg. |
|
4207 |
idVal := idArg. |
|
4208 |
processGroup := processGroupArg. |
|
4209 |
groupVal := groupValArg. |
|
4210 |
startTimestamp := processStartTimeArg. |
|
4211 |
processName := processNameArg. |
|
4212 |
processState := processStateArg. |
|
4213 |
||
4214 |
"Created: / 12-03-2019 / 18:06:49 / Claus Gittinger" |
|
4463 | 4215 |
! |
4216 |
||
4217 |
processInstance |
|
4218 |
"return the value of the instance variable 'processInstance' (automatically generated)" |
|
4219 |
||
4576
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4220 |
|procOrNilOrZero| |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4221 |
|
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4222 |
procOrNilOrZero := weakArrayWithProcesses at:processInstanceIndexInWeakArray. |
15756 | 4223 |
procOrNilOrZero class == SmallInteger ifTrue:[^ nil]. |
4576
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4224 |
^ procOrNilOrZero |
4463 | 4225 |
! |
4226 |
||
4227 |
processInstance:something |
|
4228 |
"set the value of the instance variable 'processInstance' (automatically generated)" |
|
4229 |
||
4230 |
processInstance := something. |
|
4231 |
! |
|
4232 |
||
4576
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4233 |
processInstanceIndexInWeakArray |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4234 |
"return the value of the instance variable 'processInstanceIndexInWeakArray' (automatically generated)" |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4235 |
|
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4236 |
^ processInstanceIndexInWeakArray |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4237 |
! |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4238 |
|
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4239 |
processInstanceIndexInWeakArray:something |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4240 |
"set the value of the instance variable 'processInstanceIndexInWeakArray' (automatically generated)" |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4241 |
|
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4242 |
processInstanceIndexInWeakArray := something. |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4243 |
! |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4244 |
|
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
4245 |
processInstrumentation |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
4246 |
^ processInstrumentation |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
4247 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
4248 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
4249 |
processInstrumentation:something |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
4250 |
processInstrumentation := something. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
4251 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
4252 |
|
4463 | 4253 |
processName |
4254 |
"return the value of the instance variable 'processName' (automatically generated)" |
|
4255 |
||
4256 |
^ processName |
|
4257 |
! |
|
4258 |
||
4259 |
processName:something |
|
4260 |
"set the value of the instance variable 'processName' (automatically generated)" |
|
4261 |
||
4262 |
processName := something. |
|
4263 |
! |
|
4264 |
||
4265 |
processPrio |
|
4266 |
"return the value of the instance variable 'processPrio' (automatically generated)" |
|
4267 |
||
4268 |
^ processPrio |
|
4269 |
! |
|
4270 |
||
4271 |
processPrio:something |
|
4272 |
processPrio := something. |
|
4273 |
! |
|
4274 |
||
17300 | 4275 |
processStartTime |
4276 |
"return the value of the instance variable 'startTime' (automatically generated)" |
|
4277 |
||
4278 |
^ startTimestamp |
|
4279 |
! |
|
4280 |
||
4281 |
processStartTime:aTimestamp |
|
4282 |
"set the value of the instance variable 'startTime' (automatically generated)" |
|
4283 |
||
4284 |
startTimestamp := aTimestamp |
|
4285 |
! |
|
4286 |
||
4463 | 4287 |
processState |
4288 |
^ processState |
|
4289 |
! |
|
4290 |
||
4291 |
processState:something |
|
4292 |
processState := something. |
|
4293 |
! |
|
4294 |
||
4295 |
processSwitch |
|
4296 |
^ processSwitch |
|
4297 |
! |
|
4298 |
||
4299 |
processSwitch:something |
|
4300 |
processSwitch := something. |
|
4301 |
! |
|
4302 |
||
4303 |
processTotalStack |
|
4304 |
^ processTotalStack |
|
4305 |
! |
|
4306 |
||
4307 |
processTotalStack:something |
|
4308 |
processTotalStack := something. |
|
4309 |
! |
|
4310 |
||
4311 |
processUsedStack |
|
4312 |
^ processUsedStack |
|
4313 |
! |
|
4314 |
||
4315 |
processUsedStack:something |
|
4316 |
processUsedStack := something. |
|
4317 |
! |
|
4318 |
||
4319 |
processWhere |
|
4320 |
^ processWhere |
|
4321 |
! |
|
4322 |
||
4323 |
processWhere:something |
|
4324 |
processWhere := something. |
|
4576
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4325 |
! |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4326 |
|
10578
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
4327 |
processWindowTitle |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
4328 |
^ processWindowTitle |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
4329 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
4330 |
|
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
4331 |
processWindowTitle:something |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
4332 |
processWindowTitle := something. |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
4333 |
! |
2ca84430d4a2
more view options + instrumentation menu
Claus Gittinger <cg@exept.de>
parents:
9807
diff
changeset
|
4334 |
|
4576
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4335 |
weakArrayWithProcesses |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4336 |
^ weakArrayWithProcesses |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4337 |
! |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4338 |
|
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4339 |
weakArrayWithProcesses:something |
4423626f9dfe
now the dead processes are gone if collect garbage will pressed in
penk
parents:
4570
diff
changeset
|
4340 |
weakArrayWithProcesses := something. |
4463 | 4341 |
! ! |
4342 |
||
4498 | 4343 |
!ProcessMonitorV2::ProcessItem methodsFor:'printing'! |
4344 |
||
8001
07add94fd83b
Define #printOn: for each method defining #printString
Stefan Vogel <sv@exept.de>
parents:
7921
diff
changeset
|
4345 |
printOn:aStream |
07add94fd83b
Define #printOn: for each method defining #printString
Stefan Vogel <sv@exept.de>
parents:
7921
diff
changeset
|
4346 |
(self processName ? '') printOn:aStream. |
07add94fd83b
Define #printOn: for each method defining #printString
Stefan Vogel <sv@exept.de>
parents:
7921
diff
changeset
|
4347 |
aStream nextPut:$[. |
15753 | 4348 |
(self processId ? '') printOn:aStream. |
8001
07add94fd83b
Define #printOn: for each method defining #printString
Stefan Vogel <sv@exept.de>
parents:
7921
diff
changeset
|
4349 |
aStream nextPut:$]. |
4498 | 4350 |
! ! |
4351 |
||
4463 | 4352 |
!ProcessMonitorV2 class methodsFor:'documentation'! |
4353 |
||
4354 |
version |
|
15753 | 4355 |
^ '$Header$' |
9035
90950862113a
no need for #asText to emphasize a string
Claus Gittinger <cg@exept.de>
parents:
8652
diff
changeset
|
4356 |
! |
90950862113a
no need for #asText to emphasize a string
Claus Gittinger <cg@exept.de>
parents:
8652
diff
changeset
|
4357 |
|
90950862113a
no need for #asText to emphasize a string
Claus Gittinger <cg@exept.de>
parents:
8652
diff
changeset
|
4358 |
version_CVS |
15753 | 4359 |
^ '$Header$' |
4463 | 4360 |
! ! |
12095 | 4361 |