VDBAbstractPresenter.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 13 Mar 2018 00:08:25 +0000
changeset 65 3fdd35be056d
parent 63 b8c6b168d25f
child 77 163d914fae79
permissions -rw-r--r--
Fixed handling of log events in `VDBDebuggerApplication` Only raise & flash log window once all log events are received to avoid (timely) flashing when log is large.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
49
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 46
diff changeset
     1
"
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 46
diff changeset
     2
jv:vdb - Visual / VM Debugger
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 46
diff changeset
     3
Copyright (C) 2015-now Jan Vrany
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 46
diff changeset
     4
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 46
diff changeset
     5
This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 46
diff changeset
     6
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 46
diff changeset
     7
You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 46
diff changeset
     8
"
22
6684f4d82301 Temporary commit: reworking VDBStackApplication to support multiple threads and inferiors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
"{ Package: 'jv:vdb' }"
6684f4d82301 Temporary commit: reworking VDBStackApplication to support multiple threads and inferiors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
40
d766d4c854a2 Cleanup in debugger and inferior console applications to catch up changes in `jv:libgdbs`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
    11
"{ NameSpace: Smalltalk }"
d766d4c854a2 Cleanup in debugger and inferior console applications to catch up changes in `jv:libgdbs`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
    12
60
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
    13
HierarchicalItem subclass:#VDBAbstractPresenter
22
6684f4d82301 Temporary commit: reworking VDBStackApplication to support multiple threads and inferiors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
	instanceVariableNames:''
6684f4d82301 Temporary commit: reworking VDBStackApplication to support multiple threads and inferiors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
	classVariableNames:''
6684f4d82301 Temporary commit: reworking VDBStackApplication to support multiple threads and inferiors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
	poolDictionaries:''
6684f4d82301 Temporary commit: reworking VDBStackApplication to support multiple threads and inferiors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
	category:'VDB-Presentation'
6684f4d82301 Temporary commit: reworking VDBStackApplication to support multiple threads and inferiors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
!
6684f4d82301 Temporary commit: reworking VDBStackApplication to support multiple threads and inferiors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
60
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
    20
!VDBAbstractPresenter class methodsFor:'documentation'!
49
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 46
diff changeset
    21
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 46
diff changeset
    22
copyright
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 46
diff changeset
    23
"
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 46
diff changeset
    24
jv:vdb - Visual / VM Debugger
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 46
diff changeset
    25
Copyright (C) 2015-now Jan Vrany
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 46
diff changeset
    26
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 46
diff changeset
    27
This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 46
diff changeset
    28
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 46
diff changeset
    29
You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 46
diff changeset
    30
"
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 46
diff changeset
    31
! !
24
c33a063cb363 Added icons from Eclipse.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
    32
60
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
    33
!VDBAbstractPresenter class methodsFor:'menu specs'!
54
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
    34
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
    35
contextMenu
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
    36
    "This resource specification was automatically generated
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
    37
     by the MenuEditor of ST/X."
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
    38
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
    39
    "Do not manually edit this!! If it is corrupted,
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
    40
     the MenuEditor may not be able to read the specification."
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
    41
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
    42
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
    43
    "
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
    44
     MenuEditor new openOnClass:VDBModelPresenter andSelector:#contextMenu
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
    45
     (Menu new fromLiteralArrayEncoding:(VDBModelPresenter contextMenu)) startUp
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
    46
    "
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
    47
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
    48
    <resource: #menu>
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
    49
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
    50
    ^ 
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
    51
     #(Menu
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
    52
        nil nil
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
    53
        nil
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
    54
      )
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
    55
! !
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
    56
60
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
    57
!VDBAbstractPresenter class methodsFor:'queries'!
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
    58
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
    59
isAbstract
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
    60
    "Return if this class is an abstract class.
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
    61
     True is returned here for myself only; false for subclasses.
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
    62
     Abstract subclasses must redefine this again."
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
    63
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
    64
    ^ self == VDBAbstractPresenter.
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
    65
! !
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
    66
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
    67
