VDBStackApplication.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Sun, 28 Jan 2018 23:13:36 +0000
changeset 57 8cd259e11b9e
parent 55 fd2637e6d153
child 72 4e8268dabaf7
permissions -rw-r--r--
Variable objects: added support for composite types ...such as arrays, structs and unions: * renamed `VDBVariablePresenter` to more generic `GDBVsriableOjbectPresenter` * added support for hierarchy of `GDBVsriableOjbectPresenter` to show members of composite types in frame application.
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
"
13
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
"{ Package: 'jv:vdb' }"
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    11
"{ NameSpace: Smalltalk }"
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    12
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    13
VDBAbstractTreeApplication subclass:#VDBStackApplication
23
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    14
	instanceVariableNames:'selectedThreadGroupHolder selectedThreadHolder
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    15
		selectedFrameHolder'
13
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
	classVariableNames:''
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
	poolDictionaries:''
16
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    18
	category:'VDB-UI-Others'
13
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
!
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
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
!VDBStackApplication class methodsFor:'documentation'!
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
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
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
    24
"
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
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
    26
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
    27
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
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
    29
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
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
    31
"
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 46
diff changeset
    32
! !
15
7cddd476fb00 Fix in stack application: react on thread / inferior termination.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    33
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
    34
!VDBStackApplication class methodsFor:'accessing'!
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
    35
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
    36
windowTitle
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
    37
    ^ 'Backtrace'
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
    38
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
    39
    "Created: / 11-07-2017 / 16:37:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
    40
! !
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
    41
13
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
!VDBStackApplication class methodsFor:'plugIn spec'!
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
aspectSelectors
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
    "This resource specification was automatically generated
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
     by the UIPainter of ST/X."
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
    "Do not manually edit this. If it is corrupted,
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
     the UIPainter may not be able to read the specification."
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
    "Return a description of exported aspects;
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
     these can be connected to aspects of an embedding application
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
     (if this app is embedded in a subCanvas)."
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
    ^ #(
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
        #debuggerHolder
23
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    57
        #selectedFrameHolder
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    58
        #selectedThreadGroupHolder
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    59
        #selectedThreadHolder
13
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
      ).
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
! !
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
!VDBStackApplication methodsFor:'aspects'!
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
23
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    66
selectedFrameHolder
13
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
    "return/create the 'selectionHolder' value holder (automatically generated)"
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
23
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    69
    selectedFrameHolder isNil ifTrue:[
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    70
        selectedFrameHolder := ValueHolder new.
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    71
        selectedFrameHolder addDependent:self.
13
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
    ].
23
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    73
    ^ selectedFrameHolder
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    74
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    75
    "Created: / 21-09-2014 / 23:51:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    76
!
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    77
23
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    78
selectedFrameHolder:aValueModel
17
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    79
    "set the 'selectionHolder' value holder (automatically generated)"
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    80
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    81
    |oldValue newValue|
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    82
23
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    83
    selectedFrameHolder notNil ifTrue:[
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    84
        oldValue := selectedFrameHolder value.
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    85
        selectedFrameHolder removeDependent:self.
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    86
    ].
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    87
    selectedFrameHolder := aValueModel.
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    88
    selectedFrameHolder notNil ifTrue:[
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    89
        selectedFrameHolder addDependent:self.
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    90
    ].
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    91
    newValue := selectedFrameHolder value.
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    92
    oldValue ~~ newValue ifTrue:[
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    93
        self update:#value with:newValue from:selectedFrameHolder.
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    94
    ].
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    95
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    96
    "Created: / 21-09-2014 / 23:50:54 / 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: 17
diff changeset
    97
!
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    98
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    99
selectedThreadGroupHolder
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   100
    "return/create the 'selectedThreadGroupHolder' value holder (automatically generated)"
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   101
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   102
    selectedThreadGroupHolder isNil ifTrue:[
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   103
        selectedThreadGroupHolder := ValueHolder new.
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   104
        selectedThreadGroupHolder addDependent:self.
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   105
    ].
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   106
    ^ selectedThreadGroupHolder
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   107
!
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   108
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   109
selectedThreadGroupHolder:something
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   110
    "set the 'selectedThreadGroupHolder' value holder (automatically generated)"
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   111
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   112
    |oldValue newValue|
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   113
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   114
    selectedThreadGroupHolder notNil ifTrue:[
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   115
        oldValue := selectedThreadGroupHolder value.
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   116
        selectedThreadGroupHolder removeDependent:self.
17
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   117
    ].
