VDBBreakpointListApplication.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 26 Mar 2019 11:25:48 +0000
changeset 153 063fd7d1d5be
parent 123 59344404471e
child 155 85d7d83f4280
permissions -rw-r--r--
UI: add support for multi-location breakpoints ...namely: * better textual description of multi-location breakpoints * make a breakpoint list actually a tree with individual locations as child of the breakpoint
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
153
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
    62
       uuid: '8774fbe0-4fb0-11e9-b432-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: (
153
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
    84
                (HierarchicalListViewSpec
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
    85
                   name: 'Breakpoints'
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
    86
                   uuid: '475530e3-4fae-11e9-b432-606720e43e2c'
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
                   model: internalSelectionHolder
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
                   menu: contextMenu
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
                   hasHorizontalScrollBar: true
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
                   hasVerticalScrollBar: true
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
                   listModel: internalListHolder
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
                   useIndex: false
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
                   highlightMode: line
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
                   doubleClickSelector: doDoubleClick
153
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
    95
                   showLines: false
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
    96
                   useDefaultIcons: false
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
    97
                   showRoot: false
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
                   postBuildCallback: postBuildInternalListView:
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
                 )
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
                (SubCanvasSpec
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
                   name: 'BreakpointCanvas'
153
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   102
                   uuid: '475557f0-4fae-11e9-b432-606720e43e2c'
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
                   hasHorizontalScrollBar: false
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
                   hasVerticalScrollBar: false
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
                   majorKey: VDBBreakpointApplication
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
                   subAspectHolders: 
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
                  (Array
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
                     
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
                    (SubChannelInfoSpec
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
                       subAspect: breakpointHolder
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
                       aspect: selectedBreakpointHolder
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
                     ) 
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
                    (SubChannelInfoSpec
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
                       subAspect: debuggerHolder
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
                       aspect: debuggerHolder
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
                     )
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
                   )
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
                   createNewApplication: true
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
                   createNewBuilder: false
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
                 )
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
                )
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
              
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
             handles: (Any 0.5 1.0)
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
           )
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
          )
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
     )
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
! !
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
!VDBBreakpointListApplication class methodsFor:'plugIn spec'!
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
aspectSelectors
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
    "This resource specification was automatically generated
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
     by the UIPainter of ST/X."
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
    "Do not manually edit this. If it is corrupted,
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
     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
   140
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
    "Return a description of exported aspects;
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
     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
   143
     (if this app is embedded in a subCanvas)."
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
    ^ #(
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
        #debuggerHolder
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
      ).
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
! !
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
!VDBBreakpointListApplication class methodsFor:'startup-web applications'!
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   152
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153
initialPageSpec
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
    "this is only required for web-applications"
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
    ^ self shouldImplement
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   157
!
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
pageSpecs
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
    "this is only required for web-applications"
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
    ^ self shouldImplement
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
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
!VDBBreakpointListApplication methodsFor:'aspects'!
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
selectedBreakpointHolder
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
    "return/create the 'selectedBreakpointHolder' value holder (automatically generated)"
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
    selectedBreakpointHolder isNil ifTrue:[
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
        selectedBreakpointHolder := ValueHolder new.
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
    ^ selectedBreakpointHolder
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
123
59344404471e Use delayed updates in `VDBBreakpointListApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   176
selectedBreakpointHolder:aValueModel
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
    "set the 'selectedBreakpointHolder' value holder (automatically generated)"
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178
123
59344404471e Use delayed updates in `VDBBreakpointListApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   179
    selectedBreakpointHolder := aValueModel.
46
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
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
!VDBBreakpointListApplication methodsFor:'change & update-delayed'!
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
delayedUpdateInternalList
153
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   185
    | root list |
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   186
153
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   187
    debugger isNil ifTrue:[
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   188
        self internalListHolder root children:#().
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   189
        ^ self.
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   190
    ].  
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   191
    root := self internalListHolder root.
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   192
    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
   193
    root children:list.
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   194
    root expand.
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   195
    self delayedInvalidateInternalList
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   196
153
063fd7d1d5be UI: add support for multi-location breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   197
    "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
   198
!
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   199
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   200
delayedUpdateSelection
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   201
    | breakpointP |
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   202
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   203
    breakpointP := self internalSelectionHolder value.    
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   204
    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
   205
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   206
    "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
   207
    "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
   208
! !
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
!VDBBreakpointListApplication methodsFor:'event handling'!
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   211
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   212
onBreakpointCreatedEvent: aGDBBreakpointCreatedEvent
123
59344404471e Use delayed updates in `VDBBreakpointListApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   213
    self enqueueDelayedUpdateInternalList.
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   214
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   215
    "Created: / 10-07-2017 / 17:59:48 / 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
   216
    "Modified: / 07-10-2018 / 22:09:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   217
!
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   218
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   219
onBreakpointDeletedEvent: aGDBBreakpointDeletedEvent
123
59344404471e Use delayed updates in `VDBBreakpointListApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   220
    self enqueueDelayedUpdateInternalList.
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   221
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   222
    "Created: / 10-07-2017 / 17:59:59 / 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
   223
    "Modified: / 07-10-2018 / 22:09:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   224
!
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
onBreakpointModifiedEvent: aGDBBreakpointModifiedEvent
123
59344404471e Use delayed updates in `VDBBreakpointListApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   227
    self enqueueDelayedInvalidateInternalList
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
    "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
   230
    "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
   231
! !
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
!VDBBreakpointListApplication methodsFor:'initialization & release'!
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   234
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   235
subscribe   
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   236
    "Register for debugger events. To be overrided by subclasses"
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   237
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   238
    debugger announcer  
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   239
        when: GDBBreakpointCreatedEvent  send: #onBreakpointCreatedEvent:  to: self;
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   240
        when: GDBBreakpointModifiedEvent send: #onBreakpointModifiedEvent: to: self;
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   241
        when: GDBBreakpointDeletedEvent  send: #onBreakpointDeletedEvent:  to: self.
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
    "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
   244
! !
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
!VDBBreakpointListApplication class methodsFor:'documentation'!
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   247
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   248
version_HG
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   249
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   250
    ^ '$Changeset: <not expanded> $'
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   251
! !
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   252