ProcessMonitorV2.st
author penk
Tue, 21 Jan 2003 16:17:38 +0100
changeset 4463 99d11fbee2af
child 4468 cc786dd7b4cb
permissions -rw-r--r--
initial checkin
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4463
99d11fbee2af initial checkin
penk
parents:
diff changeset
     1
"{ Package: 'stx:libtool' }"
99d11fbee2af initial checkin
penk
parents:
diff changeset
     2
99d11fbee2af initial checkin
penk
parents:
diff changeset
     3
SystemStatusMonitorV2 subclass:#ProcessMonitorV2
99d11fbee2af initial checkin
penk
parents:
diff changeset
     4
	instanceVariableNames:'processList tableColumns selectedProcesses updateSema showDetail
99d11fbee2af initial checkin
penk
parents:
diff changeset
     5
		hasSelection selctionRestartable showProcessId showGroup
99d11fbee2af initial checkin
penk
parents:
diff changeset
     6
		showState showPrio showUsedStack showTotalStack
99d11fbee2af initial checkin
penk
parents:
diff changeset
     7
		showCurrentSegment showSwitch showWhere currentSortOrder
99d11fbee2af initial checkin
penk
parents:
diff changeset
     8
		processTable processes showDead sortBlock selectionRestartable'
99d11fbee2af initial checkin
penk
parents:
diff changeset
     9
	classVariableNames:''
99d11fbee2af initial checkin
penk
parents:
diff changeset
    10
	poolDictionaries:''
99d11fbee2af initial checkin
penk
parents:
diff changeset
    11
	category:'Monitors-ST/X'
99d11fbee2af initial checkin
penk
parents:
diff changeset
    12
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
    13
99d11fbee2af initial checkin
penk
parents:
diff changeset
    14
Object subclass:#ProcessItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
    15
	instanceVariableNames:'processId processGroup processName processState processPrio
99d11fbee2af initial checkin
penk
parents:
diff changeset
    16
		processUsedStack processTotalStack processWhere processInstance
99d11fbee2af initial checkin
penk
parents:
diff changeset
    17
		processCurrentSegment processSwitch prioVal idVal groupVal'
99d11fbee2af initial checkin
penk
parents:
diff changeset
    18
	classVariableNames:''
99d11fbee2af initial checkin
penk
parents:
diff changeset
    19
	poolDictionaries:''
99d11fbee2af initial checkin
penk
parents:
diff changeset
    20
	privateIn:ProcessMonitorV2
99d11fbee2af initial checkin
penk
parents:
diff changeset
    21
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
    22
99d11fbee2af initial checkin
penk
parents:
diff changeset
    23
!ProcessMonitorV2 class methodsFor:'documentation'!
99d11fbee2af initial checkin
penk
parents:
diff changeset
    24
99d11fbee2af initial checkin
penk
parents:
diff changeset
    25
documentation
99d11fbee2af initial checkin
penk
parents:
diff changeset
    26
"
99d11fbee2af initial checkin
penk
parents:
diff changeset
    27
    documentation to be added.
99d11fbee2af initial checkin
penk
parents:
diff changeset
    28
99d11fbee2af initial checkin
penk
parents:
diff changeset
    29
    [author:]
99d11fbee2af initial checkin
penk
parents:
diff changeset
    30
        Christian Penk (penk@bierfix)
99d11fbee2af initial checkin
penk
parents:
diff changeset
    31
99d11fbee2af initial checkin
penk
parents:
diff changeset
    32
    [instance variables:]
99d11fbee2af initial checkin
penk
parents:
diff changeset
    33
99d11fbee2af initial checkin
penk
parents:
diff changeset
    34
    [class variables:]
99d11fbee2af initial checkin
penk
parents:
diff changeset
    35
99d11fbee2af initial checkin
penk
parents:
diff changeset
    36
    [see also:]
99d11fbee2af initial checkin
penk
parents:
diff changeset
    37
99d11fbee2af initial checkin
penk
parents:
diff changeset
    38
"
99d11fbee2af initial checkin
penk
parents:
diff changeset
    39
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
    40
99d11fbee2af initial checkin
penk
parents:
diff changeset
    41
examples
99d11fbee2af initial checkin
penk
parents:
diff changeset
    42
"
99d11fbee2af initial checkin
penk
parents:
diff changeset
    43
  Starting the application:
99d11fbee2af initial checkin
penk
parents:
diff changeset
    44
                                                                [exBegin]
99d11fbee2af initial checkin
penk
parents:
diff changeset
    45
    ProcessMonitorV2 open
99d11fbee2af initial checkin
penk
parents:
diff changeset
    46
99d11fbee2af initial checkin
penk
parents:
diff changeset
    47
                                                                [exEnd]
99d11fbee2af initial checkin
penk
parents:
diff changeset
    48
99d11fbee2af initial checkin
penk
parents:
diff changeset
    49
  more examples to be added:
99d11fbee2af initial checkin
penk
parents:
diff changeset
    50
                                                                [exBegin]
99d11fbee2af initial checkin
penk
parents:
diff changeset
    51
    ... add code fragment for 
99d11fbee2af initial checkin
penk
parents:
diff changeset
    52
    ... executable example here ...
99d11fbee2af initial checkin
penk
parents:
diff changeset
    53
                                                                [exEnd]
99d11fbee2af initial checkin
penk
parents:
diff changeset
    54
"
99d11fbee2af initial checkin
penk
parents:
diff changeset
    55
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
    56
99d11fbee2af initial checkin
penk
parents:
diff changeset
    57
history
99d11fbee2af initial checkin
penk
parents:
diff changeset
    58
    "Created: / 14.1.2003 / 11:16:10 / penk"
99d11fbee2af initial checkin
penk
parents:
diff changeset
    59
! !
99d11fbee2af initial checkin
penk
parents:
diff changeset
    60
99d11fbee2af initial checkin
penk
parents:
diff changeset
    61
!ProcessMonitorV2 class methodsFor:'defaults'!
99d11fbee2af initial checkin
penk
parents:
diff changeset
    62
99d11fbee2af initial checkin
penk
parents:
diff changeset
    63
defaultIcon
99d11fbee2af initial checkin
penk
parents:
diff changeset
    64
    |i|
99d11fbee2af initial checkin
penk
parents:
diff changeset
    65
99d11fbee2af initial checkin
penk
parents:
diff changeset
    66
    i := Image fromFile:'ProcMon.xbm'.
99d11fbee2af initial checkin
penk
parents:
diff changeset
    67
    i notNil ifTrue:[^ i].
99d11fbee2af initial checkin
penk
parents:
diff changeset
    68
    ^ super defaultIcon
99d11fbee2af initial checkin
penk
parents:
diff changeset
    69
99d11fbee2af initial checkin
penk
parents:
diff changeset
    70
    "Modified: 23.1.1997 / 02:52:31 / cg"
99d11fbee2af initial checkin
penk
parents:
diff changeset
    71
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
    72
99d11fbee2af initial checkin
penk
parents:
diff changeset
    73
defaultLabel
99d11fbee2af initial checkin
penk
parents:
diff changeset
    74
    ^ 'Process Monitor'
99d11fbee2af initial checkin
penk
parents:
diff changeset
    75
! !
99d11fbee2af initial checkin
penk
parents:
diff changeset
    76
99d11fbee2af initial checkin
penk
parents:
diff changeset
    77
!ProcessMonitorV2 class methodsFor:'help specs'!
99d11fbee2af initial checkin
penk
parents:
diff changeset
    78
99d11fbee2af initial checkin
penk
parents:
diff changeset
    79
helpSpec
99d11fbee2af initial checkin
penk
parents:
diff changeset
    80
    "This resource specification was automatically generated
99d11fbee2af initial checkin
penk
parents:
diff changeset
    81
     by the UIHelpTool of ST/X."
99d11fbee2af initial checkin
penk
parents:
diff changeset
    82
99d11fbee2af initial checkin
penk
parents:
diff changeset
    83
    "Do not manually edit this!! If it is corrupted,
99d11fbee2af initial checkin
penk
parents:
diff changeset
    84
     the UIHelpTool may not be able to read the specification."
99d11fbee2af initial checkin
penk
parents:
diff changeset
    85
99d11fbee2af initial checkin
penk
parents:
diff changeset
    86
    "
99d11fbee2af initial checkin
penk
parents:
diff changeset
    87
     UIHelpTool openOnClass:ProcessMonitorV2    
99d11fbee2af initial checkin
penk
parents:
diff changeset
    88
    "
99d11fbee2af initial checkin
penk
parents:
diff changeset
    89
99d11fbee2af initial checkin
penk
parents:
diff changeset
    90
    <resource: #help>
99d11fbee2af initial checkin
penk
parents:
diff changeset
    91
99d11fbee2af initial checkin
penk
parents:
diff changeset
    92
    ^ super helpSpec addPairsFrom:#(
99d11fbee2af initial checkin
penk
parents:
diff changeset
    93
99d11fbee2af initial checkin
penk
parents:
diff changeset
    94
#toggleDetails
99d11fbee2af initial checkin
penk
parents:
diff changeset
    95
''
99d11fbee2af initial checkin
penk
parents:
diff changeset
    96
99d11fbee2af initial checkin
penk
parents:
diff changeset
    97
)
99d11fbee2af initial checkin
penk
parents:
diff changeset
    98
! !
99d11fbee2af initial checkin
penk
parents:
diff changeset
    99
99d11fbee2af initial checkin
penk
parents:
diff changeset
   100
!ProcessMonitorV2 class methodsFor:'image specs'!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   101
99d11fbee2af initial checkin
penk
parents:
diff changeset
   102
detailsMenuIconDown
99d11fbee2af initial checkin
penk
parents:
diff changeset
   103
    "This resource specification was automatically generated
99d11fbee2af initial checkin
penk
parents:
diff changeset
   104
     by the ImageEditor of ST/X."
99d11fbee2af initial checkin
penk
parents:
diff changeset
   105
99d11fbee2af initial checkin
penk
parents:
diff changeset
   106
    "Do not manually edit this!! If it is corrupted,
99d11fbee2af initial checkin
penk
parents:
diff changeset
   107
     the ImageEditor may not be able to read the specification."
99d11fbee2af initial checkin
penk
parents:
diff changeset
   108
99d11fbee2af initial checkin
penk
parents:
diff changeset
   109
    "
99d11fbee2af initial checkin
penk
parents:
diff changeset
   110
     self detailsMenuIconDown inspect
99d11fbee2af initial checkin
penk
parents:
diff changeset
   111
     ImageEditor openOnClass:self andSelector:#detailsMenuIconDown
99d11fbee2af initial checkin
penk
parents:
diff changeset
   112
     Icon flushCachedIcons
99d11fbee2af initial checkin
penk
parents:
diff changeset
   113
    "
99d11fbee2af initial checkin
penk
parents:
diff changeset
   114
99d11fbee2af initial checkin
penk
parents:
diff changeset
   115
    <resource: #image>
99d11fbee2af initial checkin
penk
parents:
diff changeset
   116
99d11fbee2af initial checkin
penk
parents:
diff changeset
   117
    ^Icon