23
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   118
    selectedThreadGroupHolder := something.
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   119
    selectedThreadGroupHolder notNil ifTrue:[
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   120
        selectedThreadGroupHolder addDependent:self.
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   121
    ].
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   122
    newValue := selectedThreadGroupHolder value.
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   123
    oldValue ~~ newValue ifTrue:[
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   124
        self update:#value with:newValue from:selectedThreadGroupHolder.
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   125
    ].
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   126
!
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   127
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   128
selectedThreadHolder
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   129
    "return/create the 'selectedThreadHolder' value holder (automatically generated)"
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   130
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   131
    selectedThreadHolder isNil ifTrue:[
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   132
        selectedThreadHolder := ValueHolder new.
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   133
        selectedThreadHolder addDependent:self.
17
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   134
    ].
23
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   135
    ^ selectedThreadHolder
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   136
!
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   137
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   138
selectedThreadHolder:something
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   139
    "set the 'selectedThreadHolder' value holder (automatically generated)"
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   140
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   141
    |oldValue newValue|
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   142
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   143
    selectedThreadHolder notNil ifTrue:[
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   144
        oldValue := selectedThreadHolder value.
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   145
        selectedThreadHolder removeDependent:self.
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   146
    ].
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   147
    selectedThreadHolder := something.
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   148
    selectedThreadHolder notNil ifTrue:[
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   149
        selectedThreadHolder addDependent:self.
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   150
    ].
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   151
    newValue := selectedThreadHolder value.
17
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   152
    oldValue ~~ newValue ifTrue:[
23
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   153
        self update:#value with:newValue from:selectedThreadHolder.
17
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   154
    ].
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   155
! !
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   156
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   157
!VDBStackApplication methodsFor:'change & update'!
17
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   158
55
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   159
enqueueUpdateAfterThreadStopped:aGDBThread 
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   160
    self enqueueDelayedUpdate:#delayedUpdateAfterThreadStopped:
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   161
        with:aGDBThread
17
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   162
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   163
    "Created: / 22-09-2014 / 23:15:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
55
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   164
    "Modified: / 17-01-2018 / 06:52:50 / jv"
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   165
!
13
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   166
17
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   167
update:aspect with:param from:sender
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   168
    "Invoked when an object that I depend upon sends a change notification."
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   169
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   170
    "stub code automatically generated - please change as required"
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   171
23
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   172
    sender == selectedFrameHolder ifTrue:[
17
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   173
         self updateInternalSelection.
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   174
         ^ self.
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   175
    ].
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   176
    super update:aspect with:param from:sender
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   177
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   178
    "Modified: / 27-02-2015 / 15:44:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   179
!
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   180
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   181
updateInternalSelection
23
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   182
"/    | selection internalSelection |
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
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: 17
diff changeset
   184
"/    selection := self selectionHolder value.
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   185
"/    internalSelection := self internalListHolder value 
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   186
"/            detect:[:e | e value == selection ] ifNone:[ nil ].
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   187
"/    self internalSelectionHolder
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   188
"/        value: internalSelection
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   189
"/        withoutNotifying: self.
17
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   190
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   191
    "Created: / 20-09-2014 / 23:05:57 / 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: 17
diff changeset
   192
    "Modified: / 21-09-2014 / 23:52:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   193
!
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   194
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   195
updateSelection
23
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   196
    | internalSelection frame thread group |
17
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   197
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   198
    internalSelection := self internalSelectionHolder value.
23
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   199
    internalSelection notNil ifTrue:[ 
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   200
        internalSelection isFramePresenter ifTrue:[
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   201
            frame := internalSelection frame.
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   202
            thread := frame thread.
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   203
            group := thread group.
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   204
        ] ifFalse:[ 
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   205
            internalSelection isThreadPresenter ifTrue:[ 
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   206
                thread := internalSelection thread.
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   207
                group := thread group.
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   208
            ] ifFalse:[  
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   209
                group := internalSelection threadGroup.
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   210
            ]
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   211
        ].
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   212
    ].
17
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   213
23
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   214
    self selectedThreadGroupHolder value: group withoutNotifying: self.
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   215
    self selectedThreadHolder value: thread withoutNotifying: self.
ed5f4b55cee5 Added toolbar and icons. Show all thread groups and threads in stack view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   216
    self selectedFrameHolder value: frame withoutNotifying: self.
