VDBDisassemblyApplication.st
author Jan Vrany <jan.vrany@labware.com>
Fri, 29 Jul 2022 16:12:54 +0100
changeset 266 e21d777d076e
parent 264 23960fcb9dac
permissions -rw-r--r--
Fix `VDBInstructionListApplication` to analyze blocks for standalone instruction list ...that is, for instructions without any "disassemblable" (function, address range). This is used in some inspector goodies on Compiler's code buffer.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
188
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"
264
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
     2
jv:libgdbs - GNU Debugger Interface Library
188
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
Copyright (C) 2015-now Jan Vrany
264
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
     4
Copyright (C) 2021-2022 LabWare
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
     5
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
     6
Permission is hereby granted, free of charge, to any person obtaining a copy
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
     7
of this software and associated documentation files (the 'Software'), to deal
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
     8
in the Software without restriction, including without limitation the rights
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
     9
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
    10
copies of the Software, and to permit persons to whom the Software is
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
    11
furnished to do so, subject to the following conditions:
188
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
264
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
    13
The above copyright notice and this permission notice shall be included in all
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
    14
copies or substantial portions of the Software.
188
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
264
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
    16
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
    17
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
    18
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
    19
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
    20
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
    21
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
    22
SOFTWARE.
188
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
"
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
"{ Package: 'jv:vdb' }"
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
"{ NameSpace: Smalltalk }"
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
VDBAbstractContentsApplication subclass:#VDBDisassemblyApplication
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
	instanceVariableNames:'disassemblableHolder expressionHolder frameHolder'
231
512bcb619333 UX: remember last working (range) expression in disassembly view
Jan Vrany <jan.vrany@labware.com>
parents: 188
diff changeset
    30
	classVariableNames:'LastExpression'
188
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
	poolDictionaries:''
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
	category:'VDB-UI-Others'
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
!
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
!VDBDisassemblyApplication class methodsFor:'documentation'!
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
copyright
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
"
264
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
    39
jv:libgdbs - GNU Debugger Interface Library
188
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
Copyright (C) 2015-now Jan Vrany
264
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
    41
Copyright (C) 2021-2022 LabWare
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
    42
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
    43
Permission is hereby granted, free of charge, to any person obtaining a copy
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
    44
of this software and associated documentation files (the 'Software'), to deal
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
    45
in the Software without restriction, including without limitation the rights
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
    46
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
    47
copies of the Software, and to permit persons to whom the Software is
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
    48
furnished to do so, subject to the following conditions:
188
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
264
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
    50
The above copyright notice and this permission notice shall be included in all
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
    51
copies or substantial portions of the Software.
188
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
264
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
    53
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
    54
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
    55
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
    56
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
    57
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
    58
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
    59