99d11fbee2af initial checkin
penk
parents:
diff changeset
   118
        constantNamed:#'ProcessMonitorV2 class detailsMenuIconDown'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   119
        ifAbsentPut:[(Depth1Image new) width: 7; height: 5; photometric:(#palette); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255]; mask:((Depth1Image new) width: 7; height: 5; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@A@(UJ(b') ; yourself); yourself]
99d11fbee2af initial checkin
penk
parents:
diff changeset
   120
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   121
99d11fbee2af initial checkin
penk
parents:
diff changeset
   122
detailsMenuIconUp
99d11fbee2af initial checkin
penk
parents:
diff changeset
   123
    "This resource specification was automatically generated
99d11fbee2af initial checkin
penk
parents:
diff changeset
   124
     by the ImageEditor of ST/X."
99d11fbee2af initial checkin
penk
parents:
diff changeset
   125
99d11fbee2af initial checkin
penk
parents:
diff changeset
   126
    "Do not manually edit this!! If it is corrupted,
99d11fbee2af initial checkin
penk
parents:
diff changeset
   127
     the ImageEditor may not be able to read the specification."
99d11fbee2af initial checkin
penk
parents:
diff changeset
   128
99d11fbee2af initial checkin
penk
parents:
diff changeset
   129
    "
99d11fbee2af initial checkin
penk
parents:
diff changeset
   130
     self detailsMenuIconUp inspect
99d11fbee2af initial checkin
penk
parents:
diff changeset
   131
     ImageEditor openOnClass:self andSelector:#detailsMenuIconUp
99d11fbee2af initial checkin
penk
parents:
diff changeset
   132
     Icon flushCachedIcons
99d11fbee2af initial checkin
penk
parents:
diff changeset
   133
    "
99d11fbee2af initial checkin
penk
parents:
diff changeset
   134
99d11fbee2af initial checkin
penk
parents:
diff changeset
   135
    <resource: #image>
99d11fbee2af initial checkin
penk
parents:
diff changeset
   136
99d11fbee2af initial checkin
penk
parents:
diff changeset
   137
    ^Icon
99d11fbee2af initial checkin
penk
parents:
diff changeset
   138
        constantNamed:#'ProcessMonitorV2 class detailsMenuIconUp'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   139
        ifAbsentPut:[(Depth1Image new) width: 7; height: 5; photometric:(#palette); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255]; mask:((Depth1Image new) width: 7; height: 5; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'*%P(D@@b') ; yourself); yourself]
99d11fbee2af initial checkin
penk
parents:
diff changeset
   140
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   141
99d11fbee2af initial checkin
penk
parents:
diff changeset
   142
viewDetailsIcon
99d11fbee2af initial checkin
penk
parents:
diff changeset
   143
    "This resource specification was automatically generated
99d11fbee2af initial checkin
penk
parents:
diff changeset
   144
     by the ImageEditor of ST/X."
99d11fbee2af initial checkin
penk
parents:
diff changeset
   145
99d11fbee2af initial checkin
penk
parents:
diff changeset
   146
    "Do not manually edit this!! If it is corrupted,
99d11fbee2af initial checkin
penk
parents:
diff changeset
   147
     the ImageEditor may not be able to read the specification."
99d11fbee2af initial checkin
penk
parents:
diff changeset
   148
99d11fbee2af initial checkin
penk
parents:
diff changeset
   149
    "
99d11fbee2af initial checkin
penk
parents:
diff changeset
   150
     self viewDetailsIcon inspect
99d11fbee2af initial checkin
penk
parents:
diff changeset
   151
     ImageEditor openOnClass:self andSelector:#viewDetailsIcon
99d11fbee2af initial checkin
penk
parents:
diff changeset
   152
     Icon flushCachedIcons
99d11fbee2af initial checkin
penk
parents:
diff changeset
   153
    "
99d11fbee2af initial checkin
penk
parents:
diff changeset
   154
99d11fbee2af initial checkin
penk
parents:
diff changeset
   155
    <resource: #image>
99d11fbee2af initial checkin
penk
parents:
diff changeset
   156
99d11fbee2af initial checkin
penk
parents:
diff changeset
   157
    ^Icon
99d11fbee2af initial checkin
penk
parents:
diff changeset
   158
        constantNamed:#'ProcessMonitorV2 class viewDetailsIcon'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   159
        ifAbsentPut:[(Depth1Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@]+X@@@@@]+X@@@@@]+X@@@@@]+X@@@@@@@@b') ; yourself); yourself]
99d11fbee2af initial checkin
penk
parents:
diff changeset
   160
! !
99d11fbee2af initial checkin
penk
parents:
diff changeset
   161
99d11fbee2af initial checkin
penk
parents:
diff changeset
   162
!ProcessMonitorV2 class methodsFor:'interface specs'!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   163
99d11fbee2af initial checkin
penk
parents:
diff changeset
   164
windowSpec
99d11fbee2af initial checkin
penk
parents:
diff changeset
   165
    "This resource specification was automatically generated
99d11fbee2af initial checkin
penk
parents:
diff changeset
   166
     by the UIPainter of ST/X."
99d11fbee2af initial checkin
penk
parents:
diff changeset
   167
99d11fbee2af initial checkin
penk
parents:
diff changeset
   168
    "Do not manually edit this!! If it is corrupted,
99d11fbee2af initial checkin
penk
parents:
diff changeset
   169
     the UIPainter may not be able to read the specification."
99d11fbee2af initial checkin
penk
parents:
diff changeset
   170
99d11fbee2af initial checkin
penk
parents:
diff changeset
   171
    "
99d11fbee2af initial checkin
penk
parents:
diff changeset
   172
     UIPainter new openOnClass:ProcessMonitorV2 andSelector:#windowSpec
99d11fbee2af initial checkin
penk
parents:
diff changeset
   173
     ProcessMonitorV2 new openInterface:#windowSpec
99d11fbee2af initial checkin
penk
parents:
diff changeset
   174
     ProcessMonitorV2 open
99d11fbee2af initial checkin
penk
parents:
diff changeset
   175
    "
99d11fbee2af initial checkin
penk
parents:
diff changeset
   176
99d11fbee2af initial checkin
penk
parents:
diff changeset
   177
    <resource: #canvas>
99d11fbee2af initial checkin
penk
parents:
diff changeset
   178
99d11fbee2af initial checkin
penk
parents:
diff changeset
   179
    ^ 
99d11fbee2af initial checkin
penk
parents:
diff changeset
   180
     #(#FullSpec
99d11fbee2af initial checkin
penk
parents:
diff changeset
   181
        #name: #windowSpec
99d11fbee2af initial checkin
penk
parents:
diff changeset
   182
        #window: 
99d11fbee2af initial checkin
penk
parents:
diff changeset
   183
       #(#WindowSpec
99d11fbee2af initial checkin
penk
parents:
diff changeset
   184
          #label: 'ProcessMonitorV2'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   185
          #name: 'ProcessMonitorV2'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   186
          #min: #(#Point 10 10)
99d11fbee2af initial checkin
penk
parents:
diff changeset
   187
          #max: #(#Point 1024 768)
99d11fbee2af initial checkin
penk
parents:
diff changeset
   188
          #bounds: #(#Rectangle 16 42 781 379)
99d11fbee2af initial checkin
penk
parents:
diff changeset
   189
          #menu: #mainMenu
99d11fbee2af initial checkin
penk
parents:
diff changeset
   190
        )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   191
        #component: 
99d11fbee2af initial checkin
penk
parents:
diff changeset
   192
       #(#SpecCollection
99d11fbee2af initial checkin
penk
parents:
diff changeset
   193
          #collection: #(
99d11fbee2af initial checkin
penk
parents:
diff changeset
   194
           #(#MenuPanelSpec
99d11fbee2af initial checkin
penk
parents:
diff changeset
   195
              #name: 'ToolBar1'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   196
              #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 32 0)
99d11fbee2af initial checkin
penk
parents:
diff changeset
   197
              #menu: #toolBarMainMenu
99d11fbee2af initial checkin
penk
parents:
diff changeset
   198
              #textDefault: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   199
            )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   200
           #(#DataSetSpec
99d11fbee2af initial checkin
penk
parents:
diff changeset
   201
              #name: 'Process Table'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   202
              #layout: #(#LayoutFrame 0 0.0 32 0.0 0 1.0 0 1.0)
99d11fbee2af initial checkin
penk
parents:
diff changeset
   203
              #model: #selectedProcesses
99d11fbee2af initial checkin
penk
parents:
diff changeset
   204
              #menu: #tableMenu
99d11fbee2af initial checkin
penk
parents:
diff changeset
   205
              #hasHorizontalScrollBar: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   206
              #hasVerticalScrollBar: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   207
              #dataList: #processList
99d11fbee2af initial checkin
penk
parents:
diff changeset
   208
              #useIndex: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   209
              #has3Dsepartors: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   210
              #doubleClickSelector: #doubleClickedAt:
99d11fbee2af initial checkin
penk
parents:
diff changeset
   211
              #columnHolder: #tableColumns
99d11fbee2af initial checkin
penk
parents:
diff changeset
   212
              #multipleSelectOk: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   213
              #verticalSpacing: 0
99d11fbee2af initial checkin
penk
parents:
diff changeset
   214
              #postBuildCallback: #postBuildProcessTable:
99d11fbee2af initial checkin
penk
parents:
diff changeset
   215
            )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   216
           )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   217
         
99d11fbee2af initial checkin
penk
parents:
diff changeset
   218
        )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   219
      )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   220
! !
99d11fbee2af initial checkin
penk
parents:
diff changeset
   221
99d11fbee2af initial checkin
penk
parents:
diff changeset
   222
!ProcessMonitorV2 class methodsFor:'menu specs'!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   223
99d11fbee2af initial checkin
penk
parents:
diff changeset
   224
mainMenu
99d11fbee2af initial checkin
penk
parents:
diff changeset
   225
    "This resource specification was automatically generated
99d11fbee2af initial checkin
penk
parents:
diff changeset
   226
     by the MenuEditor of ST/X."
99d11fbee2af initial checkin
penk
parents:
diff changeset
   227
99d11fbee2af initial checkin
penk
parents:
diff changeset
   228
    "Do not manually edit this!! If it is corrupted,
99d11fbee2af initial checkin
penk
parents:
diff changeset
   229
     the MenuEditor may not be able to read the specification."
99d11fbee2af initial checkin
penk
parents:
diff changeset
   230
99d11fbee2af initial checkin
penk
parents:
diff changeset
   231
    "
99d11fbee2af initial checkin
penk
parents:
diff changeset
   232
     MenuEditor new openOnClass:ProcessMonitorV2 andSelector:#mainMenu
99d11fbee2af initial checkin
penk
parents:
diff changeset
   233
     (Menu new fromLiteralArrayEncoding:(ProcessMonitorV2 mainMenu)) startUp
99d11fbee2af initial checkin
penk
parents:
diff changeset
   234
    "
99d11fbee2af initial checkin
penk
parents:
diff changeset
   235
99d11fbee2af initial checkin
penk
parents:
diff changeset
   236
    <resource: #menu>
99d11fbee2af initial checkin
penk
parents:
diff changeset
   237
99d11fbee2af initial checkin
penk
parents:
diff changeset
   238
    ^ 
99d11fbee2af initial checkin
penk
parents:
diff changeset
   239
     #(#Menu
99d11fbee2af initial checkin
penk
parents:
diff changeset
   240
        #(
99d11fbee2af initial checkin
penk
parents:
diff changeset
   241
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   242
            #label: 'Exit'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   243
            #itemValue: #closeRequest
99d11fbee2af initial checkin
penk
parents:
diff changeset
   244
            #translateLabel: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   245
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   246
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   247
            #label: 'Help'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   248
            #translateLabel: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   249
            #startGroup: #right
99d11fbee2af initial checkin
penk
parents:
diff changeset
   250
            #submenu: 
99d11fbee2af initial checkin
penk
parents:
diff changeset
   251
           #(#Menu
99d11fbee2af initial checkin
penk
parents:
diff changeset
   252
              #(
99d11fbee2af initial checkin
penk
parents:
diff changeset
   253
               #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   254
                  #label: 'Documentation'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   255
                  #itemValue: #openDocumentation