!VDBAbstractPresenter methodsFor:'accessing'!
44
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
    68
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
    69
backgroundColor
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
    70
    | app |
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
    71
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
    72
    app := self application.
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
    73
    app notNil ifTrue:[ 
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
    74
        ^ app perform: #backgroundColorFor: with: self ifNotUnderstood: [ nil ].
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
    75
    ].
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
    76
    ^ nil
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
    77
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
    78
    "Created: / 06-06-2017 / 23:38:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
60
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
    79
!
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
    80
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
    81
subject
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
    82
    "Return an instance of GDB object that this presenter displays."
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
    83
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
    84
    ^ self subclassResponsibility
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
    85
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
    86
    "Created: / 05-02-2018 / 13:07:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
44
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
    87
! !
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
    88
60
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
    89
!VDBAbstractPresenter methodsFor:'change & update'!
22
6684f4d82301 Temporary commit: reworking VDBStackApplication to support multiple threads and inferiors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
6684f4d82301 Temporary commit: reworking VDBStackApplication to support multiple threads and inferiors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
updateChildren
6684f4d82301 Temporary commit: reworking VDBStackApplication to support multiple threads and inferiors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
    children notNil ifTrue:[ 
6684f4d82301 Temporary commit: reworking VDBStackApplication to support multiple threads and inferiors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
        self children:self fetchChildren  
6684f4d82301 Temporary commit: reworking VDBStackApplication to support multiple threads and inferiors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
    ].
6684f4d82301 Temporary commit: reworking VDBStackApplication to support multiple threads and inferiors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
6684f4d82301 Temporary commit: reworking VDBStackApplication to support multiple threads and inferiors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
    "Created: / 21-09-2014 / 23:43:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6684f4d82301 Temporary commit: reworking VDBStackApplication to support multiple threads and inferiors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
! !
6684f4d82301 Temporary commit: reworking VDBStackApplication to support multiple threads and inferiors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
60
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
    99
!VDBAbstractPresenter methodsFor:'displaying'!
44
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
   100
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
   101
displayString
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
   102
    ^ self label
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
   103
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
   104
    "Created: / 10-06-2017 / 12:24:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
   105
! !
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
   106
60
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   107
!VDBAbstractPresenter methodsFor:'menu'!
54
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
   108
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
   109
contextMenu
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
   110
    | menu |
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
   111
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
   112
    menu := Menu decodeFromLiteralArray: self class contextMenu.
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
   113
    menu hasItems ifFalse:[ ^ menu ].
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
   114
    menu findGuiResourcesIn:self.
60
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   115
    menu itemsDo:[:item| item receiver: self ].
54
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
   116
    menu addSeparator.
63
b8c6b168d25f Introduced menu extension points
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   117
    self contextMenuExtendersFor: #contextMenu do:[:each |
b8c6b168d25f Introduced menu extension points
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   118
        self perform: each with: menu
b8c6b168d25f Introduced menu extension points
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   119
    ]. 
54
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
   120
    ^ menu
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
   121
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
   122
    "Created: / 16-01-2018 / 22:03:53 / jv"
63
b8c6b168d25f Introduced menu extension points
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   123
    "Modified: / 07-02-2018 / 09:52:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b8c6b168d25f Introduced menu extension points
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   124
!
b8c6b168d25f Introduced menu extension points
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   125
b8c6b168d25f Introduced menu extension points
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   126
contextMenuExtendersFor: key do: block
b8c6b168d25f Introduced menu extension points
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   127
    "Evaluates a block for each selector that extends particular menu.
b8c6b168d25f Introduced menu extension points
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   128
     Extender methods have to be annotated by <menuextension: key> annotation