SOFTWARE.
188
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
"
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
! !
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
!VDBDisassemblyApplication class methodsFor:'interface specs'!
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
windowSpec
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
    "This resource specification was automatically generated
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
     by the UIPainter of ST/X."
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
    "Do not manually edit this!! If it is corrupted,
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
     the UIPainter may not be able to read the specification."
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
    "
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
     UIPainter new openOnClass:VDBDisassemblyApplication andSelector:#windowSpec
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
     VDBDisassemblyApplication new openInterface:#windowSpec
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
     VDBDisassemblyApplication open
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
    "
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
    <resource: #canvas>
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
    ^ 
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
    #(FullSpec
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
       name: windowSpec
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
       uuid: 'de1aaf20-0410-11ea-a8dd-606720e43e2c'
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
       window: 
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
      (WindowSpec
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
         label: 'Disassembly'
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
         name: 'Disassembly'
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
         uuid: '577b9b41-f381-11e9-a8dd-606720e43e2c'
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
         min: (Point 10 10) bounds: (Rectangle 0 0 639 463)
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
      ) component: 
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
      (SpecCollection
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
         collection: (
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
          (MenuPanelSpec
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
             name: 'ToolBar'
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
             layout: (LayoutFrame 0 0 0 0 30 0 30 0) uuid: '9ba6c0d6-0231-11e8-b0df-606720e43e2c'
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
             menu: toolbarMenu
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
             textDefault: true
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
          )
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
          (HorizontalPanelViewSpec
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
             name: 'HeaderBar'
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
             layout: (LayoutFrame 30 0 0 0 0 1 30 0) uuid: '6ec0ff21-f386-11e9-a8dd-606720e43e2c'
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
             horizontalLayout: rightSpaceFit
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
             verticalLayout: center
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
             horizontalSpace: 3
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
             verticalSpace: 3
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
             component: 
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
            (SpecCollection
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
               collection: (
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
                (InputFieldSpec
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
                   name: 'Expression'
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
                   uuid: '6ec0ff22-f386-11e9-a8dd-606720e43e2c'
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
                   model: expressionHolder
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
                   acceptOnReturn: true
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
                   acceptOnTab: true
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
                   acceptOnPointerLeave: true
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
                   emptyFieldReplacementText: 'Function or Address Range'
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
                   translateEmptyFieldReplacementText: true
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
                   extent: (Point 601 22)
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
                )
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
              )
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
            )
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
          )
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
          (SubCanvasSpec
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
             name: 'Instructions'
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
             layout: (LayoutFrame 0 0 30 0 0 1 0 1) uuid: '577b9b42-f381-11e9-a8dd-606720e43e2c'
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
             hasHorizontalScrollBar: false
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
             hasVerticalScrollBar: false
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
             majorKey: VDBInstructionListApplication
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
             subAspectHolders: 
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
            (Array 
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
              (SubChannelInfoSpec
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
                 subAspect: debuggerHolder
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
                 aspect: debuggerHolder
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
              ) 
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
              (SubChannelInfoSpec
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
                 subAspect: disassemblableHolder
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
                 aspect: disassemblableHolder
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
              ) 
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
              (SubChannelInfoSpec
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
                 subAspect: frameHolder
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
                 aspect: frameHolder
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
              )
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
            ) createNewApplication: true
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
             createNewBuilder: true
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
          )
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
        )
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
      )
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
    )
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
! !
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
!VDBDisassemblyApplication class methodsFor:'menu specs'!
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   152
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153
toolbarMenu
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
    "This resource specification was automatically generated
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
     by the MenuEditor of ST/X."
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   156
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   157
    "Do not manually edit this!! If it is corrupted,
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   158
     the MenuEditor may not be able to read the specification."
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
    "
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
     MenuEditor new openOnClass:VDBMemoryApplication andSelector:#toolbarMenu
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   163
     (Menu new fromLiteralArrayEncoding:(VDBMemoryApplication toolbarMenu)) startUp
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
    "
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   166
    <resource: #menu>
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   167
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
    ^ 
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   169
     #(Menu
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
        (
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
         (MenuItem
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   172
            label: 'Refresh'
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
            itemValue: doRefresh
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   174
            labelImage: (ResourceRetriever VDBIconLibrary #'refresh_tab')
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   175
          )
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
         )
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
        nil
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178
        nil
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
      )
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
! !
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
!VDBDisassemblyApplication class methodsFor:'plugIn spec'!
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   183
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   184
aspectSelectors
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   185
    "This resource specification was automatically generated
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   186
     by the UIPainter of ST/X."
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   187
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   188
    "Do not manually edit this. If it is corrupted,
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   189
     the UIPainter may not be able to read the specification."
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   190
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   191
    "Return a description of exported aspects;
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
     these can be connected to aspects of an embedding application
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   193
     (if this app is embedded in a subCanvas)."
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   194
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   195
    ^ #(
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   196
        #debuggerHolder
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   197
      ).
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   198
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   199
! !
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   200
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   201
!VDBDisassemblyApplication methodsFor:'accessing'!
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   202
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   203
disassemblable
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   204
    ^ self disassemblableHolder value
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   205
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   206
    "Created: / 10-06-2019 / 10:06:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   207