99d11fbee2af initial checkin
penk
parents:
diff changeset
   256
                  #translateLabel: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   257
                )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   258
               #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   259
                  #label: '-'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   260
                )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   261
               #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   262
                  #label: 'About this Application'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   263
                  #itemValue: #openAboutThisApplication
99d11fbee2af initial checkin
penk
parents:
diff changeset
   264
                  #translateLabel: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   265
                )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   266
               )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   267
              nil
99d11fbee2af initial checkin
penk
parents:
diff changeset
   268
              nil
99d11fbee2af initial checkin
penk
parents:
diff changeset
   269
            )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   270
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   271
         )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   272
        nil
99d11fbee2af initial checkin
penk
parents:
diff changeset
   273
        nil
99d11fbee2af initial checkin
penk
parents:
diff changeset
   274
      )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   275
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   276
99d11fbee2af initial checkin
penk
parents:
diff changeset
   277
tableMenu
99d11fbee2af initial checkin
penk
parents:
diff changeset
   278
    "This resource specification was automatically generated
99d11fbee2af initial checkin
penk
parents:
diff changeset
   279
     by the MenuEditor of ST/X."
99d11fbee2af initial checkin
penk
parents:
diff changeset
   280
99d11fbee2af initial checkin
penk
parents:
diff changeset
   281
    "Do not manually edit this!! If it is corrupted,
99d11fbee2af initial checkin
penk
parents:
diff changeset
   282
     the MenuEditor may not be able to read the specification."
99d11fbee2af initial checkin
penk
parents:
diff changeset
   283
99d11fbee2af initial checkin
penk
parents:
diff changeset
   284
    "
99d11fbee2af initial checkin
penk
parents:
diff changeset
   285
     MenuEditor new openOnClass:ProcessMonitorV2 andSelector:#tableMenu
99d11fbee2af initial checkin
penk
parents:
diff changeset
   286
     (Menu new fromLiteralArrayEncoding:(ProcessMonitorV2 tableMenu)) startUp
99d11fbee2af initial checkin
penk
parents:
diff changeset
   287
    "
99d11fbee2af initial checkin
penk
parents:
diff changeset
   288
99d11fbee2af initial checkin
penk
parents:
diff changeset
   289
    <resource: #menu>
99d11fbee2af initial checkin
penk
parents:
diff changeset
   290
99d11fbee2af initial checkin
penk
parents:
diff changeset
   291
    ^ 
99d11fbee2af initial checkin
penk
parents:
diff changeset
   292
     #(#Menu
99d11fbee2af initial checkin
penk
parents:
diff changeset
   293
        #(
99d11fbee2af initial checkin
penk
parents:
diff changeset
   294
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   295
            #enabled: #hasSelection
99d11fbee2af initial checkin
penk
parents:
diff changeset
   296
            #label: 'Inspect'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   297
            #itemValue: #inspectSelection
99d11fbee2af initial checkin
penk
parents:
diff changeset
   298
            #translateLabel: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   299
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   300
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   301
            #enabled: #hasSelection
99d11fbee2af initial checkin
penk
parents:
diff changeset
   302
            #label: 'Debug'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   303
            #itemValue: #debugProcess
99d11fbee2af initial checkin
penk
parents:
diff changeset
   304
            #translateLabel: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   305
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   306
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   307
            #label: '-'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   308
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   309
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   310
            #enabled: #hasSelection
99d11fbee2af initial checkin
penk
parents:
diff changeset
   311
            #label: 'Resume'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   312
            #itemValue: #resumeProcess
99d11fbee2af initial checkin
penk
parents:
diff changeset
   313
            #translateLabel: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   314
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   315
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   316
            #enabled: #hasSelection
99d11fbee2af initial checkin
penk
parents:
diff changeset
   317
            #label: 'Suspend'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   318
            #itemValue: #suspendProcess
99d11fbee2af initial checkin
penk
parents:
diff changeset
   319
            #translateLabel: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   320
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   321
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   322
            #enabled: #hasSelection
99d11fbee2af initial checkin
penk
parents:
diff changeset
   323
            #label: 'Stop'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   324
            #itemValue: #stopProcess
99d11fbee2af initial checkin
penk
parents:
diff changeset
   325
            #translateLabel: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   326
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   327
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   328
            #label: '-'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   329
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   330
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   331
            #enabled: #hasSelection
99d11fbee2af initial checkin
penk
parents:
diff changeset
   332
            #label: 'Abort'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   333
            #itemValue: #abortProcess
99d11fbee2af initial checkin
penk
parents:
diff changeset
   334
            #translateLabel: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   335
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   336
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   337
            #enabled: #hasSelection
99d11fbee2af initial checkin
penk
parents:
diff changeset
   338
            #label: 'Terminate'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   339
            #itemValue: #terminateProcess
99d11fbee2af initial checkin
penk
parents:
diff changeset
   340
            #translateLabel: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   341
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   342
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   343
            #enabled: #hasSelection
99d11fbee2af initial checkin
penk
parents:
diff changeset
   344
            #label: 'Hard Terminate'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   345
            #itemValue: #hardTerminateProcess
99d11fbee2af initial checkin
penk
parents:
diff changeset
   346
            #translateLabel: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   347
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   348
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   349
            #enabled: #hasSelection
99d11fbee2af initial checkin
penk
parents:
diff changeset
   350
            #label: 'Terminate Group'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   351
            #itemValue: #terminateProcessGroup
99d11fbee2af initial checkin
penk
parents:
diff changeset
   352
            #translateLabel: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   353
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   354
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   355
            #enabled: #selectionRestartable
99d11fbee2af initial checkin
penk
parents:
diff changeset
   356
            #label: 'Restart'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   357
            #itemValue: #restartProcess
99d11fbee2af initial checkin
penk
parents:
diff changeset
   358
            #translateLabel: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   359
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   360
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   361
            #label: '-'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   362
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   363
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   364
            #enabled: #hasSelection
99d11fbee2af initial checkin
penk
parents:
diff changeset
   365
            #label: 'Raise Prio'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   366
            #itemValue: #raisePrio
99d11fbee2af initial checkin
penk
parents:
diff changeset
   367
            #translateLabel: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   368
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   369
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   370
            #enabled: #hasSelection
99d11fbee2af initial checkin
penk
parents:
diff changeset
   371
            #label: 'Lower Prio'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   372
            #itemValue: #lowerPrio
99d11fbee2af initial checkin
penk
parents:
diff changeset
   373
            #translateLabel: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   374
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   375
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   376
            #label: '-'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   377
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   378
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   379
            #label: 'Update'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   380
            #itemValue: #updateView
99d11fbee2af initial checkin
penk
parents:
diff changeset
   381
            #translateLabel: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   382
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   383
         )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   384
        nil
99d11fbee2af initial checkin
penk
parents:
diff changeset
   385
        nil
99d11fbee2af initial checkin
penk
parents:
diff changeset
   386
      )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   387
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   388
99d11fbee2af initial checkin
penk
parents:
diff changeset
   389
toolBarMainMenu
99d11fbee2af initial checkin
penk
parents:
diff changeset
   390
    "This resource specification was automatically generated
99d11fbee2af initial checkin
penk
parents:
diff changeset
   391
     by the MenuEditor of ST/X."
99d11fbee2af initial checkin
penk
parents:
diff changeset
   392
99d11fbee2af initial checkin
penk
parents:
diff changeset
   393
    "Do not manually edit this!! If it is corrupted,
99d11fbee2af initial checkin
penk
parents:
diff changeset
   394
     the MenuEditor may not be able to read the specification."
99d11fbee2af initial checkin
penk
parents:
diff changeset
   395
99d11fbee2af initial checkin
penk
parents:
diff changeset
   396
    "
99d11fbee2af initial checkin
penk
parents:
diff changeset
   397
     MenuEditor new openOnClass:ProcessMonitorV2 andSelector:#toolBarMainMenu
99d11fbee2af initial checkin
penk
parents:
diff changeset
   398
     (Menu new fromLiteralArrayEncoding:(ProcessMonitorV2 toolBarMainMenu)) startUp
99d11fbee2af initial checkin
penk
parents:
diff changeset
   399
    "
99d11fbee2af initial checkin
penk
parents:
diff changeset
   400
99d11fbee2af initial checkin
penk
parents:
diff changeset
   401
    <resource: #menu>
99d11fbee2af initial checkin
penk
parents:
diff changeset
   402
99d11fbee2af initial checkin
penk
parents:
diff changeset
   403
    ^ 
99d11fbee2af initial checkin
penk
parents:
diff changeset
   404
     #(#Menu
99d11fbee2af initial checkin
penk
parents:
diff changeset
   405
        #(
99d11fbee2af initial checkin
penk
parents:
diff changeset
   406
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   407
            #enabled: #hasSelection
99d11fbee2af initial checkin
penk
parents:
diff changeset
   408
            #label: 'Inspect'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   409
            #itemValue: #inspectSelection
99d11fbee2af initial checkin
penk
parents:
diff changeset
   410
            #translateLabel: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   411
            #isButton: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   412
            #labelImage: #(#ResourceRetriever #SystemBrowser #watchIcon)
99d11fbee2af initial checkin
penk
parents:
diff changeset
   413
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   414
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   415
            #activeHelpKey: #toggleDetails
99d11fbee2af initial checkin
penk
parents:
diff changeset
   416
            #label: 'View Details'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   417
            #translateLabel: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   418
            #isButton: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   419
            #startGroup: #right
99d11fbee2af initial checkin
penk
parents:
diff changeset
   420
            #submenuChannel: #viewDetailsMenuSpec
99d11fbee2af initial checkin
penk
parents:
diff changeset
   421
            #labelImage: #(#ResourceRetriever #ProcessMonitorV2 #viewDetailsIcon)
99d11fbee2af initial checkin
penk
parents:
diff changeset
   422
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   423
         )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   424
        nil
99d11fbee2af initial checkin
penk
parents:
diff changeset
   425
        nil
99d11fbee2af initial checkin
penk
parents:
diff changeset
   426
      )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   427
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   428
99d11fbee2af initial checkin
penk
parents:
diff changeset
   429
viewDetailsMenuSpec
99d11fbee2af initial checkin
penk
parents:
diff changeset
   430
    "This resource specification was automatically generated
99d11fbee2af initial checkin
penk
parents:
diff changeset
   431
     by the MenuEditor of ST/X."
99d11fbee2af initial checkin
penk
parents:
diff changeset
   432
99d11fbee2af initial checkin
penk
parents:
diff changeset
   433
    "Do not manually edit this!! If it is corrupted,
99d11fbee2af initial checkin
penk
parents:
diff changeset
   434
     the MenuEditor may not be able to read the specification."
99d11fbee2af initial checkin
penk
parents:
diff changeset
   435
99d11fbee2af initial checkin
penk
parents:
diff changeset
   436
    "
99d11fbee2af initial checkin
penk
parents:
diff changeset
   437
     MenuEditor new openOnClass:ProcessMonitorV2 andSelector:#viewDetailsMenuSpec
99d11fbee2af initial checkin
penk
parents:
diff changeset
   438
     (Menu new fromLiteralArrayEncoding:(ProcessMonitorV2 viewDetailsMenuSpec)) startUp
99d11fbee2af initial checkin
penk
parents:
diff changeset
   439
    "
99d11fbee2af initial checkin
penk
parents:
diff changeset
   440
99d11fbee2af initial checkin
penk
parents:
diff changeset
   441
    <resource: #menu>
99d11fbee2af initial checkin
penk
parents:
diff changeset
   442
99d11fbee2af initial checkin
penk
parents:
diff changeset
   443
    ^ 
99d11fbee2af initial checkin
penk
parents:
diff changeset
   444
     #(#Menu
99d11fbee2af initial checkin
penk
parents:
diff changeset
   445
        #(
