VDBBreakpointListApplication.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Sat, 21 Sep 2019 18:31:45 +0100
changeset 185 bb863cb24c1a
parent 161 103644ba5941
child 241 9996050286c5
permissions -rw-r--r--
Do not try to raise transcript window if `Transcript` is not graphical ...but - for instance - a `StdOut` or `StdErr`.
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
"
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
"{ Package: 'jv:vdb' }"
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
"{ NameSpace: Smalltalk }"
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
153
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
    13
VDBAbstractTreeApplication subclass:#VDBBreakpointListApplication
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
	instanceVariableNames:'selectedBreakpointHolder'
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
	classVariableNames:''
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
	poolDictionaries:''
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
	category:'VDB-UI-Others'
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
!
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
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
    20
!VDBBreakpointListApplication 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
    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
! !
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
!VDBBreakpointListApplication class methodsFor:'accessing'!
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
115
0dd989ce3ae7 Cleanup default window titles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
    35
defaultWindowTitle
0dd989ce3ae7 Cleanup default window titles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
    36
    ^ self resources string: 'Breakpoints'
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
    "Created: / 11-07-2017 / 16:37:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
115
0dd989ce3ae7 Cleanup default window titles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 49
diff changeset
    39
    "Modified: / 03-10-2018 / 15:39:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
! !
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
!VDBBreakpointListApplication class methodsFor:'interface specs'!
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
windowSpec
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
    "This resource specification was automatically generated
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
     by the UIPainter of ST/X."
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
    "Do not manually edit this!! If it is corrupted,
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
     the UIPainter may not be able to read the specification."
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
    "
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
     UIPainter new openOnClass:VDBBreakpointListApplication andSelector:#windowSpec
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
     VDBBreakpointListApplication new openInterface:#windowSpec
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
     VDBBreakpointListApplication open
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
    "
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
    <resource: #canvas>
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
    ^ 
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
    #(FullSpec
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
       name: windowSpec
