VDBFrameApplication.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 13 Mar 2018 00:08:25 +0000
changeset 65 3fdd35be056d
parent 59 e7d0453109a1
child 72 4e8268dabaf7
permissions -rw-r--r--
Fixed handling of log events in `VDBDebuggerApplication` Only raise & flash log window once all log events are received to avoid (timely) flashing when log is large.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
49
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
     1
"
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
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: 48
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: 48
diff changeset
     4
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
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: 48
diff changeset
     6
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
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: 48
diff changeset
     8
"
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
"{ Package: 'jv:vdb' }"
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
"{ NameSpace: Smalltalk }"
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
59
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    13
VDBAbstractApplication subclass:#VDBFrameApplication
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    14
	instanceVariableNames:'frameHolder variableObjectListHolder'
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
	classVariableNames:''
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
	poolDictionaries:''
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
	category:'VDB-UI-Others'
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
!
f417fe8685c5 Initial support for variables
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: 48
diff changeset
    20
!VDBFrameApplication class methodsFor:'documentation'!
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
    21
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
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: 48
diff changeset
    23
"
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
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: 48
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: 48
diff changeset
    26
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
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: 48
diff changeset
    28
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
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: 48
diff changeset
    30
"
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
    31
! !
48
0076f0700e5e Added VDBVirtualMemoryMap, a model for memory maps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 46
diff changeset
    32
42
a6f5f470a947 Display variable values in frame view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    33
!VDBFrameApplication class methodsFor:'interface specs'!
a6f5f470a947 Display variable values in frame view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    34
59
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    35
windowSpec
42
a6f5f470a947 Display variable values in frame view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    36
    "This resource specification was automatically generated
59
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    37
     by the UIPainter of ST/X."
42
a6f5f470a947 Display variable values in frame view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    38
a6f5f470a947 Display variable values in frame view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    39
    "Do not manually edit this!! If it is corrupted,
59
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    40
     the UIPainter may not be able to read the specification."
42
a6f5f470a947 Display variable values in frame view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    41
a6f5f470a947 Display variable values in frame view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    42
    "
59
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    43
     UIPainter new openOnClass:VDBFrameApplication andSelector:#windowSpec
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    44
     VDBFrameApplication new openInterface:#windowSpec
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    45
     VDBFrameApplication open
42
a6f5f470a947 Display variable values in frame view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    46
    "
a6f5f470a947 Display variable values in frame view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    47
59
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    48
    <resource: #canvas>
42
a6f5f470a947 Display variable values in frame view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    49
59
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    50
    ^ 
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    51
    #(FullSpec
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    52
       name: windowSpec
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    53
       uuid: 'aa3ebd80-08c8-11e8-bb5a-0021ccd5e3d3'
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    54
       window: 
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    55
      (WindowSpec
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    56
         label: 'Frame'
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    57
         name: 'Frame'
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    58
         uuid: '8a56b5e1-08c8-11e8-bb5a-0021ccd5e3d3'
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    59
         min: (Point 10 10)
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    60
         bounds: (Rectangle 0 0 300 300)
42
a6f5f470a947 Display variable values in frame view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    61
       )
59
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    62
       component: 
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    63
      (SpecCollection
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    64
         collection: (
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    65
          (SubCanvasSpec
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    66
             name: 'VariableObjectList'
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    67
             layout: (LayoutFrame 0 0 0 0 0 1 0 1)
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    68
             uuid: '8a56dcf0-08c8-11e8-bb5a-0021ccd5e3d3'
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    69
             hasHorizontalScrollBar: false
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    70
             hasVerticalScrollBar: false
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    71
             miniScrollerVertical: false
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    72
             majorKey: VDBVariableObjectListApplication
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    73
             subAspectHolders: 
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    74
            (Array
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    75
               
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    76
              (SubChannelInfoSpec
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    77
                 subAspect: debuggerHolder
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    78
                 aspect: debuggerHolder
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    79
               ) 
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    80
              (SubChannelInfoSpec
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    81
                 subAspect: variableObjectListHolder
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    82
                 aspect: variableObjectListHolder
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    83
               )
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    84
             )
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    85
             createNewApplication: true
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    86
             createNewBuilder: false
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    87
           )
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    88
          )
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    89
        
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    90
       )
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    91
     )
44
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
    92