17
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   217
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   218
    "Created: / 20-09-2014 / 23:10:19 / 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: 17
diff changeset
   219
    "Modified: / 22-09-2014 / 00:17:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   220
! !
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   221
25
e0f3744cd77d When execution is stopped. pre-select frame of stopped thread.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
   222
!VDBStackApplication methodsFor:'change & update-delayed'!
13
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   223
55
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   224
delayedUpdateAfterThreadStopped:thread 
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   225
    "/ It may happen that by te time we get here the thread is running
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   226
    "/ again, so care for this.
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   227
    
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   228
    thread isStopped ifTrue:[
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   229
        |threadP framePs frameP|
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   230
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   231
        threadP := self internalListHolder value root 
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   232
                recursiveDetect:[:e | e isThreadPresenter and:[ e thread == thread ] ].
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   233
        framePs := threadP children.
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   234
        framePs notEmpty ifTrue:[
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   235
            frameP := threadP children first.
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   236
            frameP parent expand.
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   237
            self internalSelectionHolder value:frameP
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   238
        ].
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   239
    ].
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   240
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   241
    "Created: / 22-09-2014 / 23:21:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   242
    "Modified: / 06-07-2017 / 08:56:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   243
    "Modified: / 16-01-2018 / 20:22:04 / jv"
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   244
!
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   245
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   246
delayedUpdateInternalList
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   247
    | root  list |
13
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   248
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   249
    debugger isNil ifTrue:[
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   250
        self internalListHolder root children:#().
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   251
        ^ self.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   252
    ].
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   253
    root := self internalListHolder root.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   254
    list := debugger inferiors 
38
9b861cb882c8 Show al thread groupd, even terminated ones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   255
            select:[:inferior | true "inferior isRunning or:[ inferior isStopped ]" ]
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   256
            thenCollect:[:inferior | 
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   257
                (VDBThreadGroupPresenter new)
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   258
                    setThreadGroup:inferior;
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   259
                    parent:root
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   260
            ].
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   261
    root children:list.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   262
    root expand.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   263
    root children size == 1 ifTrue:[
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   264
        root children anElement expand.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   265
        root children anElement children size == 1 ifTrue:[
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   266
            root children anElement children anElement expand.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   267
        ]
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   268
    ].
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   269
    internalListView notNil ifTrue:[
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   270
        internalListView invalidate.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   271
    ]
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   272
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   273
    "Created: / 20-09-2014 / 23:05:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
38
9b861cb882c8 Show al thread groupd, even terminated ones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   274
    "Modified: / 02-03-2015 / 06:43:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
25
e0f3744cd77d When execution is stopped. pre-select frame of stopped thread.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
   275
!
e0f3744cd77d When execution is stopped. pre-select frame of stopped thread.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
   276
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   277
delayedUpdateSelection
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   278
    | internalSelection frame thread group |
25
e0f3744cd77d When execution is stopped. pre-select frame of stopped thread.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
   279
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   280
    internalSelection := self internalSelectionHolder value.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   281
    internalSelection notNil ifTrue:[ 
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   282
        internalSelection isFramePresenter ifTrue:[
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   283
            frame := internalSelection frame.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   284
            thread := frame thread.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   285
            group := thread group.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   286
        ] ifFalse:[ 
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   287
            internalSelection isThreadPresenter ifTrue:[ 
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   288
                thread := internalSelection thread.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   289
                group := thread group.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   290
            ] ifFalse:[  
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   291
                group := internalSelection threadGroup.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   292
            ]
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   293
        ].
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   294
    ].
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   295
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   296
    self selectedThreadGroupHolder value: group withoutNotifying: self.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   297
    self selectedThreadHolder value: thread withoutNotifying: self.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   298
    self selectedFrameHolder value: frame withoutNotifying: self.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   299
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   300
    "Created: / 27-02-2015 / 15:33:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   301
! !
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   302
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   303
!VDBStackApplication methodsFor:'event handling'!
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   304
31
00f6de198c7f Minor fixes in the UI - redraw stack list when execution state changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 25
diff changeset
   305
onRunningEvent: event
55
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   306
    internalListView invalidate
31
00f6de198c7f Minor fixes in the UI - redraw stack list when execution state changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 25
diff changeset
   307
00f6de198c7f Minor fixes in the UI - redraw stack list when execution state changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 25
diff changeset
   308
    "Created: / 30-09-2014 / 00:02:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