!
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   208
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   209
disassemblable: anObject
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   210
    self disassemblableHolder value: anObject
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   211
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   212
    "Created: / 10-06-2019 / 10:06:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   213
!
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   214
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   215
expression
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   216
    ^ self expressionHolder value
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   217
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   218
    "Created: / 10-11-2019 / 23:33:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   219
!
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   220
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   221
expression: expr
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   222
    self expressionHolder value: expr asString
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   223
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   224
    "Created: / 10-11-2019 / 23:33:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   225
!
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   226
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   227
frame
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   228
    ^ self frameHolder value
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   229
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   230
    "Created: / 10-06-2019 / 12:44:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   231
!
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   232
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   233
frame: aGDBFrame
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   234
    ^ self frameHolder value: aGDBFrame
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   235
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   236
    "Created: / 10-06-2019 / 12:44:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   237
! !
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   238
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   239
!VDBDisassemblyApplication methodsFor:'aspects'!
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   240
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   241
disassemblableHolder
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   242
    "return/create the 'disassemblableHolder' value holder (automatically generated)"
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   243
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   244
    disassemblableHolder isNil ifTrue:[
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   245
        disassemblableHolder := ValueHolder new.
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   246
    ].
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   247
    ^ disassemblableHolder
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   248
!
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   249
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   250
disassemblableHolder:aValueModel
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   251
    disassemblableHolder := aValueModel.
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   252
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   253
    "Modified (comment): / 20-10-2019 / 23:36:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   254
!
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   255
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   256
expressionHolder
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   257
    "return/create the 'expressionHolder' value holder (automatically generated)"
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   258
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   259
    expressionHolder isNil ifTrue:[
231
512bcb619333 UX: remember last working (range) expression in disassembly view
Jan Vrany <jan.vrany@labware.com>
parents: 188
diff changeset
   260
        expressionHolder := ValueHolder with: LastExpression.
188
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   261
        expressionHolder addDependent:self.
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   262
    ].
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   263
    ^ expressionHolder
231
512bcb619333 UX: remember last working (range) expression in disassembly view
Jan Vrany <jan.vrany@labware.com>
parents: 188
diff changeset
   264
512bcb619333 UX: remember last working (range) expression in disassembly view
Jan Vrany <jan.vrany@labware.com>
parents: 188
diff changeset
   265
    "Modified: / 14-10-2021 / 13:25:39 / Jan Vrany <jan.vrany@labware.com>"
188
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   266
!
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   267
231
512bcb619333 UX: remember last working (range) expression in disassembly view
Jan Vrany <jan.vrany@labware.com>
parents: 188
diff changeset
   268
expressionHolder:aValueModel
188
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   269
    "set the 'expressionHolder' value holder (automatically generated)"
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   270
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   271
    |oldValue newValue|
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   272
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   273
    expressionHolder notNil ifTrue:[
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   274
        oldValue := expressionHolder value.
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   275
        expressionHolder removeDependent:self.
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   276
    ].
231
512bcb619333 UX: remember last working (range) expression in disassembly view
Jan Vrany <jan.vrany@labware.com>
parents: 188
diff changeset
   277
    expressionHolder := aValueModel.