161
103644ba5941 API: add basic API to show (and hide) message in place of list contents
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155
diff changeset
    62
       uuid: 'bd3ef320-8c37-11e9-a7d4-606720e43e2c'
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
       window: 
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
      (WindowSpec
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
         label: 'VDBAbstractListApplication'
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
         name: 'VDBAbstractListApplication'
153
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
    67
         uuid: '475530e1-4fae-11e9-b432-606720e43e2c'
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
         min: (Point 10 10)
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
         bounds: (Rectangle 0 0 300 577)
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
       )
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
       component: 
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
      (SpecCollection
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
         collection: (
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
          (VariableVerticalPanelSpec
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
             name: 'VariableVerticalPanel1'
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
             layout: (LayoutFrame 0 0 0 0 0 1 0 1)
153
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
    77
             uuid: '475530e2-4fae-11e9-b432-606720e43e2c'
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
             showHandle: true
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
             snapMode: both
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
             handlePosition: left
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
             component: 
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
            (SpecCollection
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
               collection: (
161
103644ba5941 API: add basic API to show (and hide) message in place of list contents
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155
diff changeset
    84
                (TransparentBoxSpec
103644ba5941 API: add basic API to show (and hide) message in place of list contents
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155
diff changeset
    85
                   name: 'ListBox'
103644ba5941 API: add basic API to show (and hide) message in place of list contents
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155
diff changeset
    86
                   uuid: 'bd3ef321-8c37-11e9-a7d4-606720e43e2c'
103644ba5941 API: add basic API to show (and hide) message in place of list contents
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155
diff changeset
    87
                   component: 
103644ba5941 API: add basic API to show (and hide) message in place of list contents
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155
diff changeset
    88
                  (SpecCollection
103644ba5941 API: add basic API to show (and hide) message in place of list contents
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155
diff changeset
    89
                     collection: (
103644ba5941 API: add basic API to show (and hide) message in place of list contents
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155
diff changeset
    90
                      (HierarchicalListViewSpec
103644ba5941 API: add basic API to show (and hide) message in place of list contents
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155
diff changeset
    91
                         name: 'Breakpoints'
103644ba5941 API: add basic API to show (and hide) message in place of list contents
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155
diff changeset
    92
                         layout: (LayoutFrame 0 0 0 0 0 1 0 1)
103644ba5941 API: add basic API to show (and hide) message in place of list contents
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155
diff changeset
    93
                         uuid: '475530e3-4fae-11e9-b432-606720e43e2c'
103644ba5941 API: add basic API to show (and hide) message in place of list contents
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155
diff changeset
    94
                         model: internalSelectionHolder
103644ba5941 API: add basic API to show (and hide) message in place of list contents
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155
diff changeset
    95
                         menu: contextMenu
103644ba5941 API: add basic API to show (and hide) message in place of list contents
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155
diff changeset
    96
                         hasHorizontalScrollBar: true
103644ba5941 API: add basic API to show (and hide) message in place of list contents
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155
diff changeset
    97
                         hasVerticalScrollBar: true
103644ba5941 API: add basic API to show (and hide) message in place of list contents
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155
diff changeset
    98
                         listModel: internalListHolder
103644ba5941 API: add basic API to show (and hide) message in place of list contents
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155
diff changeset
    99
                         useIndex: false
103644ba5941 API: add basic API to show (and hide) message in place of list contents
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155
diff changeset
   100
                         highlightMode: line
103644ba5941 API: add basic API to show (and hide) message in place of list contents
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155
diff changeset
   101
                         doubleClickSelector: doDoubleClick
103644ba5941 API: add basic API to show (and hide) message in place of list contents
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155
diff changeset
   102
                         showLines: false
103644ba5941 API: add basic API to show (and hide) message in place of list contents
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155
diff changeset
   103
                         useDefaultIcons: false
103644ba5941 API: add basic API to show (and hide) message in place of list contents
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155
diff changeset
   104
                         showRoot: false
103644ba5941 API: add basic API to show (and hide) message in place of list contents
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155
diff changeset
   105
                         postBuildCallback: postBuildInternalListView:
103644ba5941 API: add basic API to show (and hide) message in place of list contents
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155
diff changeset
   106
                       )
103644ba5941 API: add basic API to show (and hide) message in place of list contents
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155
diff changeset
   107
                      )
103644ba5941 API: add basic API to show (and hide) message in place of list contents
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155
diff changeset
   108
                    
103644ba5941 API: add basic API to show (and hide) message in place of list contents
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155
diff changeset
   109
                   )
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
                 )
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
                (SubCanvasSpec
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
                   name: 'BreakpointCanvas'
153
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   113
                   uuid: '475557f0-4fae-11e9-b432-606720e43e2c'
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
                   hasHorizontalScrollBar: false
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
                   hasVerticalScrollBar: false
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
                   majorKey: VDBBreakpointApplication
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
                   subAspectHolders: 
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
                  (Array
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
                     
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
                    (SubChannelInfoSpec
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
                       subAspect: breakpointHolder
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
                       aspect: selectedBreakpointHolder
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
                     ) 
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
                    (SubChannelInfoSpec
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
                       subAspect: debuggerHolder
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
                       aspect: debuggerHolder
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
                     )
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
                   )
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
                   createNewApplication: true
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
                   createNewBuilder: false
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
                 )
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
                )
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
              
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
             )
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
             handles: (Any 0.5 1.0)
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
           )
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
          )
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
        
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
       )
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
     )
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
! !
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
!VDBBreakpointListApplication class methodsFor:'plugIn spec'!
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
aspectSelectors
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
    "This resource specification was automatically generated
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
     by the UIPainter of ST/X."
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
    "Do not manually edit this. If it is corrupted,
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
     the UIPainter may not be able to read the specification."
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   152
    "Return a description of exported aspects;
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153
     these can be connected to aspects of an embedding application
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
     (if this app is embedded in a subCanvas)."
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   156
    ^ #(
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   157
        #debuggerHolder
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   158
      ).
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
! !
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
!VDBBreakpointListApplication class methodsFor:'startup-web applications'!
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   163
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
initialPageSpec
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
    "this is only required for web-applications"
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   166
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   167
    ^ self shouldImplement
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
!
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   169
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
pageSpecs
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
    "this is only required for web-applications"
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   172
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
    ^ self shouldImplement
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   174
! !
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   175
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
!VDBBreakpointListApplication methodsFor:'aspects'!
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178
selectedBreakpointHolder
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
    "return/create the 'selectedBreakpointHolder' value holder (automatically generated)"
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
    selectedBreakpointHolder isNil ifTrue:[
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
        selectedBreakpointHolder := ValueHolder new.
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   183
    ].
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   184
    ^ selectedBreakpointHolder
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   185
!
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   186
123
59344404471e Use delayed updates in `VDBBreakpointListApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   187
selectedBreakpointHolder:aValueModel
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   188
    "set the 'selectedBreakpointHolder' value holder (automatically generated)"
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   189
123
59344404471e Use delayed updates in `VDBBreakpointListApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   190
    selectedBreakpointHolder := aValueModel.
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   191
! !
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   193
!VDBBreakpointListApplication methodsFor:'change & update-delayed'!
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   194
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   195
delayedUpdateInternalList
153
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   196
    | root list |
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   197
153
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   198
    debugger isNil ifTrue:[
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   199
        self internalListHolder root children:#().
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   200
        ^ self.
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   201
    ].  
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   202
    root := self internalListHolder root.
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   203
    list := debugger breakpoints collect:[:b | VDBBreakpointPresenter new setBreakpoint: b; parent: root ].
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   204
    root children:list.
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   205
    root expand.
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   206
    self delayedInvalidateInternalList
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   207
153
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   208
    "Modified: / 26-03-2019 / 10:17:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   209
