UI: add "Scratch Pad" tool
which can be used by user to keep notes during debug session,
to edit (configuration) files and so on.
--- a/Make.proto Thu Jun 20 16:11:12 2019 +0100
+++ b/Make.proto Fri Jun 21 22:54:50 2019 +0100
@@ -34,7 +34,7 @@
# add the path(es) here:,
# ********** OPTIONAL: MODIFY the next lines ***
# LOCALINCLUDES=-Ifoo -Ibar
-LOCALINCLUDES= -I$(INCLUDE_TOP)/jv/libgdbs -I$(INCLUDE_TOP)/stx/goodies/announcements -I$(INCLUDE_TOP)/stx/goodies/xml/vw -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libbasic2 -I$(INCLUDE_TOP)/stx/libtool -I$(INCLUDE_TOP)/stx/libtool2 -I$(INCLUDE_TOP)/stx/libview -I$(INCLUDE_TOP)/stx/libview2 -I$(INCLUDE_TOP)/stx/libwidg -I$(INCLUDE_TOP)/stx/libwidg2
+LOCALINCLUDES= -I$(INCLUDE_TOP)/jv/libgdbs -I$(INCLUDE_TOP)/stx/goodies/announcements -I$(INCLUDE_TOP)/stx/goodies/xml/vw -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libbasic2 -I$(INCLUDE_TOP)/stx/libcomp -I$(INCLUDE_TOP)/stx/libtool -I$(INCLUDE_TOP)/stx/libtool2 -I$(INCLUDE_TOP)/stx/libview -I$(INCLUDE_TOP)/stx/libview2 -I$(INCLUDE_TOP)/stx/libwidg -I$(INCLUDE_TOP)/stx/libwidg2
# if you need any additional defines for embedded C code,
@@ -141,6 +141,7 @@
$(OUTDIR)VDBEvaluator.$(O) VDBEvaluator.$(C) VDBEvaluator.$(H): VDBEvaluator.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)VDBIconLibrary.$(O) VDBIconLibrary.$(C) VDBIconLibrary.$(H): VDBIconLibrary.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)VDBInstructionBasicBlock.$(O) VDBInstructionBasicBlock.$(C) VDBInstructionBasicBlock.$(H): VDBInstructionBasicBlock.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)VDBScatchPadApplication.$(O) VDBScatchPadApplication.$(C) VDBScatchPadApplication.$(H): VDBScatchPadApplication.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libtool/MultiViewToolApplication.$(H) $(INCLUDE_TOP)/stx/libtool/WorkspaceApplication.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(INCLUDE_TOP)/stx/libview2/ToolApplicationModel.$(H) $(STCHDR)
$(OUTDIR)VDBSettingsApplication.$(O) VDBSettingsApplication.$(C) VDBSettingsApplication.$(H): VDBSettingsApplication.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libtool/AbstractSettingsApplication.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
$(OUTDIR)VDBSimpleConsoleView.$(O) VDBSimpleConsoleView.$(C) VDBSimpleConsoleView.$(H): VDBSimpleConsoleView.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview/DisplaySurface.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsMedium.$(H) $(INCLUDE_TOP)/stx/libview/SimpleView.$(H) $(INCLUDE_TOP)/stx/libview/View.$(H) $(INCLUDE_TOP)/stx/libwidg/EditTextView.$(H) $(INCLUDE_TOP)/stx/libwidg/ListView.$(H) $(INCLUDE_TOP)/stx/libwidg/TextCollector.$(H) $(INCLUDE_TOP)/stx/libwidg/TextView.$(H) $(STCHDR)
$(OUTDIR)VDBStartup.$(O) VDBStartup.$(C) VDBStartup.$(H): VDBStartup.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/StandaloneStartup.$(H) $(STCHDR)
--- a/Make.spec Thu Jun 20 16:11:12 2019 +0100
+++ b/Make.spec Fri Jun 21 22:54:50 2019 +0100
@@ -58,6 +58,7 @@
VDBEvaluator \
VDBIconLibrary \
VDBInstructionBasicBlock \
+ VDBScatchPadApplication \
VDBSettingsApplication \
VDBSimpleConsoleView \
VDBStartup \
@@ -111,6 +112,7 @@
$(OUTDIR)VDBEvaluator.$(O) \
$(OUTDIR)VDBIconLibrary.$(O) \
$(OUTDIR)VDBInstructionBasicBlock.$(O) \
+ $(OUTDIR)VDBScatchPadApplication.$(O) \
$(OUTDIR)VDBSettingsApplication.$(O) \
$(OUTDIR)VDBSimpleConsoleView.$(O) \
$(OUTDIR)VDBStartup.$(O) \
--- a/VDBDebuggerApplication.st Thu Jun 20 16:11:12 2019 +0100
+++ b/VDBDebuggerApplication.st Fri Jun 21 22:54:50 2019 +0100
@@ -790,12 +790,13 @@
(Menu
(
(MenuItem
- label: 'Notepad'
- itemValue: doOpenNotepad
+ label: 'Scratch Pad'
+ itemValue: doOpenScatchPad
isVisible: true
)
(MenuItem
label: '-'
+ isVisible: true
)
(MenuItem
label: 'Callstack'
@@ -1519,16 +1520,6 @@
"Modified (format): / 08-03-2015 / 15:49:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-doOpenNotepad
- | notepad |
-
- notepad := WorkspaceApplication new.
- notepad open.
- notepad window label: (resources string: 'Notepad')
-
- "Modified: / 17-06-2019 / 12:58:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
doOpenPreferences
| pathAndClass |
@@ -1539,6 +1530,14 @@
"Modified: / 04-10-2018 / 10:34:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+doOpenScatchPad
+ | notepad |
+
+ notepad := VDBScatchPadApplication new.
+ notepad open.
+ notepad window label:(resources string:'Scatch Pad')
+!
+
doOpenToolDIsassembly
| application |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/VDBScatchPadApplication.st Fri Jun 21 22:54:50 2019 +0100
@@ -0,0 +1,82 @@
+"
+jv:vdb - Visual / VM Debugger
+Copyright (C) 2015-now Jan Vrany
+
+This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
+
+You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
+"
+"{ Package: 'jv:vdb' }"
+
+"{ NameSpace: Smalltalk }"
+
+WorkspaceApplication subclass:#VDBScatchPadApplication
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'VDB-UI-Others'
+!
+
+!VDBScatchPadApplication class methodsFor:'documentation'!
+
+copyright
+"
+jv:vdb - Visual / VM Debugger
+Copyright (C) 2015-now Jan Vrany
+
+This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
+
+You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
+"
+! !
+
+!VDBScatchPadApplication methodsFor:'defaults'!
+
+defaultEvaluatorSyntax
+ ^nil
+
+ "Created: / 21-06-2019 / 10:59:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+thisIsASmalltalkWorkspace
+ "can be redefined in a subclass to disable smalltalk-specific menu items
+ (expecco uses workspaces as scratchpads)"
+
+ ^ BlockValue
+ with:[:syntax | syntax value == SmalltalkLanguage instance ]
+ argument: self syntaxHolder
+
+ "Created: / 20-06-2019 / 22:08:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 23-06-2019 / 12:09:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBScatchPadApplication methodsFor:'menu-actions'!
+
+loadFile:file encoding: encodingSymbolOrNil into:textView
+ "Load contents of `file` into `textView`"
+
+ | mimetype |
+
+ super loadFile:file encoding: encodingSymbolOrNil into:textView.
+ mimetype := MIMETypes mimeTypeForFilename: file.
+ mimetype = 'application/x-smalltalk-source' ifTrue:[
+ textView editedLanguage: SmalltalkLanguage instance.
+ textView codeAspect: SyntaxHighlighter codeAspectStatements.
+ self syntax: SmalltalkLanguage instance.
+ ] ifFalse:[
+ textView editedLanguage: nil.
+ textView codeAspect: nil.
+ self syntax: nil.
+ ].
+
+ "Created: / 21-06-2019 / 10:46:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 21-06-2019 / 12:15:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBScatchPadApplication class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+! !
+
--- a/VDBSettingsApplication.st Thu Jun 20 16:11:12 2019 +0100
+++ b/VDBSettingsApplication.st Fri Jun 21 22:54:50 2019 +0100
@@ -287,41 +287,41 @@
!VDBSettingsApplication methodsFor:'actions'!
doEditGDBinit
- <resource: #uiCallback>
+ VDBScatchPadApplication openOnFile:VDBDebuggerApplication gdbUserInitFile
- WorkspaceApplication openOnFile: VDBDebuggerApplication gdbUserInitFile
-
- "Modified: / 20-06-2019 / 16:28:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 21-06-2019 / 10:10:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
doEditVDBinit
- <resource: #uiCallback>
+ | user default userEditor defaultEditor workspaceView workspace |
- | user default userEditor defaultEditor workspaceView workspace |
-
+ workspace := VDBScatchPadApplication new.
user := VDBDebuggerApplication vdbUserInitFile.
default := VDBDebuggerApplication vdbDefaultInitFile.
- user exists ifFalse:[
- default copyTo: user.
+ user exists ifFalse:[
+ default copyTo:user.
].
-
userEditor := Tools::CodeView2 new.
- userEditor contents: user contents.
-
+ userEditor name:#Workspace.
+ workspace
+ loadFile:user
+ encoding:nil
+ into:userEditor.
defaultEditor := Tools::CodeView2 new.
- defaultEditor contents: default contents.
- defaultEditor readOnly: true.
-
+ workspace
+ loadFile:default
+ encoding:nil
+ into:defaultEditor.
+ defaultEditor readOnly:true.
workspaceView := VariableHorizontalPanel new.
- workspaceView addComponent: userEditor.
- workspaceView addComponent: defaultEditor.
-
- workspace := WorkspaceApplication new.
- workspace workspaces add: workspaceView.
+ workspaceView addComponent:userEditor.
+ workspaceView addComponent:defaultEditor.
+ workspace := VDBScatchPadApplication new.
+ workspace workspaces add:workspaceView.
+ workspace syntax:SmalltalkLanguage instance.
workspace open.
- workspace window label: (resources string: '.vdbinit.st - User : vdbinit.st - Default')
-
- "Modified: / 20-06-2019 / 18:12:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ workspace window
+ label:(resources string:'.vdbinit.st - User : vdbinit.st - Default')
!
doSelectExecutable
--- a/abbrev.stc Thu Jun 20 16:11:12 2019 +0100
+++ b/abbrev.stc Fri Jun 21 22:54:50 2019 +0100
@@ -8,6 +8,7 @@
VDBEvaluator VDBEvaluator jv:vdb 'VDB-Tools' 0
VDBIconLibrary VDBIconLibrary jv:vdb 'VDB-UI-Support' 0
VDBInstructionBasicBlock VDBInstructionBasicBlock jv:vdb 'VDB-UI-Support' 0
+VDBScatchPadApplication VDBScatchPadApplication jv:vdb 'VDB-UI-Others' 8
VDBSettingsApplication VDBSettingsApplication jv:vdb 'VDB-UI-Others' 2
VDBSimpleConsoleView VDBSimpleConsoleView jv:vdb 'VDB-UI-Console' 2
VDBStartup VDBStartup jv:vdb 'VDB-UI' 1
--- a/bc.mak Thu Jun 20 16:11:12 2019 +0100
+++ b/bc.mak Fri Jun 21 22:54:50 2019 +0100
@@ -35,7 +35,7 @@
-LOCALINCLUDES= -I$(INCLUDE_TOP)\jv\libgdbs -I$(INCLUDE_TOP)\stx\goodies\announcements -I$(INCLUDE_TOP)\stx\goodies\xml\vw -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libbasic2 -I$(INCLUDE_TOP)\stx\libtool -I$(INCLUDE_TOP)\stx\libtool2 -I$(INCLUDE_TOP)\stx\libview -I$(INCLUDE_TOP)\stx\libview2 -I$(INCLUDE_TOP)\stx\libwidg -I$(INCLUDE_TOP)\stx\libwidg2
+LOCALINCLUDES= -I$(INCLUDE_TOP)\jv\libgdbs -I$(INCLUDE_TOP)\stx\goodies\announcements -I$(INCLUDE_TOP)\stx\goodies\xml\vw -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libbasic2 -I$(INCLUDE_TOP)\stx\libcomp -I$(INCLUDE_TOP)\stx\libtool -I$(INCLUDE_TOP)\stx\libtool2 -I$(INCLUDE_TOP)\stx\libview -I$(INCLUDE_TOP)\stx\libview2 -I$(INCLUDE_TOP)\stx\libwidg -I$(INCLUDE_TOP)\stx\libwidg2
LOCALDEFINES=
STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) -varPrefix=$(LIBNAME)
@@ -88,6 +88,7 @@
$(OUTDIR)VDBEvaluator.$(O) VDBEvaluator.$(C) VDBEvaluator.$(H): VDBEvaluator.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)VDBIconLibrary.$(O) VDBIconLibrary.$(C) VDBIconLibrary.$(H): VDBIconLibrary.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)VDBInstructionBasicBlock.$(O) VDBInstructionBasicBlock.$(C) VDBInstructionBasicBlock.$(H): VDBInstructionBasicBlock.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)VDBScatchPadApplication.$(O) VDBScatchPadApplication.$(C) VDBScatchPadApplication.$(H): VDBScatchPadApplication.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libtool\MultiViewToolApplication.$(H) $(INCLUDE_TOP)\stx\libtool\WorkspaceApplication.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(INCLUDE_TOP)\stx\libview2\ToolApplicationModel.$(H) $(STCHDR)
$(OUTDIR)VDBSettingsApplication.$(O) VDBSettingsApplication.$(C) VDBSettingsApplication.$(H): VDBSettingsApplication.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libtool\AbstractSettingsApplication.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
$(OUTDIR)VDBSimpleConsoleView.$(O) VDBSimpleConsoleView.$(C) VDBSimpleConsoleView.$(H): VDBSimpleConsoleView.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview\DisplaySurface.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsMedium.$(H) $(INCLUDE_TOP)\stx\libview\SimpleView.$(H) $(INCLUDE_TOP)\stx\libview\View.$(H) $(INCLUDE_TOP)\stx\libwidg\EditTextView.$(H) $(INCLUDE_TOP)\stx\libwidg\ListView.$(H) $(INCLUDE_TOP)\stx\libwidg\TextCollector.$(H) $(INCLUDE_TOP)\stx\libwidg\TextView.$(H) $(STCHDR)
$(OUTDIR)VDBStartup.$(O) VDBStartup.$(C) VDBStartup.$(H): VDBStartup.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\StandaloneStartup.$(H) $(STCHDR)
--- a/jv_vdb.st Thu Jun 20 16:11:12 2019 +0100
+++ b/jv_vdb.st Fri Jun 21 22:54:50 2019 +0100
@@ -53,7 +53,7 @@
^ #(
#'jv:libgdbs' "GDBCommandStatus - shared pool used by VDBSimpleDebuggerConsoleApplication"
#'stx:goodies/announcements' "Announcement - superclass of RREvent"
- #'stx:libbasic' "Collection - extended"
+ #'stx:libbasic' "LibraryDefinition - superclass of jv_vdb"
#'stx:libtool' "AbstractSettingsApplication - superclass of VDBSettingsApplication"
#'stx:libview' "DisplaySurface - superclass of VDBSimpleConsoleView"
#'stx:libview2' "ApplicationModel - superclass of VDBAbstractApplication"
@@ -76,6 +76,7 @@
^ #(
#'stx:goodies/xml/vw' "XML::XMLParser - referenced by VDBVirtualMemoryMap>>initializeFromSysInternalsVmmapDump:"
#'stx:libbasic2' "List - referenced by VDBAbstractContainer>>initialize"
+ #'stx:libcomp' "SyntaxHighlighter - referenced by VDBScatchPadApplication>>loadFile:encoding:into:"
#'stx:libtool2' "MenuEditor - referenced by VDBIconLibrary class>>initialize"
)
!
@@ -107,6 +108,7 @@
VDBEvaluator
VDBIconLibrary
VDBInstructionBasicBlock
+ VDBScatchPadApplication
VDBSettingsApplication
VDBSimpleConsoleView
VDBStartup
@@ -162,8 +164,6 @@
GDBDebugger targetConnectRR:
GDBDebugger onRRExitEvent:
)
-
- "Modified: / 18-06-2019 / 11:08:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!jv_vdb class methodsFor:'description - project information'!
--- a/libInit.cc Thu Jun 20 16:11:12 2019 +0100
+++ b/libInit.cc Fri Jun 21 22:54:50 2019 +0100
@@ -23,6 +23,7 @@
extern void _VDBEvaluator_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _VDBIconLibrary_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _VDBInstructionBasicBlock_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _VDBScatchPadApplication_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _VDBSettingsApplication_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _VDBSimpleConsoleView_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _VDBStartup_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
@@ -85,6 +86,7 @@
_VDBEvaluator_Init(pass,__pRT__,snd);
_VDBIconLibrary_Init(pass,__pRT__,snd);
_VDBInstructionBasicBlock_Init(pass,__pRT__,snd);
+ _VDBScatchPadApplication_Init(pass,__pRT__,snd);
_VDBSettingsApplication_Init(pass,__pRT__,snd);
_VDBSimpleConsoleView_Init(pass,__pRT__,snd);
_VDBStartup_Init(pass,__pRT__,snd);