VDBInstructionPresenter.st
changeset 220 ae5ddc0ea07b
parent 146 c037aa4ce54f
child 225 0771f7b406d6
equal deleted inserted replaced
219:6ab12a17ca3b 220:ae5ddc0ea07b
     1 "
     1 "
     2 jv:vdb - Visual / VM Debugger
     2 jv:vdb - Visual / VM Debugger
     3 Copyright (C) 2015-now Jan Vrany
     3 Copyright (C) 2015-now Jan Vrany
       
     4 Copyright (C) 2021 LabWare
     4 
     5 
     5 This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
     6 This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
     6 
     7 
     7 You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
     8 You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
     8 "
     9 "
    21 
    22 
    22 copyright
    23 copyright
    23 "
    24 "
    24 jv:vdb - Visual / VM Debugger
    25 jv:vdb - Visual / VM Debugger
    25 Copyright (C) 2015-now Jan Vrany
    26 Copyright (C) 2015-now Jan Vrany
       
    27 Copyright (C) 2021 LabWare
    26 
    28 
    27 This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
    29 This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
    28 
    30 
    29 You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
    31 You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
    30 "
    32 "
       
    33 ! !
       
    34 
       
    35 !VDBInstructionPresenter class methodsFor:'menu specs'!
       
    36 
       
    37 contextMenu
       
    38     "This resource specification was automatically generated
       
    39      by the MenuEditor of ST/X."
       
    40 
       
    41     "Do not manually edit this!! If it is corrupted,
       
    42      the MenuEditor may not be able to read the specification."
       
    43 
       
    44 
       
    45     "
       
    46      MenuEditor new openOnClass:VDBInstructionPresenter andSelector:#contextMenu
       
    47      (Menu new fromLiteralArrayEncoding:(VDBInstructionPresenter contextMenu)) startUp
       
    48     "
       
    49 
       
    50     <resource: #menu>
       
    51 
       
    52     ^ 
       
    53      #(Menu (
       
    54          (MenuItem
       
    55             label: 'Copy Address'
       
    56             itemValue: doCopyAddress
       
    57             isVisible: true
       
    58          )
       
    59        ) nil
       
    60         nil
       
    61      )
    31 ! !
    62 ! !
    32 
    63 
    33 !VDBInstructionPresenter methodsFor:'accessing'!
    64 !VDBInstructionPresenter methodsFor:'accessing'!
    34 
    65 
    35 address
    66 address
    66     instruction := aGDBInstruction
    97     instruction := aGDBInstruction
    67 
    98 
    68     "Created: / 22-06-2018 / 12:19:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    99     "Created: / 22-06-2018 / 12:19:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    69 ! !
   100 ! !
    70 
   101 
       
   102 !VDBInstructionPresenter methodsFor:'menu actions'!
       
   103 
       
   104 doCopyAddress
       
   105     self doCopy: '0x', (instruction address printStringRadix: 16 size: 16 fill: $0)
       
   106 ! !
       
   107 
    71 !VDBInstructionPresenter methodsFor:'protocol-accessing'!
   108 !VDBInstructionPresenter methodsFor:'protocol-accessing'!
    72 
   109 
    73 label
   110 label
    74     ^String streamContents:[ :s |
   111     ^String streamContents:[ :s |
    75         (parent notNil and:[ parent askFor: #isInstructionsAndSourcePresenter ]) ifTrue:[
   112         (parent notNil and:[ parent askFor: #isInstructionsAndSourcePresenter ]) ifTrue:[