VDBScatchPadApplication.st
author Jan Vrany <jan.vrany@labware.com>
Tue, 26 Jul 2022 15:01:33 +0100
changeset 265 f2470f0dd9cd
parent 264 23960fcb9dac
permissions -rw-r--r--
Do not show address for (pseudo) instructions with no code While such instructions do not appear in GDB-produced disassembly, they may appear in some manually-generated instruction lists. One example of such (pseudo) instruction is label.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
175
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"
264
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 175
diff changeset
     2
jv:libgdbs - GNU Debugger Interface Library
175
a304c250e889 UI: add "Scratch Pad" tool
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: 175
diff changeset
     4
Copyright (C) 2022 LabWare
175
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
264
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 175
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: 175
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: 175
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: 175
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: 175
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: 175
diff changeset
    11
furnished to do so, subject to the following conditions:
175
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
264
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 175
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: 175
diff changeset
    14
copies or substantial portions of the Software.
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 175
diff changeset
    15
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 175
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: 175
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: 175
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: 175
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: 175
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: 175
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: 175
diff changeset
    22
SOFTWARE.
175
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
"
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
"{ Package: 'jv:vdb' }"
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
"{ NameSpace: Smalltalk }"
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
WorkspaceApplication subclass:#VDBScatchPadApplication
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
	instanceVariableNames:''
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
	classVariableNames:''
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
	poolDictionaries:''
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
	category:'VDB-UI-Others'
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
!
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
!VDBScatchPadApplication class methodsFor:'documentation'!
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
copyright
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
"
264
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 175
diff changeset
    39
jv:libgdbs - GNU Debugger Interface Library
175
a304c250e889 UI: add "Scratch Pad" tool
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: 175
diff changeset
    41
Copyright (C) 2022 LabWare
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 175
diff changeset
    42
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 175
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: 175
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: 175
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: 175
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: 175
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: 175
diff changeset
    48
furnished to do so, subject to the following conditions:
175
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
264
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 175
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: 175
diff changeset
    51
copies or substantial portions of the Software.
175
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
264
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 175
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: 175
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: 175
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: 175
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: 175
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: 175
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: 175
diff changeset
    59
SOFTWARE.
175
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
"
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
! !
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
!VDBScatchPadApplication methodsFor:'defaults'!
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
defaultEvaluatorSyntax
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
    ^nil
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
    "Created: / 21-06-2019 / 10:59:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
!
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
thisIsASmalltalkWorkspace
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
    "can be redefined in a subclass to disable smalltalk-specific menu items
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
     (expecco uses workspaces as scratchpads)"
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
    ^ BlockValue
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
        with:[:syntax | syntax value == SmalltalkLanguage instance ]                
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
        argument: self syntaxHolder
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
    "Created: / 20-06-2019 / 22:08:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
    "Modified: / 23-06-2019 / 12:09:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
! !
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
!VDBScatchPadApplication methodsFor:'menu-actions'!
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
loadFile:file encoding: encodingSymbolOrNil into:textView
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
    "Load contents of `file` into `textView`"
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
    | mimetype |
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
    super loadFile:file encoding: encodingSymbolOrNil into:textView.
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
    mimetype := MIMETypes mimeTypeForFilename: file.
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
    mimetype = 'application/x-smalltalk-source' ifTrue:[ 
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
        textView editedLanguage: SmalltalkLanguage instance.
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
        textView codeAspect: SyntaxHighlighter codeAspectStatements.
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
        self syntax: SmalltalkLanguage instance.
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
    ] ifFalse:[ 
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
        textView editedLanguage: nil.
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
        textView codeAspect: nil.
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
        self syntax: nil.
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
    ].
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
    "Created: / 21-06-2019 / 10:46:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
    "Modified: / 21-06-2019 / 12:15:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
! !
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
!VDBScatchPadApplication class methodsFor:'documentation'!
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
version_HG
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
    ^ '$Changeset: <not expanded> $'
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
! !
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112