!
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   210
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   211
delayedUpdateSelection
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   212
    | breakpointP |
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   213
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   214
    breakpointP := self internalSelectionHolder value.    
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   215
    self selectedBreakpointHolder value: (breakpointP notNil ifTrue:[ breakpointP breakpoint ] ifFalse:[ nil ])
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   216
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   217
    "Modified: / 10-07-2017 / 16:44:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   218
    "Modified (comment): / 12-07-2017 / 10:37:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   219
! !
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   220
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   221
!VDBBreakpointListApplication methodsFor:'event handling'!
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   222
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   223
onBreakpointCreatedEvent: aGDBBreakpointCreatedEvent
151
bc7626f46210 Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   224
    self enqueueDelayedUpdateContents.
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   225
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   226
    "Created: / 10-07-2017 / 17:59:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
151
bc7626f46210 Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   227
    "Modified: / 14-02-2019 / 16:32:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   228
!
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   229
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   230
onBreakpointDeletedEvent: aGDBBreakpointDeletedEvent
151
bc7626f46210 Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   231
    self enqueueDelayedUpdateContents.
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   232
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   233
    "Created: / 10-07-2017 / 17:59:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
151
bc7626f46210 Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   234
    "Modified: / 14-02-2019 / 16:32:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   235
!
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   236
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   237
onBreakpointModifiedEvent: aGDBBreakpointModifiedEvent
123
59344404471e Use delayed updates in `VDBBreakpointListApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   238
    self enqueueDelayedInvalidateInternalList
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   239
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   240
    "Created: / 10-07-2017 / 18:00:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
123
59344404471e Use delayed updates in `VDBBreakpointListApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   241
    "Modified: / 07-10-2018 / 22:09:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   242
! !
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   243
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   244
!VDBBreakpointListApplication methodsFor:'initialization & release'!
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   245
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   246
subscribe   
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   247
    "Register for debugger events. To be overrided by subclasses"
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   248
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   249
    debugger announcer  
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   250
        when: GDBBreakpointCreatedEvent  send: #onBreakpointCreatedEvent:  to: self;
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   251
        when: GDBBreakpointModifiedEvent send: #onBreakpointModifiedEvent: to: self;
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   252
        when: GDBBreakpointDeletedEvent  send: #onBreakpointDeletedEvent:  to: self.
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   253
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   254
    "Created: / 10-07-2017 / 17:59:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   255
! !
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   256
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   257
!VDBBreakpointListApplication class methodsFor:'documentation'!
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   258
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   259
version_HG
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   260
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   261
    ^ '$Changeset: <not expanded> $'
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   262
! !
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   263