99d11fbee2af initial checkin
penk
parents:
diff changeset
   446
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   447
            #label: 'Id'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   448
            #translateLabel: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   449
            #hideMenuOnActivated: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   450
            #indication: #showProcessId
99d11fbee2af initial checkin
penk
parents:
diff changeset
   451
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   452
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   453
            #label: 'Group'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   454
            #translateLabel: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   455
            #hideMenuOnActivated: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   456
            #indication: #showGroup
99d11fbee2af initial checkin
penk
parents:
diff changeset
   457
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   458
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   459
            #label: 'State'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   460
            #translateLabel: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   461
            #hideMenuOnActivated: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   462
            #indication: #showState
99d11fbee2af initial checkin
penk
parents:
diff changeset
   463
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   464
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   465
            #label: 'Prio'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   466
            #translateLabel: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   467
            #hideMenuOnActivated: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   468
            #indication: #showPrio
99d11fbee2af initial checkin
penk
parents:
diff changeset
   469
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   470
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   471
            #label: 'Used Stack'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   472
            #translateLabel: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   473
            #hideMenuOnActivated: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   474
            #indication: #showUsedStack
99d11fbee2af initial checkin
penk
parents:
diff changeset
   475
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   476
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   477
            #label: 'Total Stack'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   478
            #translateLabel: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   479
            #hideMenuOnActivated: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   480
            #indication: #showTotalStack
99d11fbee2af initial checkin
penk
parents:
diff changeset
   481
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   482
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   483
            #label: 'Current-Segment'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   484
            #translateLabel: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   485
            #hideMenuOnActivated: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   486
            #indication: #showCurrentSegment
99d11fbee2af initial checkin
penk
parents:
diff changeset
   487
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   488
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   489
            #label: 'Switch'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   490
            #translateLabel: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   491
            #hideMenuOnActivated: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   492
            #indication: #showSwitch
99d11fbee2af initial checkin
penk
parents:
diff changeset
   493
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   494
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   495
            #label: 'Where'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   496
            #translateLabel: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   497
            #hideMenuOnActivated: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   498
            #indication: #showWhere
99d11fbee2af initial checkin
penk
parents:
diff changeset
   499
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   500
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   501
            #label: '-'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   502
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   503
         #(#MenuItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
   504
            #label: 'Show dead Processes'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   505
            #translateLabel: true
99d11fbee2af initial checkin
penk
parents:
diff changeset
   506
            #indication: #showDead
99d11fbee2af initial checkin
penk
parents:
diff changeset
   507
          )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   508
         )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   509
        nil
99d11fbee2af initial checkin
penk
parents:
diff changeset
   510
        nil
99d11fbee2af initial checkin
penk
parents:
diff changeset
   511
      )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   512
! !
99d11fbee2af initial checkin
penk
parents:
diff changeset
   513
99d11fbee2af initial checkin
penk
parents:
diff changeset
   514
!ProcessMonitorV2 class methodsFor:'tableColumns specs'!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   515
99d11fbee2af initial checkin
penk
parents:
diff changeset
   516
tableColumns
99d11fbee2af initial checkin
penk
parents:
diff changeset
   517
    "This resource specification was automatically generated
99d11fbee2af initial checkin
penk
parents:
diff changeset
   518
     by the DataSetBuilder of ST/X."
99d11fbee2af initial checkin
penk
parents:
diff changeset
   519
99d11fbee2af initial checkin
penk
parents:
diff changeset
   520
    "Do not manually edit this!! If it is corrupted,
99d11fbee2af initial checkin
penk
parents:
diff changeset
   521
     the DataSetBuilder may not be able to read the specification."
99d11fbee2af initial checkin
penk
parents:
diff changeset
   522
99d11fbee2af initial checkin
penk
parents:
diff changeset
   523
    "
99d11fbee2af initial checkin
penk
parents:
diff changeset
   524
     DataSetBuilder new openOnClass:ProcessMonitorV2 andSelector:#tableColumns
99d11fbee2af initial checkin
penk
parents:
diff changeset
   525
    "
99d11fbee2af initial checkin
penk
parents:
diff changeset
   526
99d11fbee2af initial checkin
penk
parents:
diff changeset
   527
    <resource: #tableColumns>
99d11fbee2af initial checkin
penk
parents:
diff changeset
   528
99d11fbee2af initial checkin
penk
parents:
diff changeset
   529
    ^#(
99d11fbee2af initial checkin
penk
parents:
diff changeset
   530
      #(#DataSetColumnSpec
99d11fbee2af initial checkin
penk
parents:
diff changeset
   531
         #label: 'Id'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   532
         #id: #id
99d11fbee2af initial checkin
penk
parents:
diff changeset
   533
         #labelAlignment: #left
99d11fbee2af initial checkin
penk
parents:
diff changeset
   534
         #labelButtonType: #Button
99d11fbee2af initial checkin
penk
parents:
diff changeset
   535
         #labelActionSelector: #sortProcessListBy:
99d11fbee2af initial checkin
penk
parents:
diff changeset
   536
         #labelActionArgument: 'idVal'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   537
         #width: 45
99d11fbee2af initial checkin
penk
parents:
diff changeset
   538
         #type: #number
99d11fbee2af initial checkin
penk
parents:
diff changeset
   539
         #model: #processId
99d11fbee2af initial checkin
penk
parents:
diff changeset
   540
         #canSelect: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   541
         #showRowSeparator: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   542
         #showColSeparator: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   543
       )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   544
      #(#DataSetColumnSpec
99d11fbee2af initial checkin
penk
parents:
diff changeset
   545
         #label: 'Group'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   546
         #id: #group
99d11fbee2af initial checkin
penk
parents:
diff changeset
   547
         #labelAlignment: #left
99d11fbee2af initial checkin
penk
parents:
diff changeset
   548
         #labelButtonType: #Button
99d11fbee2af initial checkin
penk
parents:
diff changeset
   549
         #labelActionSelector: #sortProcessListBy:
99d11fbee2af initial checkin
penk
parents:
diff changeset
   550
         #labelActionArgument: 'groupVal'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   551
         #width: 45
99d11fbee2af initial checkin
penk
parents:
diff changeset
   552
         #model: #processGroup
99d11fbee2af initial checkin
penk
parents:
diff changeset
   553
         #canSelect: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   554
         #showRowSeparator: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   555
         #showColSeparator: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   556
       )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   557
      #(#DataSetColumnSpec
99d11fbee2af initial checkin
penk
parents:
diff changeset
   558
         #label: 'Name'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   559
         #id: #name
99d11fbee2af initial checkin
penk
parents:
diff changeset
   560
         #labelAlignment: #left
99d11fbee2af initial checkin
penk
parents:
diff changeset
   561
         #labelButtonType: #Button
99d11fbee2af initial checkin
penk
parents:
diff changeset
   562
         #labelActionSelector: #sortProcessListBy:
99d11fbee2af initial checkin
penk
parents:
diff changeset
   563
         #labelActionArgument: 'processName'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   564
         #width: 200
99d11fbee2af initial checkin
penk
parents:
diff changeset
   565
         #model: #processName
99d11fbee2af initial checkin
penk
parents:
diff changeset
   566
         #canSelect: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   567
         #showRowSeparator: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   568
         #showColSeparator: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   569
       )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   570
      #(#DataSetColumnSpec
99d11fbee2af initial checkin
penk
parents:
diff changeset
   571
         #label: 'State'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   572
         #id: #state
99d11fbee2af initial checkin
penk
parents:
diff changeset
   573
         #labelAlignment: #left
99d11fbee2af initial checkin
penk
parents:
diff changeset
   574
         #labelButtonType: #Button
99d11fbee2af initial checkin
penk
parents:
diff changeset
   575
         #labelActionSelector: #sortProcessListBy:
99d11fbee2af initial checkin
penk
parents:
diff changeset
   576
         #labelActionArgument: 'processState'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   577
         #width: 100
99d11fbee2af initial checkin
penk
parents:
diff changeset
   578
         #model: #processState
99d11fbee2af initial checkin
penk
parents:
diff changeset
   579
         #canSelect: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   580
         #showRowSeparator: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   581
         #showColSeparator: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   582
       )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   583
      #(#DataSetColumnSpec
99d11fbee2af initial checkin
penk
parents:
diff changeset
   584
         #label: 'Prio'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   585
         #id: #prio
99d11fbee2af initial checkin
penk
parents:
diff changeset
   586
         #labelAlignment: #left
99d11fbee2af initial checkin
penk
parents:
diff changeset
   587
         #labelButtonType: #Button
99d11fbee2af initial checkin
penk
parents:
diff changeset
   588
         #labelActionSelector: #sortProcessListBy:
99d11fbee2af initial checkin
penk
parents:
diff changeset
   589
         #labelActionArgument: 'prioVal'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   590
         #width: 40
99d11fbee2af initial checkin
penk
parents:
diff changeset
   591
         #model: #processPrio
99d11fbee2af initial checkin
penk
parents:
diff changeset
   592
         #canSelect: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   593
         #showRowSeparator: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   594
         #showColSeparator: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   595
       )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   596
      #(#DataSetColumnSpec
99d11fbee2af initial checkin
penk
parents:
diff changeset
   597
         #label: 'Used Stack'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   598
         #id: #usedStack
99d11fbee2af initial checkin
penk
parents:
diff changeset
   599
         #labelAlignment: #left
99d11fbee2af initial checkin
penk
parents:
diff changeset
   600
         #labelButtonType: #Button
99d11fbee2af initial checkin
penk
parents:
diff changeset
   601
         #labelActionSelector: #sortProcessListBy:
99d11fbee2af initial checkin
penk
parents:
diff changeset
   602
         #labelActionArgument: 'processUsedStack'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   603
         #columnAlignment: #right
99d11fbee2af initial checkin
penk
parents:
diff changeset
   604
         #width: 75
99d11fbee2af initial checkin
penk
parents:
diff changeset
   605
         #type: #number
99d11fbee2af initial checkin
penk
parents:
diff changeset
   606
         #model: #processUsedStack
99d11fbee2af initial checkin
penk
parents:
diff changeset
   607
         #canSelect: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   608
         #showRowSeparator: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   609
         #showColSeparator: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   610
       )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   611
      #(#DataSetColumnSpec
99d11fbee2af initial checkin
penk
parents:
diff changeset
   612
         #label: 'Total Stack'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   613
         #id: #totalStack
99d11fbee2af initial checkin
penk
parents:
diff changeset
   614
         #labelAlignment: #left
99d11fbee2af initial checkin
penk
parents:
diff changeset
   615
         #labelButtonType: #Button
99d11fbee2af initial checkin
penk
parents:
diff changeset
   616
         #labelActionSelector: #sortProcessListBy:
99d11fbee2af initial checkin
penk
parents:
diff changeset
   617
         #labelActionArgument: 'processTotalStack'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   618
         #columnAlignment: #right
99d11fbee2af initial checkin
penk
parents:
diff changeset
   619
         #width: 75
99d11fbee2af initial checkin
penk
parents:
diff changeset
   620
         #model: #processTotalStack
99d11fbee2af initial checkin
penk
parents:
diff changeset
   621
         #canSelect: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   622
         #showRowSeparator: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   623
         #showColSeparator: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   624
       )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   625
      #(#DataSetColumnSpec
99d11fbee2af initial checkin
penk
parents:
diff changeset
   626
         #label: 'Current-Segment'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   627
         #id: #currentSegment
99d11fbee2af initial checkin
penk
parents:
diff changeset
   628
         #labelAlignment: #left
99d11fbee2af initial checkin
penk
parents:
diff changeset
   629
         #labelButtonType: #Button
99d11fbee2af initial checkin
penk
parents:
diff changeset
   630
         #labelActionSelector: #sortProcessListBy:
99d11fbee2af initial checkin
penk
parents:
diff changeset
   631
         #labelActionArgument: 'processCurrentSegment'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   632
         #width: 110
99d11fbee2af initial checkin
penk
parents:
diff changeset
   633
         #model: #processCurrentSegment
99d11fbee2af initial checkin
penk
parents:
diff changeset
   634
         #canSelect: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   635
         #showRowSeparator: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   636
         #showColSeparator: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   637
       )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   638
      #(#DataSetColumnSpec
99d11fbee2af initial checkin
penk
parents:
diff changeset
   639
         #label: 'Switch'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   640
         #id: #switch
99d11fbee2af initial checkin
penk
parents:
diff changeset
   641
         #labelAlignment: #left
99d11fbee2af initial checkin
penk
parents:
diff changeset
   642
         #labelButtonType: #Button
99d11fbee2af initial checkin
penk
parents:
diff changeset
   643
         #labelActionSelector: #sortProcessListBy:
99d11fbee2af initial checkin
penk
parents:
diff changeset
   644
         #labelActionArgument: 'processSwitch'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   645
         #columnAlignment: #right
99d11fbee2af initial checkin
penk
parents:
diff changeset
   646
         #width: 55
99d11fbee2af initial checkin
penk
parents:
diff changeset
   647
         #type: #number
99d11fbee2af initial checkin
penk
parents:
diff changeset
   648
         #model: #processSwitch
99d11fbee2af initial checkin
penk
parents:
diff changeset
   649
         #canSelect: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   650
         #showRowSeparator: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   651
         #showColSeparator: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   652
       )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   653
      #(#DataSetColumnSpec
99d11fbee2af initial checkin
penk
parents:
diff changeset
   654
         #label: 'Where'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   655
         #id: #where
99d11fbee2af initial checkin
penk
parents:
diff changeset
   656
         #labelAlignment: #left
99d11fbee2af initial checkin
penk
parents:
diff changeset
   657
         #labelButtonType: #Button
99d11fbee2af initial checkin
penk
parents:
diff changeset
   658
         #labelActionSelector: #sortProcessListBy:
99d11fbee2af initial checkin
penk
parents:
diff changeset
   659
         #labelActionArgument: 'processWhere'
99d11fbee2af initial checkin
penk
parents:
diff changeset
   660
         #model: #processWhere
99d11fbee2af initial checkin
penk
parents:
diff changeset
   661
         #canSelect: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   662
         #showRowSeparator: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   663
         #showColSeparator: false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   664
       )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   665
      )
99d11fbee2af initial checkin
penk
parents:
diff changeset
   666
    
99d11fbee2af initial checkin
penk
parents:
diff changeset
   667
! !
99d11fbee2af initial checkin
penk
parents:
diff changeset
   668
99d11fbee2af initial checkin
penk
parents:
diff changeset
   669
!ProcessMonitorV2 methodsFor:'actions'!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   670
99d11fbee2af initial checkin
penk
parents:
diff changeset
   671
doubleClickedAt:anItemIndex
99d11fbee2af initial checkin
penk
parents:
diff changeset
   672
    "open a debugger on the selected process"
99d11fbee2af initial checkin
penk
parents:
diff changeset
   673
99d11fbee2af initial checkin
penk
parents:
diff changeset
   674
    self debugProcess
99d11fbee2af initial checkin
penk
parents:
diff changeset
   675
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   676
99d11fbee2af initial checkin
penk
parents:
diff changeset
   677
getProcessList
99d11fbee2af initial checkin
penk
parents:
diff changeset
   678
    "select processes to display.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   679
     Subclasses may redefine this"
99d11fbee2af initial checkin
penk
parents:
diff changeset
   680
99d11fbee2af initial checkin
penk
parents:
diff changeset
   681
    |coll|
99d11fbee2af initial checkin
penk
parents:
diff changeset
   682
99d11fbee2af initial checkin
penk
parents:
diff changeset
   683
    self needFullInformation ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   684
        coll := Process allSubInstances asOrderedCollection.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   685
    ] ifFalse:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   686
        coll := ProcessorScheduler knownProcesses asOrderedCollection.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   687
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   688
    ^ coll
99d11fbee2af initial checkin
penk
parents:
diff changeset
   689
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   690
99d11fbee2af initial checkin
penk
parents:
diff changeset
   691
selectedProcessesDo:aBlock
99d11fbee2af initial checkin
penk
parents:
diff changeset
   692
    | sel|
99d11fbee2af initial checkin
penk
parents:
diff changeset
   693
99d11fbee2af initial checkin
penk
parents:
diff changeset
   694
    sel := self selectedProcesses value.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   695
    sel isNil ifTrue:[^ self].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   696
