VDBAbstractListApplication.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 08 Jun 2017 13:43:34 +0100
changeset 44 41cc5a7840fe
parent 37 f417fe8685c5
child 46 6b857f3cec8c
permissions -rw-r--r--
Debugger UI improvements * fixed exec-button enablements in main debugger UI * improved thread group (inferior) presentation to show whether it has finished or it has been terminated prematurely. * added option to flush event log in log view * added option to enable frame filters and pretty printing for VDB UI (i.e, when enabled VDB shows pretty printed values and frames in backtrace list view and frame view * use code font in both hacktrace view and frame view (code font is likely non-proportional and this makes things easier to read when pretty printer / frame decorator formats additional info in "columns" * doubleclick on variable copies the value to clipboard
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'jv:vdb' }"
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ NameSpace: Smalltalk }"
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
VDBAbstractApplication subclass:#VDBAbstractListApplication
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:'internalListHolder internalListView internalSelectionHolder'
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:''
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	category:'VDB-UI-Abstract'
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
44
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    12
!VDBAbstractListApplication class methodsFor:'interface specs'!
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    13
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    14
columnsSpec
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    15
    ^ #()
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    16
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    17
    "Created: / 02-06-2017 / 07:26:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    18
! !
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    19
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    20
!VDBAbstractListApplication class methodsFor:'menu specs'!
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    21
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    22
contextMenu
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    23
    "This resource specification was automatically generated
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    24
     by the MenuEditor of ST/X."
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    25
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    26
    "Do not manually edit this!! If it is corrupted,
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    27
     the MenuEditor may not be able to read the specification."
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    28
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    29
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    30
    "
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    31
     MenuEditor new openOnClass:VDBStackApplication andSelector:#contextMenu
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    32
     (Menu new fromLiteralArrayEncoding:(VDBStackApplication contextMenu)) startUp
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    33
    "
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    34
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    35
    <resource: #menu>
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    36
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    37
    ^ 
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    38
     #(Menu
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    39
        (
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    40
         (MenuItem
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    41
            label: 'Menu Slice'
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    42
            submenuChannel: contextMenuInspectSlice
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    43
            isMenuSlice: true
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    44
          )
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    45
         )
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    46
        nil
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    47
        nil
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    48
      )
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    49
!
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    50
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    51
contextMenuInspectSlice
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    52
    "This resource specification was automatically generated
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    53
     by the MenuEditor of ST/X."
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    54
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    55
    "Do not manually edit this!! If it is corrupted,
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    56
     the MenuEditor may not be able to read the specification."
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    57
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    58
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    59
    "
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    60
     MenuEditor new openOnClass:VDBAbstractListApplication andSelector:#contextMenuInspectSlice
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    61
     (Menu new fromLiteralArrayEncoding:(VDBAbstractListApplication contextMenuInspectSlice)) startUp
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    62
    "
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    63
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    64
    <resource: #menu>
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    65
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    66
    ^ 
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    67
     #(Menu
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    68
        (
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    69
         (MenuItem
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    70
            enabled: hasSelection
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    71
            label: 'Inspect Model'
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    72
            itemValue: doInspectModel
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    73
          )
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    74
         (MenuItem
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    75
            label: 'Inspect Presenter'
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    76
            itemValue: doInspectPresenter
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    77
          )
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    78
         (MenuItem
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    79
            label: '-'
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    80
          )
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    81
         (MenuItem
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    82
            label: 'Update'
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    83
            itemValue: duUpdateList
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    84
          )
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    85
         )
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    86
        nil
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    87
        nil
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    88
      )
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    89
! !
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    90
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
!VDBAbstractListApplication class methodsFor:'queries'!
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
isAbstract
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
    "Return if this class is an abstract class.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
     True is returned here for myself only; false for subclasses.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
     Abstract subclasses must redefine again."
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
    ^ self == VDBAbstractListApplication.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
! !
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
44
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   101
!VDBAbstractListApplication methodsFor:'actions'!
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   102
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   103
postBuildInternalListView: aView
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   104
    <resource: #uiCallback>
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   105
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   106
    | columns |
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   107
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   108
    internalListView := aView.
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   109
    internalListView font: CodeView defaultFont.
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   110
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   111
    columns := self class columnsSpec.
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   112
    columns notEmptyOrNil ifTrue:[
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   113
        | renderer |
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   114
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   115
        renderer := aView setupTableRenderer.
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   116
        renderer columnDescriptors: columns
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   117
    ].
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   118
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   119
    "Modified: / 11-06-2017 / 22:16:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   120