188
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   278
    expressionHolder notNil ifTrue:[
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   279
        expressionHolder addDependent:self.
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   280
    ].
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   281
    newValue := expressionHolder value.
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   282
    oldValue ~~ newValue ifTrue:[
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   283
        self update:#value with:newValue from:expressionHolder.
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   284
    ].
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   285
!
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   286
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   287
frameHolder
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   288
    "return/create the 'frameHolder' value holder (automatically generated)"
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   289
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   290
    frameHolder isNil ifTrue:[
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   291
        frameHolder := ValueHolder new.
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   292
        frameHolder addDependent:self.
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   293
    ].
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   294
    ^ frameHolder
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   295
!
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   296
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   297
frameHolder:something
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   298
    "set the 'frameHolder' value holder (automatically generated)"
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   299
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   300
    |oldValue newValue|
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   301
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   302
    frameHolder notNil ifTrue:[
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   303
        oldValue := frameHolder value.
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   304
        frameHolder removeDependent:self.
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   305
    ].
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   306
    frameHolder := something.
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   307
    frameHolder notNil ifTrue:[
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   308
        frameHolder addDependent:self.
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   309
    ].
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   310
    newValue := frameHolder value.
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   311
    oldValue ~~ newValue ifTrue:[
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   312
        self update:#value with:newValue from:frameHolder.
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   313
    ].
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   314
! !
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   315
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   316
!VDBDisassemblyApplication methodsFor:'change & update'!
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   317
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   318
update:aspect with:param from:sender
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   319
    "Invoked when an object that I depend upon sends a change notification."
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   320
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   321
    sender == expressionHolder ifTrue:[ 
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   322
         self enqueueDelayedUpdateContents.
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   323
         ^ self.
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   324
    ].
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   325
    super update:aspect with:param from:sender
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   326
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   327
    "Created: / 21-10-2019 / 00:15:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   328
! !
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   329
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   330
!VDBDisassemblyApplication methodsFor:'change & update-delayed'!
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   331
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   332
delayedUpdateContents
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   333
    | expression disassemblable |
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   334
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   335
    expression := self expression.
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   336
    expression isNil ifTrue:[
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   337
        self disassemblableHolder value: nil.
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   338
    ] ifFalse:[ 
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   339
        Error ignoreIn: [
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   340
            disassemblable := VDBParser parse: expression.
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   341
            disassemblable isPetitFailure ifTrue:[ 
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   342
                disassemblable := nil.
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   343
            ] ifFalse:[
231
512bcb619333 UX: remember last working (range) expression in disassembly view
Jan Vrany <jan.vrany@labware.com>
parents: 188
diff changeset
   344
                LastExpression := expression.
188
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   345
                disassemblable setDebugger: debugger.
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   346
            ].
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   347
        ].
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   348
        self disassemblableHolder value: disassemblable.
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   349
    ].
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   350
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   351
    "Modified: / 10-11-2019 / 23:37:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
231
512bcb619333 UX: remember last working (range) expression in disassembly view
Jan Vrany <jan.vrany@labware.com>
parents: 188
diff changeset
   352
    "Modified: / 14-10-2021 / 13:26:39 / Jan Vrany <jan.vrany@labware.com>"
188
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   353
! !
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   354
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   355
!VDBDisassemblyApplication methodsFor:'drag & drop'!
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   356
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   357
dropObjects:aCollectionOfDropObjects
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   358
    "drop manager wants to drop.
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   359
     This is ony sent, if #canDrop: returned true.
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   360
     Must be redefined in order for drop to work."
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   361
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   362
    ^ self shouldImplement
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   363
! !
7080f4698aec UI: add `VDBDisassemblyApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   364
231
512bcb619333 UX: remember last working (range) expression in disassembly view
Jan Vrany <jan.vrany@labware.com>
parents: 188
diff changeset
   365
!VDBDisassemblyApplication class methodsFor:'documentation'!
512bcb619333 UX: remember last working (range) expression in disassembly view
Jan Vrany <jan.vrany@labware.com>
parents: 188
diff changeset
   366
512bcb619333 UX: remember last working (range) expression in disassembly view
Jan Vrany <jan.vrany@labware.com>
parents: 188
diff changeset
   367
version_HG
512bcb619333 UX: remember last working (range) expression in disassembly view
Jan Vrany <jan.vrany@labware.com>
parents: 188
diff changeset
   368
512bcb619333 UX: remember last working (range) expression in disassembly view
Jan Vrany <jan.vrany@labware.com>
parents: 188
diff changeset
   369
    ^ '$Changeset: <not expanded> $'
512bcb619333 UX: remember last working (range) expression in disassembly view
Jan Vrany <jan.vrany@labware.com>
parents: 188
diff changeset
   370
! !
512bcb619333 UX: remember last working (range) expression in disassembly view
Jan Vrany <jan.vrany@labware.com>
parents: 188
diff changeset
   371