b8c6b168d25f Introduced menu extension points
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   129
     and must take one argument (an instance of Menu that the menu extension
b8c6b168d25f Introduced menu extension points
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   130
     extends."
b8c6b168d25f Introduced menu extension points
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   131
b8c6b168d25f Introduced menu extension points
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   132
    | cls |
b8c6b168d25f Introduced menu extension points
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   133
b8c6b168d25f Introduced menu extension points
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   134
    cls := self class.
b8c6b168d25f Introduced menu extension points
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   135
    [ cls notNil ] whileTrue:[
b8c6b168d25f Introduced menu extension points
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   136
        cls selectorsAndMethodsDo:[ :selector :method |
b8c6b168d25f Introduced menu extension points
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   137
            method annotationsAt: #menuextension: do: [ :annotation |
b8c6b168d25f Introduced menu extension points
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   138
                annotation arguments first == key ifTrue:[
b8c6b168d25f Introduced menu extension points
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   139
                    block value: selector
b8c6b168d25f Introduced menu extension points
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   140
                ].
b8c6b168d25f Introduced menu extension points
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   141
            ]
b8c6b168d25f Introduced menu extension points
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   142
        ].
b8c6b168d25f Introduced menu extension points
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   143
        cls := cls superclass.
b8c6b168d25f Introduced menu extension points
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   144
    ].
b8c6b168d25f Introduced menu extension points
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   145
b8c6b168d25f Introduced menu extension points
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   146
    "Created: / 07-02-2018 / 09:51:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
54
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
   147
! !
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
   148
60
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   149
!VDBAbstractPresenter methodsFor:'menu actions'!
54
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
   150
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
   151
doCopy: aString
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
   152
    <resource: #uiCallback>
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
   153
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
   154
    self application window setClipboardText: aString
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
   155
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
   156
    "Created: / 16-01-2018 / 22:36:30 / jv"
60
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   157
!
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   158
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   159
doDoubleClick
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   160
    "Invoked when user double-clicks to list item. "
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   161
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   162
    self subject inspect
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   163
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   164
    "Created: / 05-02-2018 / 13:03:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
54
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
   165
! !
d974a70c70ad UI: support for presenter-defined context menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
   166
60
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   167
!VDBAbstractPresenter methodsFor:'testing'!
23
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 22
diff changeset
   168
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 44
diff changeset
   169
isBreakpointPresenter
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 44
diff changeset
   170
    ^ false
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 44
diff changeset
   171
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 44
diff changeset
   172
    "Created: / 11-07-2017 / 11:50:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 44
diff changeset
   173
!
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 44
diff changeset
   174
23
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 22
diff changeset
   175
isFramePresenter
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 22
diff changeset
   176
    ^ false
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 22
diff changeset
   177
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 22
diff changeset
   178
    "Created: / 21-09-2014 / 23:53:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 22
diff changeset
   179
!
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 22
diff changeset
   180
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 22
diff changeset
   181
isThreadGroupPresenter
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 22
diff changeset
   182
    ^ false
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 22
diff changeset
   183
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 22
diff changeset
   184
    "Created: / 21-09-2014 / 23:54:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 22
diff changeset
   185
!
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 22
diff changeset
   186
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 22
diff changeset
   187
isThreadPresenter
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 22
diff changeset
   188
    ^ false
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 22
diff changeset
   189
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 22
diff changeset
   190
    "Created: / 21-09-2014 / 23:54:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
42
a6f5f470a947 Display variable values in frame view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
   191
!
a6f5f470a947 Display variable values in frame view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
   192
a6f5f470a947 Display variable values in frame view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
   193
isVariablePresenter
a6f5f470a947 Display variable values in frame view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
   194
    ^ false
a6f5f470a947 Display variable values in frame view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
   195
a6f5f470a947 Display variable values in frame view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
   196
    "Created: / 02-06-2017 / 00:05:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
23
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 22
diff changeset
   197
! !
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 22
diff changeset
   198
60
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   199
!VDBAbstractPresenter class methodsFor:'documentation'!
24
c33a063cb363 Added icons from Eclipse.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
   200
c33a063cb363 Added icons from Eclipse.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
   201
version_HG
c33a063cb363 Added icons from Eclipse.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
   202
c33a063cb363 Added icons from Eclipse.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
   203
    ^ '$Changeset: <not expanded> $'
c33a063cb363 Added icons from Eclipse.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
   204
! !
c33a063cb363 Added icons from Eclipse.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
   205