! !
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   121
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
!VDBAbstractListApplication methodsFor:'aspects-private'!
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
internalListHolder
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
    "return/create the 'listHolder' value holder (automatically generated)"
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
    internalListHolder isNil ifTrue:[
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
        internalListHolder := ValueHolder new.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
    ].
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
    ^ internalListHolder
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
    "Created: / 27-02-2015 / 15:55:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
!
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
internalSelectionHolder
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
    "return/create the 'internalSelectionHolder' value holder (automatically generated)"
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
    internalSelectionHolder isNil ifTrue:[
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
        internalSelectionHolder := ValueHolder new.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
        internalSelectionHolder addDependent:self.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
    ].
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
    ^ internalSelectionHolder
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
! !
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
!VDBAbstractListApplication methodsFor:'change & update'!
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
enqueueDelayedUpdateInternalList
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
    self window sensor pushUserEvent:#delayedUpdateInternalList for:self
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
    "Created: / 20-09-2014 / 23:05:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
!
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   152
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153
enqueueDelayedUpdateSelection
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
    self window sensor pushUserEvent:#delayedUpdateSelection   for:self
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   156
    "Created: / 27-02-2015 / 15:35:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   157
!
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   158
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
update:aspect with:param from:sender
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
    "Invoked when an object that I depend upon sends a change notification."
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
    sender == internalSelectionHolder ifTrue:[ 
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
        self enqueueDelayedUpdateSelection.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   163
        ^ self
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
    ].
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   166
    super update:aspect with:param from:sender
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   167
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
    "Created: / 27-02-2015 / 15:44:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   169
! !
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
!VDBAbstractListApplication methodsFor:'change & update-delayed'!
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   172
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
delayedUpdateInternalList
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   174
    "raise an error: must be redefined in concrete subclass(es)"
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   175
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
    ^ self subclassResponsibility
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
!
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
delayedUpdateSelection
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
    "raise an error: must be redefined in concrete subclass(es)"
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
    ^ self subclassResponsibility
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   183
! !
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   184
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   185
!VDBAbstractListApplication methodsFor:'hooks'!
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   186
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   187
commonPostOpen
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   188
    "a common hook for postOpenWith:, postOpenAsSubcanvasWith: and postOpenAsDialogWith:."
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   189
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   190
    self enqueueDelayedUpdateInternalList
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   191
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
    "Created: / 18-09-2014 / 00:29:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   193
    "Modified: / 20-09-2014 / 23:50:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
44
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   194
! !
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   195
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   196
!VDBAbstractListApplication methodsFor:'menu'!
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   197
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   198
contextMenu
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   199
    ^ builder menuFor: #contextMenu
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   200
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   201
    "Created: / 12-06-2017 / 12:02:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   202
! !
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   203
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   204
!VDBAbstractListApplication methodsFor:'menu actions'!
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   205
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   206
doInspectModel
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   207
    | selection |
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   208
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   209
    selection := self internalSelectionHolder value.
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   210
    selection notEmptyOrNil ifTrue:[ 
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   211
        selection isThreadGroupPresenter ifTrue: [ selection threadGroup inspect ].
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   212
        selection isThreadPresenter ifTrue: [ selection thread inspect ].
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   213
        selection isFramePresenter ifTrue: [ selection frame inspect ].    
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   214
        selection isVariablePresenter ifTrue: [ selection variable inspect ].    
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   215
    ].
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   216
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   217
    "Modified: / 02-06-2017 / 00:05:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   218
!
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   219
44
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   220
doInspectPresenter
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   221
    self internalSelectionHolder value inspect
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   222
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   223
    "Modified: / 22-09-2014 / 01:17:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   224
!
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   225
44
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   226
duUpdateList
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   227
    <resource: #uiCallback>
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   228
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   229
    self enqueueDelayedUpdateInternalList
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   230
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   231
    "Modified: / 12-06-2017 / 12:00:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   232
! !
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   233