99d11fbee2af initial checkin
penk
parents:
diff changeset
   697
    sel do:[:processItem |
99d11fbee2af initial checkin
penk
parents:
diff changeset
   698
       aBlock value:(processItem processInstance).
99d11fbee2af initial checkin
penk
parents:
diff changeset
   699
    ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
   700
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   701
99d11fbee2af initial checkin
penk
parents:
diff changeset
   702
selectedProcessesSend:aSelector
99d11fbee2af initial checkin
penk
parents:
diff changeset
   703
    "send a message to all selected processes"
99d11fbee2af initial checkin
penk
parents:
diff changeset
   704
99d11fbee2af initial checkin
penk
parents:
diff changeset
   705
    self selectedProcessesDo:[:p |
99d11fbee2af initial checkin
penk
parents:
diff changeset
   706
        p perform:aSelector
99d11fbee2af initial checkin
penk
parents:
diff changeset
   707
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   708
    self updateView.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   709
! !
99d11fbee2af initial checkin
penk
parents:
diff changeset
   710
99d11fbee2af initial checkin
penk
parents:
diff changeset
   711
!ProcessMonitorV2 methodsFor:'aspects'!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   712
99d11fbee2af initial checkin
penk
parents:
diff changeset
   713
currentSortOrder
99d11fbee2af initial checkin
penk
parents:
diff changeset
   714
    "return/create the 'currentSortOrder' value holder (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
   715
99d11fbee2af initial checkin
penk
parents:
diff changeset
   716
    currentSortOrder isNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   717
        currentSortOrder := Dictionary new asValue.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   718
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   719
    ^ currentSortOrder
99d11fbee2af initial checkin
penk
parents:
diff changeset
   720
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   721
99d11fbee2af initial checkin
penk
parents:
diff changeset
   722
hasSelection
99d11fbee2af initial checkin
penk
parents:
diff changeset
   723
99d11fbee2af initial checkin
penk
parents:
diff changeset
   724
    hasSelection isNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   725
        hasSelection := ValueHolder new.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   726
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   727
    ^ hasSelection
99d11fbee2af initial checkin
penk
parents:
diff changeset
   728
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   729
99d11fbee2af initial checkin
penk
parents:
diff changeset
   730
processList
99d11fbee2af initial checkin
penk
parents:
diff changeset
   731
99d11fbee2af initial checkin
penk
parents:
diff changeset
   732
    processList isNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   733
        processList := List new.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   734
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   735
    ^ processList.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   736
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   737
99d11fbee2af initial checkin
penk
parents:
diff changeset
   738
selectedProcesses
99d11fbee2af initial checkin
penk
parents:
diff changeset
   739
99d11fbee2af initial checkin
penk
parents:
diff changeset
   740
    selectedProcesses isNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   741
        selectedProcesses := ValueHolder new.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   742
        selectedProcesses addDependent:self.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   743
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   744
    ^ selectedProcesses.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   745
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   746
99d11fbee2af initial checkin
penk
parents:
diff changeset
   747
selectionRestartable
99d11fbee2af initial checkin
penk
parents:
diff changeset
   748
99d11fbee2af initial checkin
penk
parents:
diff changeset
   749
    selectionRestartable isNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   750
        selectionRestartable := ValueHolder new.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   751
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   752
    ^ selectionRestartable
99d11fbee2af initial checkin
penk
parents:
diff changeset
   753
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   754
99d11fbee2af initial checkin
penk
parents:
diff changeset
   755
showDead
99d11fbee2af initial checkin
penk
parents:
diff changeset
   756
    "return/create the 'showDead' value holder (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
   757
99d11fbee2af initial checkin
penk
parents:
diff changeset
   758
    showDead isNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   759
        showDead := false asValue.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   760
        showDead addDependent:self.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   761
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   762
    ^ showDead
99d11fbee2af initial checkin
penk
parents:
diff changeset
   763
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   764
99d11fbee2af initial checkin
penk
parents:
diff changeset
   765
sortBlock
99d11fbee2af initial checkin
penk
parents:
diff changeset
   766
99d11fbee2af initial checkin
penk
parents:
diff changeset
   767
    sortBlock isNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   768
        sortBlock := [:a :b |
99d11fbee2af initial checkin
penk
parents:
diff changeset
   769
            a idVal < b idVal
99d11fbee2af initial checkin
penk
parents:
diff changeset
   770
        ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
   771
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   772
    ^ sortBlock
99d11fbee2af initial checkin
penk
parents:
diff changeset
   773
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   774
99d11fbee2af initial checkin
penk
parents:
diff changeset
   775
tableColumns
99d11fbee2af initial checkin
penk
parents:
diff changeset
   776
99d11fbee2af initial checkin
penk
parents:
diff changeset
   777
    tableColumns isNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   778
        tableColumns := self class tableColumns asValue.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   779
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   780
    ^ tableColumns.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   781
! !
99d11fbee2af initial checkin
penk
parents:
diff changeset
   782
99d11fbee2af initial checkin
penk
parents:
diff changeset
   783
!ProcessMonitorV2 methodsFor:'aspects column'!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   784
99d11fbee2af initial checkin
penk
parents:
diff changeset
   785
showCurrentSegment
99d11fbee2af initial checkin
penk
parents:
diff changeset
   786
    "return/create the 'showCurrentSegment' value holder (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
   787
99d11fbee2af initial checkin
penk
parents:
diff changeset
   788
    showCurrentSegment isNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   789
        showCurrentSegment := showDetail asValue.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   790
        showCurrentSegment onChangeSend:#viewedColumnsChanged to:self.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   791
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   792
    ^ showCurrentSegment
99d11fbee2af initial checkin
penk
parents:
diff changeset
   793
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   794
99d11fbee2af initial checkin
penk
parents:
diff changeset
   795
showGroup
99d11fbee2af initial checkin
penk
parents:
diff changeset
   796
    "return/create the 'showGroup' value holder (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
   797
99d11fbee2af initial checkin
penk
parents:
diff changeset
   798
    showGroup isNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   799
        showGroup := true asValue.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   800
        showGroup onChangeSend:#viewedColumnsChanged to:self.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   801
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   802
    ^ showGroup
99d11fbee2af initial checkin
penk
parents:
diff changeset
   803
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   804
99d11fbee2af initial checkin
penk
parents:
diff changeset
   805
showPrio
99d11fbee2af initial checkin
penk
parents:
diff changeset
   806
    "return/create the 'showPrio' value holder (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
   807
99d11fbee2af initial checkin
penk
parents:
diff changeset
   808
    showPrio isNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   809
        showPrio := true asValue.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   810
        showPrio onChangeSend:#viewedColumnsChanged to:self.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   811
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   812
    ^ showPrio
99d11fbee2af initial checkin
penk
parents:
diff changeset
   813
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   814
99d11fbee2af initial checkin
penk
parents:
diff changeset
   815
showProcessId
99d11fbee2af initial checkin
penk
parents:
diff changeset
   816
99d11fbee2af initial checkin
penk
parents:
diff changeset
   817
    showProcessId isNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   818
        showProcessId := true asValue.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   819
        showProcessId onChangeSend:#viewedColumnsChanged to:self
99d11fbee2af initial checkin
penk
parents:
diff changeset
   820
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   821
    ^ showProcessId
99d11fbee2af initial checkin
penk
parents:
diff changeset
   822
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   823
99d11fbee2af initial checkin
penk
parents:
diff changeset
   824
showState
99d11fbee2af initial checkin
penk
parents:
diff changeset
   825
    "return/create the 'showState' value holder (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
   826
99d11fbee2af initial checkin
penk
parents:
diff changeset
   827
    showState isNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   828
        showState := true asValue.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   829
        showState onChangeSend:#viewedColumnsChanged to:self
99d11fbee2af initial checkin
penk
parents:
diff changeset
   830
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   831
    ^ showState
99d11fbee2af initial checkin
penk
parents:
diff changeset
   832
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   833
99d11fbee2af initial checkin
penk
parents:
diff changeset
   834
showSwitch
99d11fbee2af initial checkin
penk
parents:
diff changeset
   835
    "return/create the 'showSwitch' value holder (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
   836
99d11fbee2af initial checkin
penk
parents:
diff changeset
   837
    showSwitch isNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   838
        showSwitch := showDetail asValue.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   839
        showSwitch onChangeSend:#viewedColumnsChanged to:self
99d11fbee2af initial checkin
penk
parents:
diff changeset
   840
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   841
    ^ showSwitch
99d11fbee2af initial checkin
penk
parents:
diff changeset
   842
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   843
99d11fbee2af initial checkin
penk
parents:
diff changeset
   844
showTotalStack
99d11fbee2af initial checkin
penk
parents:
diff changeset
   845
    "return/create the 'showTotalStack' value holder (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
   846
99d11fbee2af initial checkin
penk
parents:
diff changeset
   847
    showTotalStack isNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   848
        showTotalStack := showDetail asValue.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   849
        showTotalStack onChangeSend:#viewedColumnsChanged to:self
99d11fbee2af initial checkin
penk
parents:
diff changeset
   850
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   851
    ^ showTotalStack
99d11fbee2af initial checkin
penk
parents:
diff changeset
   852
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   853
99d11fbee2af initial checkin
penk
parents:
diff changeset
   854
showUsedStack
99d11fbee2af initial checkin
penk
parents:
diff changeset
   855
    "return/create the 'showUsedStack' value holder (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
   856
99d11fbee2af initial checkin
penk
parents:
diff changeset
   857
    showUsedStack isNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   858
        showUsedStack := showDetail asValue.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   859
        showUsedStack onChangeSend:#viewedColumnsChanged to:self
99d11fbee2af initial checkin
penk
parents:
diff changeset
   860
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   861
    ^ showUsedStack
99d11fbee2af initial checkin
penk
parents:
diff changeset
   862
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   863
99d11fbee2af initial checkin
penk
parents:
diff changeset
   864
showWhere
99d11fbee2af initial checkin
penk
parents:
diff changeset
   865
    "return/create the 'showWhere' value holder (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
   866
99d11fbee2af initial checkin
penk
parents:
diff changeset
   867
    showWhere isNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   868
        showWhere := true asValue.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   869
        showWhere onChangeSend:#viewedColumnsChanged to:self
99d11fbee2af initial checkin
penk
parents:
diff changeset
   870
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   871
    ^ showWhere
99d11fbee2af initial checkin
penk
parents:
diff changeset
   872
! !
99d11fbee2af initial checkin
penk
parents:
diff changeset
   873
99d11fbee2af initial checkin
penk
parents:
diff changeset
   874
!ProcessMonitorV2 methodsFor:'change & update'!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   875
99d11fbee2af initial checkin
penk
parents:
diff changeset
   876
selectionChanged
99d11fbee2af initial checkin
penk
parents:
diff changeset
   877
99d11fbee2af initial checkin
penk
parents:
diff changeset
   878
    |allRestartable|
99d11fbee2af initial checkin
penk
parents:
diff changeset
   879
99d11fbee2af initial checkin
penk
parents:
diff changeset
   880
    self hasSelection value:(self selectedProcesses value notEmptyOrNil).
99d11fbee2af initial checkin
penk
parents:
diff changeset
   881
    self hasSelection value ifFalse:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   882
        self selectionRestartable value:false.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   883
        ^ self
99d11fbee2af initial checkin
penk
parents:
diff changeset
   884
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   885
    allRestartable := true.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   886
    self selectedProcessesDo:[:p |
99d11fbee2af initial checkin
penk
parents:
diff changeset
   887
        p isRestartable ifFalse:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   888
            allRestartable := false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   889
        ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   890
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   891
    self selectionRestartable value:allRestartable.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   892
    ^ self.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   893
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   894
99d11fbee2af initial checkin
penk
parents:
diff changeset
   895
update:something with:aParameter from:changedObject
99d11fbee2af initial checkin
penk
parents:
diff changeset
   896
    "Invoked when an object that I depend upon sends a change notification."
99d11fbee2af initial checkin
penk
parents:
diff changeset
   897
99d11fbee2af initial checkin
penk
parents:
diff changeset
   898
    "stub code automatically generated - please change as required"
99d11fbee2af initial checkin
penk
parents:
diff changeset
   899
99d11fbee2af initial checkin
penk
parents:
diff changeset
   900
    changedObject == self selectedProcesses ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   901
        self selectionChanged.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   902
        ^ self
99d11fbee2af initial checkin
penk
parents:
diff changeset
   903
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   904
    changedObject == self showDead ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   905
        self updateStatus:nil.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   906
        ^ self
99d11fbee2af initial checkin
penk
parents:
diff changeset
   907
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   908
    super update:something with:aParameter from:changedObject
99d11fbee2af initial checkin
penk
parents:
diff changeset
   909
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   910
99d11fbee2af initial checkin
penk
parents:
diff changeset
   911
viewedColumnsChanged
99d11fbee2af initial checkin
penk
parents:
diff changeset
   912
99d11fbee2af initial checkin
penk
parents:
diff changeset
   913
    | columns buffer locCurrentSortOrder currentSortOrderColumn currentSortOrderReverse selection|
99d11fbee2af initial checkin
penk
parents:
diff changeset
   914
99d11fbee2af initial checkin
penk
parents:
diff changeset
   915
    selection := self selectedProcesses value.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   916
    columns := OrderedCollection new.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   917
    self class tableColumns do:[:el|
99d11fbee2af initial checkin
penk
parents:
diff changeset
   918
        columns add:(DataSetColumnSpec new fromLiteralArrayEncoding:el).
99d11fbee2af initial checkin
penk
parents:
diff changeset
   919
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   920
    buffer := columns copy.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   921
    locCurrentSortOrder := self currentSortOrder value.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   922
    currentSortOrderColumn := locCurrentSortOrder at:#column ifAbsent:nil.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   923
    currentSortOrderReverse := locCurrentSortOrder at:#reverse ifAbsent:nil.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   924
    buffer do:[:col |
99d11fbee2af initial checkin
penk
parents:
diff changeset
   925
        | id |
99d11fbee2af initial checkin
penk
parents:
diff changeset
   926
        id := col id.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   927
        id notNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   928
            (col labelActionArgument notNil and:[col labelActionArgument asSymbol == currentSortOrderColumn]) ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   929
                | label icon|
99d11fbee2af initial checkin
penk
parents:
diff changeset
   930
                label := col label.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   931
                icon := currentSortOrderReverse ifTrue:[self class detailsMenuIconDown] ifFalse:[self class detailsMenuIconUp].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   932
                col label:(LabelAndIcon label:label icon:icon).
99d11fbee2af initial checkin
penk
parents:
diff changeset
   933
            ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   934
            (id == #id and:[self showProcessId value not]) ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   935
                columns remove:col. 
99d11fbee2af initial checkin
penk
parents:
diff changeset
   936
            ] ifFalse:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   937
                (id == #group and:[self showGroup value not]) ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   938
                    columns remove:col. 
99d11fbee2af initial checkin
penk
parents:
diff changeset
   939
                ] ifFalse:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   940
                    (id == #prio and:[self showPrio value not]) ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   941
                        columns remove:col.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   942
                    ] ifFalse:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   943
                        (id == #currentSegment and:[self showCurrentSegment value not]) ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   944
                            columns remove:col.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   945
                        ] ifFalse:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   946
                            (id == #state and:[self showState value not]) ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   947
                                columns remove:col.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   948
                            ] ifFalse:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   949
                                (id == #switch and:[self showSwitch value not]) ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   950
                                    columns remove:col.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   951
                                ] ifFalse:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   952
                                    (id == #totalStack and:[self showTotalStack value not]) ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   953
                                        columns remove:col.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   954
                                    ] ifFalse:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   955
                                        (id == #usedStack and:[self showUsedStack value not]) ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   956
                                            columns remove:col.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   957
                                        ] ifFalse:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   958
                                            (id == #where and:[self showWhere value not]) ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   959
                                                columns remove:col.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   960
                                            ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
   961
                                        ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
   962
                                    ] 
99d11fbee2af initial checkin
penk
parents:
diff changeset
   963
                                ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
   964
                            ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
   965
                        ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
   966
                    ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
   967
                ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
   968
            ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
   969
        ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
   970
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   971
    updateSema critical:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   972
        self tableColumns value:columns.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   973
        self selectedProcesses value:selection.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   974
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   975
    self updateList.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   976
! !
99d11fbee2af initial checkin
penk
parents:
diff changeset
   977
99d11fbee2af initial checkin
penk
parents:
diff changeset
   978
!ProcessMonitorV2 methodsFor:'event handling'!
99d11fbee2af initial checkin
penk
parents:
diff changeset
   979
99d11fbee2af initial checkin
penk
parents:
diff changeset
   980
processEvent:anEvent
99d11fbee2af initial checkin
penk
parents:
diff changeset
   981
    "filter keyboard events.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   982
     Return true, if I have eaten the event"
99d11fbee2af initial checkin
penk
parents:
diff changeset
   983
99d11fbee2af initial checkin
penk
parents:
diff changeset
   984
    |focusView key rawKey|
99d11fbee2af initial checkin
penk
parents:
diff changeset
   985
99d11fbee2af initial checkin
penk
parents:
diff changeset
   986
    anEvent isKeyPressEvent ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   987
        focusView := anEvent targetView.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   988
        key := anEvent key.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   989
        rawKey := anEvent rawKey.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   990
99d11fbee2af initial checkin
penk
parents:
diff changeset
   991
        (focusView == processList) ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   992
            key == #InspectIt ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
   993
                self inspectSelection.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   994
                ^ true.
99d11fbee2af initial checkin
penk
parents:
diff changeset
   995
            ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   996
        ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
   997
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
   998
    ^ false
99d11fbee2af initial checkin
penk
parents:
diff changeset
   999
! !
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1000
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1001
!ProcessMonitorV2 methodsFor:'initialization & release'!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1002
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1003
closeDownViews
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1004
    "This is a hook method generated by the Browser.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1005
     It will be invoked when your app/dialog-window is really closed.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1006
     See also #closeDownViews, which is invoked before and may suppress the close
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1007
     or ask the user for confirmation."
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1008
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1009
    "/ change the code below as required ...
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1010
    "/ This should cleanup any leftover resources
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1011
    "/ (for example, temporary files)
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1012
    "/ super closeRequest will initiate the closeDown
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1013
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1014
    "/ add your code here
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1015
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1016
    "/ do not remove the one below ...
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1017
    ^ super closeDownViews
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1018
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1019
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1020
initialize
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1021
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1022
    super initialize.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1023
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1024
    showDetail := (Smalltalk at:#SystemDebugging ifAbsent:false).
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1025
    updateSema := Semaphore forMutualExclusion.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1026
    updateDelay := 0.5.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1027
    listUpdateDelay := 5.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1028
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1029
    "/ event mode is no longer used;
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1030
    "/ this event support may vanish
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1031
    Processor isPureEventDriven ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1032
        updateBlock := [self updateStatus:nil].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1033
        listUpdateBlock := [self updateList].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1034
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1035
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1036
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1037
postBuildProcessTable:aWidget
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1038
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1039
    processTable       := aWidget scrolledView.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1040
    processTable wantsFocusWithPointerEnter.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1041
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1042
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1043
postBuildWith:aBuilder
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1044
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1045
    ^ super postBuildWith:aBuilder
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1046
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1047
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1048
postOpenWith:aBuilder
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1049
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1050
    super postOpenWith:aBuilder.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1051
    self viewedColumnsChanged.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1052
    self updateList.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1053
    self startUpdateProcess.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1054
    self selectionChanged.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1055
    self windowGroup addPreEventHook:self.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1056
! !
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1057
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1058
!ProcessMonitorV2 methodsFor:'menu actions'!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1059
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1060
abortProcess
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1061
    "abort (raise AbortSignal in) the selected process"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1062
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1063
    self selectedProcessesDo:[:p |
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1064
        p abort
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1065
    ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1066
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1067
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1068
debugProcess
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1069
    "open a debugger on the selected process"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1070
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1071
    self selectedProcessesDo:[:p |
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1072
       Debugger openOn:p
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1073
    ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1074
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1075
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1076
debugWhenResumed
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1077
    self selectedProcessesDo:[:p |
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1078
       p addInterruptAction:[Debugger enter]
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1079
    ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1080
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1081
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1082
hardTerminateProcess
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1083
    "hard terminate the selected process"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1084
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1085
    self selectedProcessesSend:#terminateNoSignal
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1086
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1087
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1088
inspectSelection
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1089
    "open an inspector on the selected process"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1090
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1091
    self selectedProcessesSend:#inspect
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1092
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1093
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1094
lowerPrio
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1095
    "lower the selected processes priority"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1096
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1097
    self selectedProcessesDo:[:p |
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1098
       p priority:(p priority - 1)
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1099
    ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1100
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1101
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1102
openAboutThisApplication
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1103
    "This method was generated by the Browser.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1104
     It will be invoked when the menu-item 'help-about' is selected."
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1105
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1106
    "/ could open a customized aboutBox here ...
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1107
    super openAboutThisApplication
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1108
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1109
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1110
openDocumentation
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1111
    "This method was generated by the Browser.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1112
     It will be invoked when the menu-item 'help-documentation' is selected."
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1113
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1114
    "/ change below as required ...
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1115
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1116
    "/ to open an HTML viewer on some document (under 'doc/online/<language>/' ):
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1117
    HTMLDocumentView openFullOnDocumentationFile:'TOP.html'.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1118
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1119
    "/ add application-specific help files under the 'doc/online/<language>/help/appName'
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1120
    "/ directory, and open a viewer with:
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1121
    "/ HTMLDocumentView openFullOnDocumentationFile:'help/<MyApplication>/TOP.html'.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1122
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1123
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1124
raisePrio
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1125
    "raise the selected processes priority"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1126
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1127
    self selectedProcessesDo:[:p |
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1128
       p priority:(p priority + 1)
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1129
    ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1130
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1131
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1132
restartProcess
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1133
    "abort (raise AbortSignal in) the selected process"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1134
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1135
    self selectedProcessesDo:[:p |
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1136
        p restart.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1137
    ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1138
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1139
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1140
resumeProcess
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1141
    "resume the selected process (i.e. let it run) "
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1142
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1143
    self selectedProcessesSend:#resume
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1144
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1145
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1146
stopProcess
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1147
    "stop the selected process - not even interrupts will wake it up"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1148
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1149
    self selectedProcessesSend:#stop
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1150
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1151
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1152
suspendProcess
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1153
    "suspend the selected process - interrupts will let it run again"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1154
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1155
    self selectedProcessesSend:#suspend
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1156
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1157
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1158
terminateProcess
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1159
    "terminate the selected process"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1160
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1161
    self selectedProcessesSend:#terminate.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1162
    self updateList.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1163
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1164
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1165
terminateProcessGroup
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1166
    "terminate the selected process with all of its subprocesses"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1167
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1168
    self selectedProcessesSend:#terminateGroup.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1169
    self updateList.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1170
! !
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1171
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1172
!ProcessMonitorV2 methodsFor:'queries'!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1173
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1174
needFullInformation
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1175
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1176
    ^ true
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1177
"/    ^ (self showUsedStack value or:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1178
"/      self showTotalStack value or:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1179
"/      self showCurrentSegment value or:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1180
"/      self showSwitch value]]])
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1181
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1182
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1183
showDetail
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1184
! !
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1185
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1186
!ProcessMonitorV2 methodsFor:'queries - table string'!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1187
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1188
getCurrentSegmentStringFor:con
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1189
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1190
    con notNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1191
        | contextCount c sender|
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1192
        contextCount := 1.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1193
        c := con.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1194
        [(sender := c sender) notNil] whileTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1195
            c := sender.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1196
            contextCount := contextCount + 1.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1197
        ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1198
        ^ (((ObjectMemory addressOf:con) printStringRadix:16),
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1199
           ' .. ',
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1200
           ((ObjectMemory addressOf:c) printStringRadix:16)).
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1201
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1202
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1203
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1204
getGroupStringFor:aProcess
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1205
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1206
    |gId|
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1207
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1208
    gId := aProcess processGroupId.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1209
    ((gId == aProcess id) or:[gId isNil]) ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1210
        "/ a group leader
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1211
        ^ '-'.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1212
    ] ifFalse:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1213
        ^ gId.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1214
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1215
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1216
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1217
getPrioStringFor:aProcess
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1218
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1219
    |prioRange|
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1220
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1221
    Processor supportDynamicPriorities ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1222
        (prioRange := aProcess priorityRange) isNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1223
            ^ aProcess priority asString.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1224
        ] ifFalse:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1225
            ^ (aProcess priority asString, 
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1226
                    ' [',
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1227
                    prioRange start printString,
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1228
                    '..',
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1229
                    prioRange stop printString,
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1230
                    ']').
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1231
        ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1232
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1233
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1234
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1235
getStateStringFor:aProcess running:isRunning
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1236
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1237
    |st stateCharacter |
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1238
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1239
    st := aProcess state.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1240
    isRunning ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1241
        stateCharacter := '* '.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1242
    ] ifFalse:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1243
        [
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1244
            (Processor scheduledProcesses includes:aProcess) ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1245
                stateCharacter := '+ '
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1246
            ] ifFalse:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1247
                stateCharacter := '  '.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1248
            ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1249
        ] valueUninterruptably.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1250
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1251
    ^ stateCharacter, (st asString).
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1252
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1253
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1254
getTotalStackStringFor:aProcess
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1255
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1256
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1257
    aProcess id == 0 ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1258
        ^ 'unlimited'.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1259
    ] ifFalse:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1260
        | tStackSize noOfSegs |
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1261
        ((tStackSize := aProcess totalStackSize) notNil and:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1262
         (noOfSegs := aProcess numberOfStackSegments) notNil
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1263
        ]) ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1264
            ^ ((tStackSize printString),
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1265
               ' (', 
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1266
               (noOfSegs printString),
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1267
               ')' )
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1268
        ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1269
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1270
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1271
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1272
getWhereStringFor:con running:isRunning
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1273
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1274
    con notNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1275
        | c found skipping|
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1276
        c := con.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1277
        found := false.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1278
        isRunning ifFalse:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1279
            "/ search for a semaphore-wait in the top 10 contexts
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1280
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1281
            1 to:10 do:[:n |
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1282
                found ifFalse:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1283
                    c notNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1284
                        (c receiver class == Semaphore) ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1285
                            c selector == #wait ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1286
                                found := true.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1287
                            ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1288
                        ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1289
                        c := c sender.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1290
                    ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1291
                ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1292
            ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1293
        ].    
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1294
        found ifFalse:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1295
            "/ search for a non-processor, non-process
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1296
            "/ receiver in the top 10 contexts
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1297
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1298
            c := con.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1299
            1 to:10 do:[:n |
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1300
                |r|
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1301
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1302
                found ifFalse:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1303
                    c notNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1304
                        ((r := c receiver) ~~ Processor 
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1305
                         and:[r class ~~ Process]) ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1306
                            found := true.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1307
                        ] ifFalse:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1308
                            c := c sender.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1309
                        ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1310
                    ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1311
                ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1312
            ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1313
        ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1314
        found ifFalse:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1315
            c := con
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1316
        ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1317
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1318
        "/ skip, until an interesting context is
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1319
        "/ found.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1320
        "/ this skips intermediate contexts, which lead
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1321
        "/ to the sema-wait (for example, unwind blocks,
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1322
        "/ delay-stuff etc.)
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1323
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1324
        skipping := true.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1325
        [skipping] whileTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1326
            skipping := false.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1327
            (c notNil
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1328
            and:[c receiver == Delay
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1329
                 or:[c receiver class == Delay]]) ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1330
                c := c sender.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1331
                skipping := true.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1332
            ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1333
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1334
            [c notNil
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1335
            and:[c receiver isBlock 
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1336
            and:[c selector startsWith:'value']]] whileTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1337
                c := c sender.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1338
                skipping := true.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1339
            ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1340
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1341
            [c notNil
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1342
            and:[c receiver isBlock 
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1343
            and:[c selector = 'ensure:']]] whileTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1344
                c := c sender.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1345
                skipping := true.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1346
            ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1347
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1348
            [c notNil
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1349
            and:[c receiver == OperatingSystem 
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1350
            and:[c selector == #unblockInterrupts]]] whileTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1351
                c := c sender.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1352
                skipping := true.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1353
            ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1354
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1355
            [c notNil and:[c isBlockContext]] whileTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1356
                c := c home.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1357
                skipping := true.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1358
            ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1359
        ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1360
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1361
        c notNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1362
            | sel |
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1363
            sel := c selector.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1364
            sel isNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1365
                sel := '* unknown *'
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1366
            ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1367
            ^ (c receiver class name,
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1368
               '>>',
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1369
               sel).
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1370
        ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1371
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1372
! !
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1373
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1374
!ProcessMonitorV2 methodsFor:'sorting'!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1375
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1376
sortProcessListBy:instanceName 
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1377
    "method to sort the list of BugReport"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1378
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1379
    | aSymbol isReverse cmpOp currentSortOrder|
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1380
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1381
    aSymbol := instanceName asSymbol.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1382
    isReverse := false.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1383
    currentSortOrder := self currentSortOrder value.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1384
    currentSortOrder isEmpty ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1385
        currentSortOrder at:#column put:aSymbol.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1386
        currentSortOrder at:#reverse put:false.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1387
    ] ifFalse:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1388
        (currentSortOrder at:#column) = aSymbol ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1389
            "/ same column like before - change sort order ifReverse is true
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1390
            isReverse := currentSortOrder at:#reverse.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1391
            currentSortOrder at:#reverse put:(isReverse not).
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1392
        ] ifFalse:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1393
            "/ another column - remark column
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1394
            currentSortOrder at:#column put:aSymbol.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1395
        ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1396
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1397
    self viewedColumnsChanged.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1398
    (currentSortOrder at:#reverse) ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1399
        cmpOp := #'>'
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1400
    ] ifFalse:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1401
        cmpOp := #'<'
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1402
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1403
    sortBlock := [:a :b | 
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1404
            |entry1 entry2|
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1405
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1406
            entry1 := (a perform:aSymbol).
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1407
            entry2 := (b perform:aSymbol).
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1408
            entry1 perform:cmpOp with:entry2 
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1409
        ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1410
    updateSema critical:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1411
        | oldList |
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1412
        oldList := self processList copy.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1413
        self processList contents:(oldList sort:sortBlock)
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1414
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1415
! !
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1416
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1417
!ProcessMonitorV2 methodsFor:'update process'!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1418
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1419
createItemWith:aProcess
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1420
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1421
    | running con processItem|
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1422
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1423
    processItem := ProcessItem new.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1424
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1425
    processItem processInstance:aProcess.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1426
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1427
    processItem processId:aProcess id.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1428
    processItem idVal:aProcess id ? -1.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1429
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1430
    processItem processGroup:(self getGroupStringFor:aProcess).
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1431
    processItem groupVal:(processItem processGroup isNumber ifTrue:[processItem processGroup] ifFalse:[-1]).
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1432
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1433
    processItem processName:aProcess name ? ''.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1434
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1435
    running := (aProcess state == #run and:[aProcess == Processor interruptedProcess]).
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1436
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1437
    processItem processState:(self getStateStringFor:aProcess running:running).
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1438
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1439
    processItem prioVal:(aProcess priority).
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1440
    processItem processPrio:(self getPrioStringFor:aProcess).
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1441
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1442
    processItem processUsedStack:aProcess usedStackSize.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1443
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1444
    processItem processTotalStack:(self getTotalStackStringFor:aProcess).
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1445
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1446
    con := aProcess suspendedContext.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1447
    con isNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1448
        aProcess == Processor activeProcess ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1449
            con := thisContext
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1450
        ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1451
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1452
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1453
    processItem processCurrentSegment:(self getCurrentSegmentStringFor:con).
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1454
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1455
    processItem processSwitch:(aProcess numberOfStackBoundaryHits printString).
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1456
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1457
    processItem processWhere:(self getWhereStringFor:con running:running).
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1458
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1459
    ^ processItem
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1460
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1461
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1462
startUpdateProcess
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1463
    updateBlock notNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1464
        Processor addTimedBlock:updateBlock afterSeconds:updateDelay.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1465
        Processor addTimedBlock:listUpdateBlock afterSeconds:listUpdateDelay.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1466
    ] ifFalse:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1467
        updateProcess := [
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1468
            [
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1469
                |id cnt myDelay|
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1470
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1471
                myDelay := Delay forSeconds:updateDelay.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1472
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1473
                "
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1474
                 every updateDelay (0.5), we look which process runs;
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1475
                 every half second, the status is updated.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1476
                 every listUpdateDelay (5s), the list of processes is
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1477
                 built up again
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1478
                "
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1479
                [true] whileTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1480
                    ((listUpdateDelay // updateDelay) max:2) - 1 timesRepeat:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1481
                        myDelay wait.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1482
                        self updateStatus:nil.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1483
                    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1484
                    myDelay wait.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1485
                    self updateList.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1486
                ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1487
            ] valueOnUnwindDo:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1488
                updateProcess := nil
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1489
            ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1490
        ]  forkAt:(Processor userSchedulingPriority + 1).
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1491
        updateProcess name:'monitor [' , 
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1492
                           Processor activeProcess id printString ,
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1493
                           '] update'.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1494
        "
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1495
         raise my own priority
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1496
        "
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1497
        Processor activeProcess priority:(Processor userSchedulingPriority + 2)
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1498
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1499
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1500
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1501
updateList
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1502
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1503
    |newList|
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1504
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1505
    processTable shown ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1506
        newList := self getProcessList.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1507
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1508
        "sort by id - take care of nil ids of dead processes"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1509
        newList sort:[:p1 :p2 |
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1510
                         |id1 id2|
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1511
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1512
                         (p1 isNil or:[(id1 := p1 id) isNil])
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1513
                             ifTrue:[true]
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1514
                             ifFalse:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1515
                                 (p2 isNil or:[(id2 := p2 id) isNil])
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1516
                                     ifTrue:[false]
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1517
                                     ifFalse:[id1 < id2]
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1518
                         ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1519
                     ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1520
        newList ~= processes ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1521
            self updateStatus:newList
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1522
        ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1523
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1524
    updateBlock notNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1525
        Processor removeTimedBlock:listUpdateBlock.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1526
        Processor addTimedBlock:listUpdateBlock afterSeconds:listUpdateDelay
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1527
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1528
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1529
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1530
updateStatus:newProcessList
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1531
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1532
    |startTime oldSelection newSelection newList dIndex index aProcess processItem endTime deltaT|
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1533
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1534
    startTime := AbsoluteTime now.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1535
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1536
    processTable shown ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1537
        newProcessList notNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1538
            processes := WeakArray withAll:newProcessList.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1539
            ((processes findFirst:[:pro1|  pro1 id == 0]) ~= 0) ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1540
                Transcript showCR:'have'.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1541
            ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1542
        ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1543
        processes notNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1544
            newList := OrderedCollection new.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1545
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1546
            dIndex := 1.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1547
            index := 1.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1548
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1549
            "/ use while-loop;
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1550
            "/ processList may change size ....
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1551
            
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1552
            [index <= processes size] whileTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1553
                aProcess := processes at:index.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1554
                index := index + 1.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1555
                (aProcess notNil 
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1556
                and:[aProcess ~~ 0]) ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1557
                    ((aProcess id) notNil or:[self showDead value]) ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1558
                        processItem := self createItemWith:aProcess.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1559
                        (((newList select:[:pro2| (pro2 processInstance == processItem processInstance)]) size) > 0) ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1560
                            Transcript showCR:'process ', processItem processInstance name asString, ' already in list at ', index asString.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1561
                        ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1562
                        newList add:processItem.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1563
                        processes at:dIndex put:aProcess.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1564
                    ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1565
                ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1566
                dIndex := dIndex + 1
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1567
            ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1568
        ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1569
        updateSema critical:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1570
            oldSelection := self selectedProcesses value.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1571
            newList sort:self sortBlock.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1572
            processList contents:(newList asList).
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1573
            oldSelection notNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1574
                newSelection := OrderedCollection new.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1575
                oldSelection do:[:processItem |
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1576
                    index := newList findFirst:[:anItem | (anItem processInstance == processItem processInstance)].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1577
                    index ~~ 0 ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1578
                        newSelection add:(newList at:index).
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1579
                    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1580
                ]            
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1581
            ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1582
            self selectedProcesses value:newSelection.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1583
        ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1584
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1585
    endTime := AbsoluteTime now.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1586
    deltaT := (endTime millisecondDeltaFrom:startTime) / 1000.0.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1587
"/    Transcript show:deltaT; show:' ' ; showCR:(updateDelay / 10.0).
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1588
    deltaT > (updateDelay / 5) ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1589
        "/ the update took longer than 20% - make delay longer, to reduce cpu load.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1590
        updateDelay := updateDelay * 2.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1591
        "/ Transcript show:'+++ '; showCR:updateDelay.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1592
    ] ifFalse:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1593
        updateDelay > 0.5 ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1594
            deltaT < (updateDelay / 20) ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1595
                "/ the update took less than 5% - make delay smaller for better animation.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1596
                updateDelay := (updateDelay / 2) max:0.5.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1597
                "/ Transcript show:'--- ';showCR:updateDelay.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1598
            ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1599
        ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1600
    ].
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1601
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1602
    updateBlock notNil ifTrue:[
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1603
        Processor removeTimedBlock:updateBlock.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1604
        Processor addTimedBlock:updateBlock afterSeconds:updateDelay
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1605
    ]
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1606
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1607
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1608
updateView
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1609
    self updateList.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1610
    self updateStatus:nil
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1611
! !
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1612
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1613
!ProcessMonitorV2::ProcessItem methodsFor:'accessing'!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1614
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1615
groupVal
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1616
    "return the value of the instance variable 'groupVal' (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1617
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1618
    ^ groupVal
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1619
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1620
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1621
groupVal:something
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1622
    "set the value of the instance variable 'groupVal' (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1623
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1624
    groupVal := something.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1625
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1626
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1627
idVal
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1628
    "return the value of the instance variable 'idVal' (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1629
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1630
    ^ idVal
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1631
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1632
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1633
idVal:something
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1634
    "set the value of the instance variable 'idVal' (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1635
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1636
    idVal := something.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1637
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1638
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1639
prioVal
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1640
    "return the value of the instance variable 'prioVal' (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1641
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1642
    ^ prioVal
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1643
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1644
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1645
prioVal:something
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1646
    "set the value of the instance variable 'prioVal' (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1647
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1648
    prioVal := something.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1649
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1650
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1651
processCurrentSegment
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1652
    "return the value of the instance variable 'processCurrentSegment' (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1653
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1654
    ^ processCurrentSegment
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1655
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1656
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1657
processCurrentSegment:something
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1658
    "set the value of the instance variable 'processCurrentSegment' (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1659
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1660
    processCurrentSegment := something.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1661
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1662
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1663
processGroup
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1664
    "return the value of the instance variable 'processGroup' (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1665
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1666
    ^ processGroup
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1667
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1668
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1669
processGroup:something
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1670
    "set the value of the instance variable 'processGroup' (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1671
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1672
    processGroup := something.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1673
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1674
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1675
processId
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1676
    "return the value of the instance variable 'processId' (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1677
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1678
    ^ processId
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1679
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1680
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1681
processId:something
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1682
    "set the value of the instance variable 'processId' (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1683
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1684
    processId := something.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1685
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1686
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1687
processInstance
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1688
    "return the value of the instance variable 'processInstance' (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1689
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1690
    ^ processInstance
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1691
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1692
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1693
processInstance:something
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1694
    "set the value of the instance variable 'processInstance' (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1695
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1696
    processInstance := something.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1697
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1698
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1699
processName
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1700
    "return the value of the instance variable 'processName' (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1701
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1702
    ^ processName
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1703
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1704
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1705
processName:something
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1706
    "set the value of the instance variable 'processName' (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1707
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1708
    processName := something.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1709
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1710
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1711
processPrio
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1712
    "return the value of the instance variable 'processPrio' (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1713
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1714
    ^ processPrio
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1715
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1716
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1717
processPrio:something
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1718
    "set the value of the instance variable 'processPrio' (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1719
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1720
    processPrio := something.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1721
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1722
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1723
processState
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1724
    "return the value of the instance variable 'processState' (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1725
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1726
    ^ processState
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1727
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1728
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1729
processState:something
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1730
    "set the value of the instance variable 'processState' (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1731
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1732
    processState := something.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1733
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1734
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1735
processSwitch
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1736
    "return the value of the instance variable 'processSwitch' (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1737
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1738
    ^ processSwitch
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1739
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1740
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1741
processSwitch:something
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1742
    "set the value of the instance variable 'processSwitch' (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1743
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1744
    processSwitch := something.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1745
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1746
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1747
processTotalStack
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1748
    "return the value of the instance variable 'processTotalStack' (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1749
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1750
    ^ processTotalStack
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1751
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1752
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1753
processTotalStack:something
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1754
    "set the value of the instance variable 'processTotalStack' (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1755
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1756
    processTotalStack := something.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1757
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1758
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1759
processUsedStack
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1760
    "return the value of the instance variable 'processUsedStack' (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1761
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1762
    ^ processUsedStack
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1763
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1764
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1765
processUsedStack:something
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1766
    "set the value of the instance variable 'processUsedStack' (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1767
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1768
    processUsedStack := something.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1769
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1770
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1771
processWhere
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1772
    "return the value of the instance variable 'processWhere' (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1773
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1774
    ^ processWhere
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1775
!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1776
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1777
processWhere:something
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1778
    "set the value of the instance variable 'processWhere' (automatically generated)"
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1779
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1780
    processWhere := something.
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1781
! !
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1782
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1783
!ProcessMonitorV2 class methodsFor:'documentation'!
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1784
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1785
version
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1786
    ^ '$Header: /cvs/stx/stx/libtool/ProcessMonitorV2.st,v 1.1 2003-01-21 15:17:24 penk Exp $'
99d11fbee2af initial checkin
penk
parents:
diff changeset
  1787
! !