55
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   309
    "Modified: / 17-01-2018 / 06:59:11 / jv"
31
00f6de198c7f Minor fixes in the UI - redraw stack list when execution state changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 25
diff changeset
   310
!
00f6de198c7f Minor fixes in the UI - redraw stack list when execution state changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 25
diff changeset
   311
13
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   312
onStoppedEvent: event
53
738e2f6626bf Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
   313
    | stoppedThread |
738e2f6626bf Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
   314
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   315
    self enqueueDelayedUpdateInternalList.
53
738e2f6626bf Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
   316
    stoppedThread := event stoppedThread.
738e2f6626bf Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
   317
    stoppedThread notNil ifTrue:[
55
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   318
        self enqueueUpdateAfterThreadStopped:event stoppedThread.
53
738e2f6626bf Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
   319
    ].
13
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   320
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   321
    "Created: / 17-09-2014 / 23:04:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
25
e0f3744cd77d When execution is stopped. pre-select frame of stopped thread.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
   322
    "Modified: / 22-09-2014 / 23:26:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
53
738e2f6626bf Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
   323
    "Modified: / 15-01-2018 / 11:51:51 / jv"
15
7cddd476fb00 Fix in stack application: react on thread / inferior termination.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
   324
!
7cddd476fb00 Fix in stack application: react on thread / inferior termination.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
   325
7cddd476fb00 Fix in stack application: react on thread / inferior termination.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
   326
onThreadGroupExitedEvent: event
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   327
    self enqueueDelayedUpdateInternalList.
15
7cddd476fb00 Fix in stack application: react on thread / inferior termination.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
   328
7cddd476fb00 Fix in stack application: react on thread / inferior termination.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
   329
    "Created: / 18-09-2014 / 23:30:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17
c5ee4ea44165 Some more work on source displaying
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   330
    "Modified: / 20-09-2014 / 23:08:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
38
9b861cb882c8 Show al thread groupd, even terminated ones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   331
!
9b861cb882c8 Show al thread groupd, even terminated ones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   332
9b861cb882c8 Show al thread groupd, even terminated ones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   333
onThreadGroupStartedEvent: event
9b861cb882c8 Show al thread groupd, even terminated ones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   334
    self enqueueDelayedUpdateInternalList.
9b861cb882c8 Show al thread groupd, even terminated ones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   335
9b861cb882c8 Show al thread groupd, even terminated ones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   336
    "Created: / 02-03-2015 / 06:42:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   337
! !
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   338
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   339
!VDBStackApplication methodsFor:'initialization & release'!
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   340
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   341
subscribe   
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   342
    "Register for debugger events. To be overrided by subclasses"
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   343
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   344
    debugger announcer
38
9b861cb882c8 Show al thread groupd, even terminated ones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   345
        when: GDBRunningEvent               send: #onRunningEvent: to: self;
9b861cb882c8 Show al thread groupd, even terminated ones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   346
        when: GDBStoppedEvent               send: #onStoppedEvent: to: self;
9b861cb882c8 Show al thread groupd, even terminated ones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   347
        when: GDBThreadGroupStartedEvent    send: #onThreadGroupStartedEvent: to: self;
9b861cb882c8 Show al thread groupd, even terminated ones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   348
        when: GDBThreadGroupExitedEvent     send: #onThreadGroupExitedEvent: to: self
13
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   349
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   350
    "Created: / 07-06-2014 / 14:33:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
38
9b861cb882c8 Show al thread groupd, even terminated ones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   351
    "Modified: / 02-03-2015 / 06:42:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
55
fd2637e6d153 UI: refactored updates in thread / stack view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   352
    "Modified: / 17-01-2018 / 06:56:46 / jv"
13
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   353
! !
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   354
15
7cddd476fb00 Fix in stack application: react on thread / inferior termination.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
   355
!VDBStackApplication class methodsFor:'documentation'!
7cddd476fb00 Fix in stack application: react on thread / inferior termination.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
   356
7cddd476fb00 Fix in stack application: react on thread / inferior termination.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
   357
version_HG
7cddd476fb00 Fix in stack application: react on thread / inferior termination.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
   358
7cddd476fb00 Fix in stack application: react on thread / inferior termination.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
   359
    ^ '$Changeset: <not expanded> $'
7cddd476fb00 Fix in stack application: react on thread / inferior termination.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
   360
! !
7cddd476fb00 Fix in stack application: react on thread / inferior termination.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
   361