! !
42
a6f5f470a947 Display variable values in frame view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    93
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
!VDBFrameApplication class methodsFor:'plugIn spec'!
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
aspectSelectors
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
    "This resource specification was automatically generated
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
     by the UIPainter of ST/X."
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
    "Do not manually edit this. If it is corrupted,
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
     the UIPainter may not be able to read the specification."
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
    "Return a description of exported aspects;
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
     these can be connected to aspects of an embedding application
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
     (if this app is embedded in a subCanvas)."
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
    ^ #(
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
        #debuggerHolder
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
        #frameHolder
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
      ).
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
44
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
   112
! !
41cc5a7840fe Debugger UI improvements
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 42
diff changeset
   113
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
!VDBFrameApplication methodsFor:'aspects'!
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
frameHolder
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
    "return/create the 'frameHolder' value holder (automatically generated)"
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
    frameHolder isNil ifTrue:[
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
        frameHolder := ValueHolder new.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
        frameHolder addDependent:self.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
    ].
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
    ^ frameHolder
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
!
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
frameHolder:something
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
    "set the 'frameHolder' value holder (automatically generated)"
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
    |oldValue newValue|
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
    frameHolder notNil ifTrue:[
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
        oldValue := frameHolder value.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
        frameHolder removeDependent:self.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
    ].
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
    frameHolder := something.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
    frameHolder notNil ifTrue:[
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
        frameHolder addDependent:self.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
    ].
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
    newValue := frameHolder value.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
    oldValue ~~ newValue ifTrue:[
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
        self update:#value with:newValue from:frameHolder.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
    ].
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
!
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
59
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   145
variableObjectListHolder
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   146
    "return/create the 'variableObjectListHolder' value holder (automatically generated)"
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
59
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   148
    variableObjectListHolder isNil ifTrue:[
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   149
        variableObjectListHolder := ValueHolder with: #().
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   150
        variableObjectListHolder addDependent:self.
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
    ].
59
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   152
    ^ variableObjectListHolder
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   153
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   154
    "Modified: / 03-02-2018 / 07:33:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
!
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   156
59
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   157
variableObjectListHolder:something
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   158
    "set the 'variableObjectListHolder' value holder (automatically generated)"
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
    |oldValue newValue|
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
59
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   162
    variableObjectListHolder notNil ifTrue:[
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   163
        oldValue := variableObjectListHolder value.
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   164
        variableObjectListHolder removeDependent:self.
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
    ].
59
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   166
    variableObjectListHolder := something.
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   167
    variableObjectListHolder notNil ifTrue:[
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   168
        variableObjectListHolder addDependent:self.
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   169
    ].
59
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   170
    newValue := variableObjectListHolder value.
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
    oldValue ~~ newValue ifTrue:[
59
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   172
        self update:#value with:newValue from:variableObjectListHolder.
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
    ].
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   174
! !
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   175
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
!VDBFrameApplication methodsFor:'change & update'!
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
59
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   178
enqueueDelayedUpdateVariableObjectList
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   179
    self enqueueDelayedUpdate:#delayedUpdateVariableObjectList
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   180
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   181
    "Created: / 03-02-2018 / 07:28:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   182
!
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   183
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   184
update:aspect with:param from:sender
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   185
    "Invoked when an object that I depend upon sends a change notification."
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   186
59
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   187
    sender == frameHolder ifTrue:[ 
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   188
         self enqueueDelayedUpdateVariableObjectList.
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   189
         ^ self.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   190
    ].
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   191
    super update:aspect with:param from:sender
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
59
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   193
    "Created: / 03-02-2018 / 09:48:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   194
! !
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   195
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   196
!VDBFrameApplication methodsFor:'change & update-delayed'!
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   197
59
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   198
delayedUpdateVariableObjectList
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   199
    | frame  list |
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   200
57
8cd259e11b9e Variable objects: added support for composite types
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   201
    debugger isNil ifTrue:[
59
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   202
        self variableObjectListHolder value:#().
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   203
        ^ self.
57
8cd259e11b9e Variable objects: added support for composite types
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   204
    ].
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   205
    frame := frameHolder value.
57
8cd259e11b9e Variable objects: added support for composite types
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   206
    frame isNil ifTrue:[
59
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   207
        self variableObjectListHolder value:#().
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   208
        ^ self.
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   209
    ].
59
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   210
    list := frame variables collect:[:v | v varobj ].
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   211
    self variableObjectListHolder value:list.
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   212
59
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
   213
    "Created: / 03-02-2018 / 07:30:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   214
! !
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   215