--- a/Make.proto Fri Feb 27 13:39:32 2015 +0100
+++ b/Make.proto Fri Feb 27 16:50:43 2015 +0100
@@ -102,16 +102,21 @@
# build all mandatory prerequisite packages (containing superclasses) for this package
prereq:
cd $(TOP)/libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+ cd $(TOP)/goodies/announcements && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd $(TOP)/libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+ cd $(TOP)/libbasic3 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd $(TOP)/libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd $(TOP)/libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+ cd $(TOP)/goodies/sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd $(TOP)/libwidg && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+ cd $(TOP)/goodies/magritte && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd $(TOP)/libwidg2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+ cd ../libgdbs && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
# build all packages containing referenced classes for this package
-# they are nor needed to compile the package
+# they are not needed to compile the package (but later, to load it)
references:
@@ -132,16 +137,20 @@
$(OUTDIR)VDBModelPresenter.$(O) VDBModelPresenter.$(H): VDBModelPresenter.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(STCHDR)
$(OUTDIR)jv_vdb.$(O) jv_vdb.$(H): jv_vdb.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
$(OUTDIR)VDBAbstractContainer.$(O) VDBAbstractContainer.$(H): VDBAbstractContainer.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
+$(OUTDIR)VDBAbstractListApplication.$(O) VDBAbstractListApplication.$(H): VDBAbstractListApplication.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
$(OUTDIR)VDBDebuggerApplication.$(O) VDBDebuggerApplication.$(H): VDBDebuggerApplication.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
$(OUTDIR)VDBDebuggerConsoleApplication.$(O) VDBDebuggerConsoleApplication.$(H): VDBDebuggerConsoleApplication.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommandStatus.$(H) $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
$(OUTDIR)VDBEventLogApplication.$(O) VDBEventLogApplication.$(H): VDBEventLogApplication.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
$(OUTDIR)VDBFramePresenter.$(O) VDBFramePresenter.$(H): VDBFramePresenter.st $(INCLUDE_TOP)/jv/vdb/VDBModelPresenter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(STCHDR)
$(OUTDIR)VDBInferiorConsoleApplication.$(O) VDBInferiorConsoleApplication.$(H): VDBInferiorConsoleApplication.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
$(OUTDIR)VDBSourceApplication.$(O) VDBSourceApplication.$(H): VDBSourceApplication.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
-$(OUTDIR)VDBStackApplication.$(O) VDBStackApplication.$(H): VDBStackApplication.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
$(OUTDIR)VDBThreadGroupPresenter.$(O) VDBThreadGroupPresenter.$(H): VDBThreadGroupPresenter.st $(INCLUDE_TOP)/jv/vdb/VDBModelPresenter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(STCHDR)
$(OUTDIR)VDBThreadPresenter.$(O) VDBThreadPresenter.$(H): VDBThreadPresenter.st $(INCLUDE_TOP)/jv/vdb/VDBModelPresenter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(STCHDR)
+$(OUTDIR)VDBVariablePresenter.$(O) VDBVariablePresenter.$(H): VDBVariablePresenter.st $(INCLUDE_TOP)/jv/vdb/VDBModelPresenter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(STCHDR)
+$(OUTDIR)VDBAbstractTreeApplication.$(O) VDBAbstractTreeApplication.$(H): VDBAbstractTreeApplication.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/jv/vdb/VDBAbstractListApplication.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
$(OUTDIR)VDBTabbingContainer.$(O) VDBTabbingContainer.$(H): VDBTabbingContainer.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/jv/vdb/VDBAbstractContainer.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
+$(OUTDIR)VDBFrameApplication.$(O) VDBFrameApplication.$(H): VDBFrameApplication.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/jv/vdb/VDBAbstractListApplication.$(H) $(INCLUDE_TOP)/jv/vdb/VDBAbstractTreeApplication.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
+$(OUTDIR)VDBStackApplication.$(O) VDBStackApplication.$(H): VDBStackApplication.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/jv/vdb/VDBAbstractListApplication.$(H) $(INCLUDE_TOP)/jv/vdb/VDBAbstractTreeApplication.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
# ENDMAKEDEPEND --- do not remove this line
--- a/Make.spec Fri Feb 27 13:39:32 2015 +0100
+++ b/Make.spec Fri Feb 27 16:50:43 2015 +0100
@@ -42,6 +42,7 @@
# -warnNonStandard : no warnings about ST/X extensions
# -warnEOLComments : no warnings about EOL comment extension
# -warnPrivacy : no warnings about privateClass extension
+# -warnUnused : no warnings about unused variables
#
# ********** OPTIONAL: MODIFY the next line(s) ***
# STCWARNINGS=-warn
@@ -56,16 +57,20 @@
VDBModelPresenter \
jv_vdb \
VDBAbstractContainer \
+ VDBAbstractListApplication \
VDBDebuggerApplication \
VDBDebuggerConsoleApplication \
VDBEventLogApplication \
VDBFramePresenter \
VDBInferiorConsoleApplication \
VDBSourceApplication \
- VDBStackApplication \
VDBThreadGroupPresenter \
VDBThreadPresenter \
+ VDBVariablePresenter \
+ VDBAbstractTreeApplication \
VDBTabbingContainer \
+ VDBFrameApplication \
+ VDBStackApplication \
@@ -77,16 +82,20 @@
$(OUTDIR_SLASH)VDBModelPresenter.$(O) \
$(OUTDIR_SLASH)jv_vdb.$(O) \
$(OUTDIR_SLASH)VDBAbstractContainer.$(O) \
+ $(OUTDIR_SLASH)VDBAbstractListApplication.$(O) \
$(OUTDIR_SLASH)VDBDebuggerApplication.$(O) \
$(OUTDIR_SLASH)VDBDebuggerConsoleApplication.$(O) \
$(OUTDIR_SLASH)VDBEventLogApplication.$(O) \
$(OUTDIR_SLASH)VDBFramePresenter.$(O) \
$(OUTDIR_SLASH)VDBInferiorConsoleApplication.$(O) \
$(OUTDIR_SLASH)VDBSourceApplication.$(O) \
- $(OUTDIR_SLASH)VDBStackApplication.$(O) \
$(OUTDIR_SLASH)VDBThreadGroupPresenter.$(O) \
$(OUTDIR_SLASH)VDBThreadPresenter.$(O) \
+ $(OUTDIR_SLASH)VDBVariablePresenter.$(O) \
+ $(OUTDIR_SLASH)VDBAbstractTreeApplication.$(O) \
$(OUTDIR_SLASH)VDBTabbingContainer.$(O) \
+ $(OUTDIR_SLASH)VDBFrameApplication.$(O) \
+ $(OUTDIR_SLASH)VDBStackApplication.$(O) \
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/VDBAbstractListApplication.st Fri Feb 27 16:50:43 2015 +0100
@@ -0,0 +1,101 @@
+"{ Package: 'jv:vdb' }"
+
+"{ NameSpace: Smalltalk }"
+
+VDBAbstractApplication subclass:#VDBAbstractListApplication
+ instanceVariableNames:'internalListHolder internalListView internalSelectionHolder'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'VDB-UI-Abstract'
+!
+
+!VDBAbstractListApplication class methodsFor:'queries'!
+
+isAbstract
+ "Return if this class is an abstract class.
+ True is returned here for myself only; false for subclasses.
+ Abstract subclasses must redefine again."
+
+ ^ self == VDBAbstractListApplication.
+! !
+
+!VDBAbstractListApplication methodsFor:'aspects-private'!
+
+internalListHolder
+ "return/create the 'listHolder' value holder (automatically generated)"
+
+ internalListHolder isNil ifTrue:[
+ internalListHolder := ValueHolder new.
+ ].
+ ^ internalListHolder
+
+ "Created: / 27-02-2015 / 15:55:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+internalSelectionHolder
+ "return/create the 'internalSelectionHolder' value holder (automatically generated)"
+
+ internalSelectionHolder isNil ifTrue:[
+ internalSelectionHolder := ValueHolder new.
+ internalSelectionHolder addDependent:self.
+ ].
+ ^ internalSelectionHolder
+! !
+
+!VDBAbstractListApplication methodsFor:'change & update'!
+
+enqueueDelayedUpdateInternalList
+ self window sensor pushUserEvent:#delayedUpdateInternalList for:self
+
+ "Created: / 20-09-2014 / 23:05:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+enqueueDelayedUpdateSelection
+ self window sensor pushUserEvent:#delayedUpdateSelection for:self
+
+ "Created: / 27-02-2015 / 15:35:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+update:aspect with:param from:sender
+ "Invoked when an object that I depend upon sends a change notification."
+ sender == internalSelectionHolder ifTrue:[
+ self enqueueDelayedUpdateSelection.
+ ^ self
+ ].
+
+ super update:aspect with:param from:sender
+
+ "Created: / 27-02-2015 / 15:44:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBAbstractListApplication methodsFor:'change & update-delayed'!
+
+delayedUpdateInternalList
+ "raise an error: must be redefined in concrete subclass(es)"
+
+ ^ self subclassResponsibility
+!
+
+delayedUpdateSelection
+ "raise an error: must be redefined in concrete subclass(es)"
+
+ ^ self subclassResponsibility
+! !
+
+!VDBAbstractListApplication methodsFor:'hooks'!
+
+commonPostOpen
+ "a common hook for postOpenWith:, postOpenAsSubcanvasWith: and postOpenAsDialogWith:."
+
+ self enqueueDelayedUpdateInternalList
+
+ "Created: / 18-09-2014 / 00:29:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 20-09-2014 / 23:50:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+postBuildInternalListView: aView
+ internalListView := aView
+
+ "Modified: / 30-09-2014 / 00:00:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/VDBAbstractTreeApplication.st Fri Feb 27 16:50:43 2015 +0100
@@ -0,0 +1,87 @@
+"{ Package: 'jv:vdb' }"
+
+"{ NameSpace: Smalltalk }"
+
+VDBAbstractListApplication subclass:#VDBAbstractTreeApplication
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'VDB-UI-Abstract'
+!
+
+!VDBAbstractTreeApplication class methodsFor:'interface specs'!
+
+windowSpec
+ "This resource specification was automatically generated
+ by the UIPainter of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the UIPainter may not be able to read the specification."
+
+ "
+ UIPainter new openOnClass:VDBStackApplication andSelector:#windowSpec
+ VDBStackApplication new openInterface:#windowSpec
+ VDBStackApplication open
+ "
+
+ <resource: #canvas>
+
+ ^
+ #(FullSpec
+ name: windowSpec
+ window:
+ (WindowSpec
+ label: 'Execution Stack'
+ name: 'Execution Stack'
+ min: (Point 10 10)
+ bounds: (Rectangle 0 0 300 300)
+ )
+ component:
+ (SpecCollection
+ collection: (
+ (HierarchicalListViewSpec
+ name: 'Stack'
+ layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+ model: internalSelectionHolder
+ menu: contextMenu
+ hasHorizontalScrollBar: true
+ hasVerticalScrollBar: true
+ listModel: internalListHolder
+ useIndex: false
+ highlightMode: line
+ showLines: false
+ useDefaultIcons: false
+ showRoot: false
+ postBuildCallback: postBuildInternalListView:
+ )
+ )
+
+ )
+ )
+! !
+
+!VDBAbstractTreeApplication class methodsFor:'queries'!
+
+isAbstract
+ "Return if this class is an abstract class.
+ True is returned here for myself only; false for subclasses.
+ Abstract subclasses must redefine again."
+
+ ^ self == VDBAbstractTreeApplication.
+! !
+
+!VDBAbstractTreeApplication methodsFor:'aspects-private'!
+
+internalListHolder
+ "return/create the 'listHolder' value holder (automatically generated)"
+
+ internalListHolder isNil ifTrue:[
+ internalListHolder := HierarchicalList new.
+ internalListHolder showRoot: false.
+ internalListHolder root: HierarchicalItem new.
+ ].
+ ^ internalListHolder
+
+ "Created: / 20-09-2014 / 23:03:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
--- a/VDBDebuggerApplication.st Fri Feb 27 13:39:32 2015 +0100
+++ b/VDBDebuggerApplication.st Fri Feb 27 16:50:43 2015 +0100
@@ -7,7 +7,7 @@
selectedFrameHolder containerBottom'
classVariableNames:''
poolDictionaries:''
- category:'VGB-UI'
+ category:'VDB-UI'
!
@@ -57,31 +57,62 @@
component:
(SpecCollection
collection: (
- (SubCanvasSpec
- name: 'StackCanvas'
- level: 0
- hasHorizontalScrollBar: false
- hasVerticalScrollBar: false
- majorKey: VDBStackApplication
- subAspectHolders:
- (Array
-
- (SubChannelInfoSpec
- subAspect: selectedFrameHolder
- aspect: selectedFrameHolder
- )
- (SubChannelInfoSpec
- subAspect: selectedThreadGroupHolder
- aspect: selectedThreadGroupHolder
- )
-
- (SubChannelInfoSpec
- subAspect: selectedThreadHolder
- aspect: selectedThreadHolder
- )
+ (VariableHorizontalPanelSpec
+ name: 'StackAndFrameCanvas'
+ snapMode: both
+ component:
+ (SpecCollection
+ collection: (
+ (SubCanvasSpec
+ name: 'StackCanvas'
+ level: 0
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ majorKey: VDBStackApplication
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: selectedFrameHolder
+ aspect: selectedFrameHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: selectedThreadGroupHolder
+ aspect: selectedThreadGroupHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectedThreadHolder
+ aspect: selectedThreadHolder
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ (SubCanvasSpec
+ name: 'FrameCanvas'
+ hasHorizontalScrollBar: true
+ hasVerticalScrollBar: true
+ majorKey: VDBFrameApplication
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: debuggerHolder
+ aspect: debuggerHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: frameHolder
+ aspect: selectedFrameHolder
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ )
+
)
- createNewApplication: true
- createNewBuilder: true
+ handles: (Any 0.7 1.0)
)
(SubCanvasSpec
name: 'SourceCanvas'
@@ -119,12 +150,14 @@
)
)
- handles: (Any 0.33333333333333343 0.66666666666666685 1.0)
+ handles: (Any 0.33333333333333337 0.66666666666666674 1.0)
)
)
)
)
+
+ "Modified: / 27-02-2015 / 16:08:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
layoutSingleSpec
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/VDBFrameApplication.st Fri Feb 27 16:50:43 2015 +0100
@@ -0,0 +1,199 @@
+"{ Package: 'jv:vdb' }"
+
+"{ NameSpace: Smalltalk }"
+
+VDBAbstractTreeApplication subclass:#VDBFrameApplication
+ instanceVariableNames:'frameHolder selectedVariableHolder'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'VDB-UI-Others'
+!
+
+!VDBFrameApplication class methodsFor:'plugIn spec'!
+
+aspectSelectors
+ "This resource specification was automatically generated
+ by the UIPainter of ST/X."
+
+ "Do not manually edit this. If it is corrupted,
+ the UIPainter may not be able to read the specification."
+
+ "Return a description of exported aspects;
+ these can be connected to aspects of an embedding application
+ (if this app is embedded in a subCanvas)."
+
+ ^ #(
+ #debuggerHolder
+ #frameHolder
+ #selectedVariableHolder
+ ).
+
+ "Modified: / 27-02-2015 / 16:04:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBFrameApplication class methodsFor:'startup-web applications'!
+
+initialPageSpec
+ "this is only required for web-applications"
+
+ ^ self shouldImplement
+!
+
+pageSpecs
+ "this is only required for web-applications"
+
+ ^ self shouldImplement
+! !
+
+!VDBFrameApplication class methodsFor:'tableColumns specs'!
+
+variableListColumns
+ "This resource specification was automatically generated
+ by the DataSetBuilder of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the DataSetBuilder may not be able to read the specification."
+
+ "
+ DataSetBuilder new openOnClass:VDBFrameApplication andSelector:#variableListColumns
+ "
+
+ <resource: #tableColumns>
+
+ ^#(
+ (DataSetColumnSpec
+ label: 'Name'
+ labelAlignment: left
+ labelButtonType: Button
+ height: heightOfFirstRow
+ menuFromApplication: false
+ printSelector: name
+ showRowSeparator: false
+ showColSeparator: false
+ )
+ )
+
+! !
+
+!VDBFrameApplication methodsFor:'aspects'!
+
+frameHolder
+ "return/create the 'frameHolder' value holder (automatically generated)"
+
+ frameHolder isNil ifTrue:[
+ frameHolder := ValueHolder new.
+ frameHolder addDependent:self.
+ ].
+ ^ frameHolder
+!
+
+frameHolder:something
+ "set the 'frameHolder' value holder (automatically generated)"
+
+ |oldValue newValue|
+
+ frameHolder notNil ifTrue:[
+ oldValue := frameHolder value.
+ frameHolder removeDependent:self.
+ ].
+ frameHolder := something.
+ frameHolder notNil ifTrue:[
+ frameHolder addDependent:self.
+ ].
+ newValue := frameHolder value.
+ oldValue ~~ newValue ifTrue:[
+ self update:#value with:newValue from:frameHolder.
+ ].
+!
+
+selectedVariableHolder
+ "return/create the 'selectedVariableHolder' value holder (automatically generated)"
+
+ selectedVariableHolder isNil ifTrue:[
+ selectedVariableHolder := ValueHolder new.
+ selectedVariableHolder addDependent:self.
+ ].
+ ^ selectedVariableHolder
+!
+
+selectedVariableHolder:something
+ "set the 'selectedVariableHolder' value holder (automatically generated)"
+
+ |oldValue newValue|
+
+ selectedVariableHolder notNil ifTrue:[
+ oldValue := selectedVariableHolder value.
+ selectedVariableHolder removeDependent:self.
+ ].
+ selectedVariableHolder := something.
+ selectedVariableHolder notNil ifTrue:[
+ selectedVariableHolder addDependent:self.
+ ].
+ newValue := selectedVariableHolder value.
+ oldValue ~~ newValue ifTrue:[
+ self update:#value with:newValue from:selectedVariableHolder.
+ ].
+! !
+
+!VDBFrameApplication methodsFor:'change & update'!
+
+update:aspect with:param from:sender
+ "Invoked when an object that I depend upon sends a change notification."
+
+ sender == frameHolder ifTrue:[
+ self enqueueDelayedUpdateInternalList.
+ ^ self.
+ ].
+ super update:aspect with:param from:sender
+
+ "Modified: / 27-02-2015 / 15:45:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBFrameApplication methodsFor:'change & update-delayed'!
+
+delayedUpdateInternalList
+ | frame root |
+
+ debugger isNil ifTrue:[
+ self internalListHolder root children:#().
+ ^ self.
+ ].
+ frame := frameHolder value.
+ frame isNil ifTrue:[
+ self internalListHolder root children:#().
+ ^ self.
+ ].
+ root := self internalListHolder root.
+ root children:
+ (frame variables collect:[:v | VDBVariablePresenter new setVariable: v; parent: root; yourself]).
+ root expand.
+ internalListView notNil ifTrue:[
+ internalListView invalidate.
+ ]
+
+ "Created: / 27-02-2015 / 15:47:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+delayedUpdateSelection
+ | internalSelection |
+
+ internalSelection := self internalSelectionHolder value.
+ internalSelection notNil ifTrue:[
+ self selectedVariableHolder value: internalSelection variable
+ ] ifFalse:[
+ self selectedVariableHolder value: nil
+ ].
+
+ "Modified: / 27-02-2015 / 16:05:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBFrameApplication methodsFor:'drag & drop'!
+
+dropObjects:aCollectionOfDropObjects
+ "drop manager wants to drop.
+ This is ony sent, if #canDrop: returned true.
+ Must be redefined in order for drop to work."
+
+ ^ self shouldImplement
+! !
+
--- a/VDBStackApplication.st Fri Feb 27 13:39:32 2015 +0100
+++ b/VDBStackApplication.st Fri Feb 27 16:50:43 2015 +0100
@@ -1,66 +1,16 @@
"{ Package: 'jv:vdb' }"
-VDBAbstractApplication subclass:#VDBStackApplication
+"{ NameSpace: Smalltalk }"
+
+VDBAbstractTreeApplication subclass:#VDBStackApplication
instanceVariableNames:'selectedThreadGroupHolder selectedThreadHolder
- selectedFrameHolder internalListHolder internalListView
- internalSelectionHolder'
+ selectedFrameHolder'
classVariableNames:''
poolDictionaries:''
category:'VDB-UI-Others'
!
-!VDBStackApplication class methodsFor:'interface specs'!
-
-windowSpec
- "This resource specification was automatically generated
- by the UIPainter of ST/X."
-
- "Do not manually edit this!! If it is corrupted,
- the UIPainter may not be able to read the specification."
-
- "
- UIPainter new openOnClass:VDBStackApplication andSelector:#windowSpec
- VDBStackApplication new openInterface:#windowSpec
- VDBStackApplication open
- "
-
- <resource: #canvas>
-
- ^
- #(FullSpec
- name: windowSpec
- window:
- (WindowSpec
- label: 'Execution Stack'
- name: 'Execution Stack'
- min: (Point 10 10)
- bounds: (Rectangle 0 0 300 300)
- )
- component:
- (SpecCollection
- collection: (
- (HierarchicalListViewSpec
- name: 'Stack'
- layout: (LayoutFrame 0 0 0 0 0 1 0 1)
- model: internalSelectionHolder
- menu: contextMenu
- hasHorizontalScrollBar: true
- hasVerticalScrollBar: true
- listModel: internalListHolder
- useIndex: false
- highlightMode: line
- showLines: false
- useDefaultIcons: false
- showRoot: false
- postBuildCallback: postBuildInternalListView:
- )
- )
-
- )
- )
-! !
-
!VDBStackApplication class methodsFor:'menu specs'!
contextMenu
@@ -211,32 +161,13 @@
].
! !
-!VDBStackApplication methodsFor:'aspects-private'!
-
-internalListHolder
- "return/create the 'listHolder' value holder (automatically generated)"
-
- internalListHolder isNil ifTrue:[
- internalListHolder := HierarchicalList new.
- internalListHolder showRoot: false.
- internalListHolder root: HierarchicalItem new.
- ].
- ^ internalListHolder
+!VDBStackApplication methodsFor:'change & update'!
- "Created: / 20-09-2014 / 23:03:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-internalSelectionHolder
- "return/create the 'internalSelectionHolder' value holder (automatically generated)"
+enqueueUpdateInternalSelectionAfterThreadStopped: aGDBThread
+ self window sensor pushUserEvent:#updateInternalSelectionAfterThreadStopped: for:self withArgument: aGDBThread
- internalSelectionHolder isNil ifTrue:[
- internalSelectionHolder := ValueHolder new.
- internalSelectionHolder addDependent:self.
- ].
- ^ internalSelectionHolder
-! !
-
-!VDBStackApplication methodsFor:'change & update'!
+ "Created: / 22-09-2014 / 23:15:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
update:aspect with:param from:sender
"Invoked when an object that I depend upon sends a change notification."
@@ -247,40 +178,9 @@
self updateInternalSelection.
^ self.
].
- sender == internalSelectionHolder ifTrue:[
- self updateSelection.
- ].
-
super update:aspect with:param from:sender
- "Modified: / 20-09-2014 / 23:10:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-updateInternalList
- | root list |
-
- debugger isNil ifTrue:[
- self internalListHolder root children:#().
- ^ self.
- ].
- root := self internalListHolder root.
- list := debugger inferiors
- select: [ :inferior | inferior isRunning or:[inferior isStopped] ]
- thenCollect:[ :inferior | VDBThreadGroupPresenter new setThreadGroup: inferior; parent: root ].
- root children: list.
- root expand.
- root children size == 1 ifTrue:[
- root children anElement expand.
- root children anElement children size == 1 ifTrue:[
- root children anElement children anElement expand.
- ]
- ].
- internalListView notNil ifTrue:[
- internalListView invalidate.
- ]
-
- "Created: / 20-09-2014 / 23:05:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 30-09-2014 / 00:56:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 27-02-2015 / 15:44:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
updateInternalSelection
@@ -337,28 +237,73 @@
!VDBStackApplication methodsFor:'change & update-delayed'!
-enqueueUpdateInternalList
- self window sensor pushUserEvent:#updateInternalList for:self
+delayedUpdateInternalList
+ | root list |
- "Created: / 20-09-2014 / 23:05:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ debugger isNil ifTrue:[
+ self internalListHolder root children:#().
+ ^ self.
+ ].
+ root := self internalListHolder root.
+ list := debugger inferiors
+ select:[:inferior | inferior isRunning or:[ inferior isStopped ] ]
+ thenCollect:[:inferior |
+ (VDBThreadGroupPresenter new)
+ setThreadGroup:inferior;
+ parent:root
+ ].
+ root children:list.
+ root expand.
+ root children size == 1 ifTrue:[
+ root children anElement expand.
+ root children anElement children size == 1 ifTrue:[
+ root children anElement children anElement expand.
+ ]
+ ].
+ internalListView notNil ifTrue:[
+ internalListView invalidate.
+ ]
+
+ "Created: / 20-09-2014 / 23:05:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 30-09-2014 / 00:56:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-enqueueUpdateInternalSelectionAfterThreadStopped: aGDBThread
- self window sensor pushUserEvent:#updateInternalSelectionAfterThreadStopped: for:self withArgument: aGDBThread
+delayedUpdateSelection
+ | internalSelection frame thread group |
- "Created: / 22-09-2014 / 23:15:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ internalSelection := self internalSelectionHolder value.
+ internalSelection notNil ifTrue:[
+ internalSelection isFramePresenter ifTrue:[
+ frame := internalSelection frame.
+ thread := frame thread.
+ group := thread group.
+ ] ifFalse:[
+ internalSelection isThreadPresenter ifTrue:[
+ thread := internalSelection thread.
+ group := thread group.
+ ] ifFalse:[
+ group := internalSelection threadGroup.
+ ]
+ ].
+ ].
+
+ self selectedThreadGroupHolder value: group withoutNotifying: self.
+ self selectedThreadHolder value: thread withoutNotifying: self.
+ self selectedFrameHolder value: frame withoutNotifying: self.
+
+ "Created: / 27-02-2015 / 15:33:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!VDBStackApplication methodsFor:'event handling'!
onRunningEvent: event
- self enqueueUpdateInternalList.
+ self enqueueDelayedUpdateInternalList.
"Created: / 30-09-2014 / 00:02:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
onStoppedEvent: event
- self enqueueUpdateInternalList.
+ self enqueueDelayedUpdateInternalList.
self enqueueUpdateInternalSelectionAfterThreadStopped:event stoppedThread.
"Created: / 17-09-2014 / 23:04:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -366,36 +311,19 @@
!
onThreadExitedEvent: event
- self enqueueUpdateInternalList.
+ self enqueueDelayedUpdateInternalList.
"Created: / 18-09-2014 / 23:30:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 20-09-2014 / 23:08:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
onThreadGroupExitedEvent: event
- self enqueueUpdateInternalList.
+ self enqueueDelayedUpdateInternalList.
"Created: / 18-09-2014 / 23:30:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 20-09-2014 / 23:08:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-!VDBStackApplication methodsFor:'hooks'!
-
-commonPostOpen
- "a common hook for postOpenWith:, postOpenAsSubcanvasWith: and postOpenAsDialogWith:."
-
- self enqueueUpdateInternalList
-
- "Created: / 18-09-2014 / 00:29:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 20-09-2014 / 23:50:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-postBuildInternalListView: aView
- internalListView := aView
-
- "Modified: / 30-09-2014 / 00:00:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
!VDBStackApplication methodsFor:'initialization & release'!
subscribe
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/VDBVariablePresenter.st Fri Feb 27 16:50:43 2015 +0100
@@ -0,0 +1,31 @@
+"{ Package: 'jv:vdb' }"
+
+"{ NameSpace: Smalltalk }"
+
+VDBModelPresenter subclass:#VDBVariablePresenter
+ instanceVariableNames:'variable'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'VDB-Presentation'
+!
+
+!VDBVariablePresenter methodsFor:'accessing'!
+
+label
+ ^ variable name
+
+ "Created: / 27-02-2015 / 15:57:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+variable
+ ^ variable
+! !
+
+!VDBVariablePresenter methodsFor:'initialization'!
+
+setVariable: aGDBVariable
+ variable := aGDBVariable
+
+ "Created: / 27-02-2015 / 16:00:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
--- a/abbrev.stc Fri Feb 27 13:39:32 2015 +0100
+++ b/abbrev.stc Fri Feb 27 16:50:43 2015 +0100
@@ -7,13 +7,17 @@
VDBModelPresenter VDBModelPresenter jv:vdb 'VDB-Presentation' 0
jv_vdb jv_vdb jv:vdb '* Projects & Packages *' 3
VDBAbstractContainer VDBAbstractContainer jv:vdb 'VDB-UI-Abstract' 1
-VDBDebuggerApplication VDBDebuggerApplication jv:vdb 'VGB-UI' 1
+VDBAbstractListApplication VDBAbstractListApplication jv:vdb 'VDB-UI-Abstract' 1
+VDBDebuggerApplication VDBDebuggerApplication jv:vdb 'VDB-UI' 1
VDBDebuggerConsoleApplication VDBDebuggerConsoleApplication jv:vdb 'VDB-UI-Console' 1
VDBEventLogApplication VDBEventLogApplication jv:vdb 'VDB-UI-Events' 1
VDBFramePresenter VDBFramePresenter jv:vdb 'VDB-Presentation' 0
VDBInferiorConsoleApplication VDBInferiorConsoleApplication jv:vdb 'VDB-UI-Console' 1
VDBSourceApplication VDBSourceApplication jv:vdb 'VDB-UI-Source' 1
-VDBStackApplication VDBStackApplication jv:vdb 'VDB-UI-Others' 1
VDBThreadGroupPresenter VDBThreadGroupPresenter jv:vdb 'VDB-Presentation' 0
VDBThreadPresenter VDBThreadPresenter jv:vdb 'VDB-Presentation' 0
+VDBVariablePresenter VDBVariablePresenter jv:vdb 'VDB-Presentation' 0
+VDBAbstractTreeApplication VDBAbstractTreeApplication jv:vdb 'VDB-UI-Abstract' 1
VDBTabbingContainer VDBTabbingContainer jv:vdb 'VDB-UI-Containers' 1
+VDBFrameApplication VDBFrameApplication jv:vdb 'VDB-UI-Others' 1
+VDBStackApplication VDBStackApplication jv:vdb 'VDB-UI-Others' 1
--- a/application/Make.proto Fri Feb 27 13:39:32 2015 +0100
+++ b/application/Make.proto Fri Feb 27 16:50:43 2015 +0100
@@ -33,6 +33,7 @@
DELIVERBINARIES=
+APPNAME=libjv_vdb_application
LIBNAME=libjv_vdb_application
STCLOCALOPT='-package=$(PACKAGE)' -I. -headerDir=. $(LOCALINCLUDES) $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) -headerDir=. -varPrefix=$(LIBNAME)
@@ -63,10 +64,11 @@
libstx_goodies_refactoryBrowser_parser \
libstx_libbasic2 \
libstx_libcomp \
+ libstx_libview \
libstx_libbasic3 \
- libstx_libview \
libstx_libui \
libstx_libview2 \
+ libstx_goodies_sunit \
libstx_libwidg \
libstx_goodies_magritte \
libstx_libhtml \
@@ -83,10 +85,11 @@
$(TOP)/goodies/refactoryBrowser/parser/libstx_goodies_refactoryBrowser_parser$(O_EXT) \
$(TOP)/libbasic2/libstx_libbasic2$(O_EXT) \
$(TOP)/libcomp/libstx_libcomp$(O_EXT) \
+ $(TOP)/libview/libstx_libview$(O_EXT) \
$(TOP)/libbasic3/libstx_libbasic3$(O_EXT) \
- $(TOP)/libview/libstx_libview$(O_EXT) \
$(TOP)/libui/libstx_libui$(O_EXT) \
$(TOP)/libview2/libstx_libview2$(O_EXT) \
+ $(TOP)/goodies/sunit/libstx_goodies_sunit$(O_EXT) \
$(TOP)/libwidg/libstx_libwidg$(O_EXT) \
$(TOP)/goodies/magritte/libstx_goodies_magritte$(O_EXT) \
$(TOP)/libhtml/libstx_libhtml$(O_EXT) \
@@ -103,10 +106,11 @@
libstx_goodies_refactoryBrowser_parser$(O_EXT) \
libstx_libbasic2$(O_EXT) \
libstx_libcomp$(O_EXT) \
+ libstx_libview$(O_EXT) \
libstx_libbasic3$(O_EXT) \
- libstx_libview$(O_EXT) \
libstx_libui$(O_EXT) \
libstx_libview2$(O_EXT) \
+ libstx_goodies_sunit$(O_EXT) \
libstx_libwidg$(O_EXT) \
libstx_goodies_magritte$(O_EXT) \
libstx_libhtml$(O_EXT) \
@@ -130,7 +134,7 @@
# like ALL, but not prereqs
ALL_NP:: exe $(SUBPROJECT_LIBS) $(REQUIRED_SUPPORT_DIRS) $(SETUP_RULE)
-exe: vdb
+exe: vdb registerApplication
vdb: $(APP_DIRS_TO_MAKE) $(APP_LIBOBJS) $(REQUIRED_LIBOBJS) $(OBJS)
$(MAKE) link_vdb
@@ -343,6 +347,19 @@
$(TOP)/libcomp/makefile: $(TOP)/libcomp/Make.proto
$(TOP)/rules/stmkmf --cd $(TOP)/libcomp
+libstx_libview.so: $(TOP)/libview/libstx_libview.so
+ ln -sf $(TOP)/libview/libstx_libview.so .
+
+$(TOP)/libview/libstx_libview.so: $(TOP)/libview/makefile $(FORCE)
+ @if [ -f "$(TOP)/libview/.NOSOURCE" ]; then \
+ echo "skip make in $(TOP)/libview (no source)"; \
+ else \
+ cd $(TOP)/libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "; \
+ fi
+
+$(TOP)/libview/makefile: $(TOP)/libview/Make.proto
+ $(TOP)/rules/stmkmf --cd $(TOP)/libview
+
libstx_libbasic3.so: $(TOP)/libbasic3/libstx_libbasic3.so
ln -sf $(TOP)/libbasic3/libstx_libbasic3.so .
@@ -356,19 +373,6 @@
$(TOP)/libbasic3/makefile: $(TOP)/libbasic3/Make.proto
$(TOP)/rules/stmkmf --cd $(TOP)/libbasic3
-libstx_libview.so: $(TOP)/libview/libstx_libview.so
- ln -sf $(TOP)/libview/libstx_libview.so .
-
-$(TOP)/libview/libstx_libview.so: $(TOP)/libview/makefile $(FORCE)
- @if [ -f "$(TOP)/libview/.NOSOURCE" ]; then \
- echo "skip make in $(TOP)/libview (no source)"; \
- else \
- cd $(TOP)/libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "; \
- fi
-
-$(TOP)/libview/makefile: $(TOP)/libview/Make.proto
- $(TOP)/rules/stmkmf --cd $(TOP)/libview
-
libstx_libui.so: $(TOP)/libui/libstx_libui.so
ln -sf $(TOP)/libui/libstx_libui.so .
@@ -395,6 +399,19 @@
$(TOP)/libview2/makefile: $(TOP)/libview2/Make.proto
$(TOP)/rules/stmkmf --cd $(TOP)/libview2
+libstx_goodies_sunit.so: $(TOP)/goodies/sunit/libstx_goodies_sunit.so
+ ln -sf $(TOP)/goodies/sunit/libstx_goodies_sunit.so .
+
+$(TOP)/goodies/sunit/libstx_goodies_sunit.so: $(TOP)/goodies/sunit/makefile $(FORCE)
+ @if [ -f "$(TOP)/goodies/sunit/.NOSOURCE" ]; then \
+ echo "skip make in $(TOP)/goodies/sunit (no source)"; \
+ else \
+ cd $(TOP)/goodies/sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "; \
+ fi
+
+$(TOP)/goodies/sunit/makefile: $(TOP)/goodies/sunit/Make.proto
+ $(TOP)/rules/stmkmf --cd $(TOP)/goodies/sunit
+
libstx_libwidg.so: $(TOP)/libwidg/libstx_libwidg.so
ln -sf $(TOP)/libwidg/libstx_libwidg.so .
--- a/application/Make.spec Fri Feb 27 13:39:32 2015 +0100
+++ b/application/Make.spec Fri Feb 27 16:50:43 2015 +0100
@@ -42,6 +42,7 @@
# -warnNonStandard : no warnings about ST/X extensions
# -warnEOLComments : no warnings about EOL comment extension
# -warnPrivacy : no warnings about privateClass extension
+# -warnUnused : no warnings about unused variables
#
# ********** OPTIONAL: MODIFY the next line(s) ***
# STCWARNINGS=-warn
--- a/application/VDBStartup.st Fri Feb 27 13:39:32 2015 +0100
+++ b/application/VDBStartup.st Fri Feb 27 16:50:43 2015 +0100
@@ -1,5 +1,7 @@
"{ Package: 'jv:vdb/application' }"
+"{ NameSpace: Smalltalk }"
+
StandaloneStartup subclass:#VDBStartup
instanceVariableNames:''
classVariableNames:''
--- a/application/application.nsi Fri Feb 27 13:39:32 2015 +0100
+++ b/application/application.nsi Fri Feb 27 16:50:43 2015 +0100
@@ -3,7 +3,7 @@
!define PRODUCT_NAME "Visual Debugger"
!define PRODUCT_FILENAME "Visual Debugger"
-!define PRODUCT_VERSION "6.2.4.0"
+!define PRODUCT_VERSION "6.2.5.0"
!define PRODUCT_PUBLISHER "Jan Vrany"
!define PRODUCT_WEB_SITE "http://www.yoursite.com"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_FILENAME}"
--- a/application/autopackage/default.apspec Fri Feb 27 13:39:32 2015 +0100
+++ b/application/autopackage/default.apspec Fri Feb 27 16:50:43 2015 +0100
@@ -1,7 +1,7 @@
# -*- shell-script -*-
[Meta]
ShortName: vdb
-SoftwareVersion: 6.2.4.0
+SoftwareVersion: 6.2.5.0
DisplayName: Visual Debugger
RootName: @exept.de/expecco:$SOFTWAREVERSION
Summary: Visual Debugger
--- a/application/bc.mak Fri Feb 27 13:39:32 2015 +0100
+++ b/application/bc.mak Fri Feb 27 16:50:43 2015 +0100
@@ -41,7 +41,9 @@
#
+APPNAME=libjv_vdb_application
LIBNAME=dummy
+MODULE_PATH=vdb\application
STCOPT="+optinline"
LOCALINCLUDES= -I$(INCLUDE_TOP)\jv\libgdbs -I$(INCLUDE_TOP)\jv\vdb -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libbasic2
LOCALDEFINES=
@@ -72,10 +74,11 @@
libstx_goodies_refactoryBrowser_parser.dll \
libstx_libbasic2.dll \
libstx_libcomp.dll \
+ libstx_libview.dll \
libstx_libbasic3.dll \
- libstx_libview.dll \
libstx_libui.dll \
libstx_libview2.dll \
+ libstx_goodies_sunit.dll \
libstx_libwidg.dll \
libstx_goodies_magritte.dll \
libstx_libhtml.dll \
@@ -99,7 +102,7 @@
# all, but no prereqs
ALL_NP:: exe $(REQUIRED_SUPPORT_DIRS) postBuildCleanup setup
-exe: newBuildDate $(REQUIRED_LIBS) noConsoleApp consoleApp
+exe: newBuildDate $(REQUIRED_LIBS) noConsoleApp consoleApp registerApplication
# the executable only
# with console
@@ -295,18 +298,18 @@
..\..\..\stx\libcomp\$(OBJDIR)\libstx_libcomp.dll: $(FORCE)
pushd ..\..\..\stx\libcomp & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+libstx_libview.dll: ..\..\..\stx\libview\$(OBJDIR)\libstx_libview.dll
+ copy ..\..\..\stx\libview\$(OBJDIR)\libstx_libview.dll *.*
+
+..\..\..\stx\libview\$(OBJDIR)\libstx_libview.dll: $(FORCE)
+ pushd ..\..\..\stx\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+
libstx_libbasic3.dll: ..\..\..\stx\libbasic3\$(OBJDIR)\libstx_libbasic3.dll
copy ..\..\..\stx\libbasic3\$(OBJDIR)\libstx_libbasic3.dll *.*
..\..\..\stx\libbasic3\$(OBJDIR)\libstx_libbasic3.dll: $(FORCE)
pushd ..\..\..\stx\libbasic3 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-libstx_libview.dll: ..\..\..\stx\libview\$(OBJDIR)\libstx_libview.dll
- copy ..\..\..\stx\libview\$(OBJDIR)\libstx_libview.dll *.*
-
-..\..\..\stx\libview\$(OBJDIR)\libstx_libview.dll: $(FORCE)
- pushd ..\..\..\stx\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-
libstx_libui.dll: ..\..\..\stx\libui\$(OBJDIR)\libstx_libui.dll
copy ..\..\..\stx\libui\$(OBJDIR)\libstx_libui.dll *.*
@@ -319,6 +322,12 @@
..\..\..\stx\libview2\$(OBJDIR)\libstx_libview2.dll: $(FORCE)
pushd ..\..\..\stx\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+libstx_goodies_sunit.dll: ..\..\..\stx\goodies\sunit\$(OBJDIR)\libstx_goodies_sunit.dll
+ copy ..\..\..\stx\goodies\sunit\$(OBJDIR)\libstx_goodies_sunit.dll *.*
+
+..\..\..\stx\goodies\sunit\$(OBJDIR)\libstx_goodies_sunit.dll: $(FORCE)
+ pushd ..\..\..\stx\goodies\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+
libstx_libwidg.dll: ..\..\..\stx\libwidg\$(OBJDIR)\libstx_libwidg.dll
copy ..\..\..\stx\libwidg\$(OBJDIR)\libstx_libwidg.dll *.*
--- a/application/builder/baseline.rbspec Fri Feb 27 13:39:32 2015 +0100
+++ b/application/builder/baseline.rbspec Fri Feb 27 16:50:43 2015 +0100
@@ -19,10 +19,11 @@
package "stx:goodies/refactoryBrowser/parser"
package "stx:libbasic2"
package "stx:libcomp"
+ package "stx:libview"
package "stx:libbasic3"
- package "stx:libview"
package "stx:libui"
package "stx:libview2"
+ package "stx:goodies/sunit"
package "stx:libwidg"
package "stx:goodies/magritte"
package "stx:libhtml"
--- a/application/builder/package.deps.rake Fri Feb 27 13:39:32 2015 +0100
+++ b/application/builder/package.deps.rake Fri Feb 27 16:50:43 2015 +0100
@@ -2,7 +2,53 @@
# Package dependencies.
# Automatically generated by project defintion.
-task "stx:goodies/announcements" => "stx:libbasic"
+task "stx:libview" => "stx:libbasic"
+
+
+task "stx:libcomp" => "stx:libbasic"
+
+task "stx:goodies/sunit" => "stx:libbasic"
+task "stx:goodies/sunit" => "stx:libbasic3"
+task "stx:goodies/sunit" => "stx:libview2"
+task "stx:goodies/sunit" => "stx:libbasic2"
+task "stx:goodies/sunit" => "stx:libview"
+
+task "stx:libhtml" => "stx:libbasic"
+task "stx:libhtml" => "stx:libview"
+task "stx:libhtml" => "stx:libwidg"
+
+task "stx:goodies/refactoryBrowser/parser" => "stx:libbasic"
+
+task "stx:goodies/magritte" => "stx:libwidg"
+task "stx:goodies/magritte" => "stx:libbasic2"
+task "stx:goodies/magritte" => "stx:libbasic"
+task "stx:goodies/magritte" => "stx:libview"
+
+task "jv:vdb" => "jv:libgdbs"
+task "jv:vdb" => "stx:libbasic"
+task "jv:vdb" => "stx:libview"
+task "jv:vdb" => "stx:libview2"
+task "jv:vdb" => "stx:libwidg"
+task "jv:vdb" => "stx:libwidg2"
+task "jv:vdb" => "stx:libbasic2"
+task "jv:vdb" => "stx:libtool"
+task "jv:vdb" => "stx:libtool2"
+
+task "stx:libwidg" => "stx:libbasic"
+task "stx:libwidg" => "stx:libview"
+task "stx:libwidg" => "stx:libview2"
+task "stx:libwidg" => "stx:libbasic2"
+task "stx:libwidg" => "stx:libbasic3"
+task "stx:libwidg" => "stx:libui"
+
+task "stx:libbasic2" => "stx:libbasic"
+
+task "stx:libwidg2" => "stx:libbasic"
+task "stx:libwidg2" => "stx:libbasic2"
+task "stx:libwidg2" => "stx:libview"
+task "stx:libwidg2" => "stx:libview2"
+task "stx:libwidg2" => "stx:libwidg"
+task "stx:libwidg2" => "stx:libui"
task "stx:libtool" => "stx:goodies/refactoryBrowser/parser"
task "stx:libtool" => "stx:libbasic"
@@ -16,33 +62,20 @@
task "stx:libtool" => "stx:libwidg2"
task "stx:libtool" => "stx:libwidg3"
-task "stx:libcomp" => "stx:libbasic"
-
-task "stx:libbasic3" => "stx:libbasic"
-task "stx:libbasic3" => "stx:libbasic2"
+task "stx:libview2" => "stx:libbasic"
+task "stx:libview2" => "stx:libbasic2"
+task "stx:libview2" => "stx:libview"
+task "stx:libview2" => "stx:libui"
-task "stx:libwidg2" => "stx:libbasic"
-task "stx:libwidg2" => "stx:libbasic2"
-task "stx:libwidg2" => "stx:libview"
-task "stx:libwidg2" => "stx:libview2"
-task "stx:libwidg2" => "stx:libwidg"
-task "stx:libwidg2" => "stx:libui"
-
-task "stx:libhtml" => "stx:libbasic"
-task "stx:libhtml" => "stx:libview"
-task "stx:libhtml" => "stx:libwidg"
-
-task "stx:libbasic2" => "stx:libbasic"
+task "stx:goodies/announcements" => "stx:libbasic"
task "jv:libgdbs" => "stx:goodies/announcements"
task "jv:libgdbs" => "stx:goodies/magritte"
+task "jv:libgdbs" => "stx:goodies/sunit"
task "jv:libgdbs" => "stx:libbasic"
task "jv:libgdbs" => "stx:libbasic2"
task "jv:libgdbs" => "stx:libview2"
-task "stx:goodies/refactoryBrowser/parser" => "stx:libbasic"
-
-
task "stx:libtool2" => "stx:libbasic"
task "stx:libtool2" => "stx:libview"
task "stx:libtool2" => "stx:libview2"
@@ -55,38 +88,8 @@
task "stx:libtool2" => "stx:libtool"
task "stx:libtool2" => "stx:libui"
-task "stx:libview2" => "stx:libbasic"
-task "stx:libview2" => "stx:libbasic2"
-task "stx:libview2" => "stx:libview"
-task "stx:libview2" => "stx:libui"
-
-task "stx:goodies/magritte" => "stx:libbasic"
-task "stx:goodies/magritte" => "stx:libwidg"
-task "stx:goodies/magritte" => "stx:libbasic2"
-task "stx:goodies/magritte" => "stx:libview"
-
-task "jv:vdb" => "stx:libbasic"
-task "jv:vdb" => "stx:libview"
-task "jv:vdb" => "stx:libview2"
-task "jv:vdb" => "stx:libwidg"
-task "jv:vdb" => "stx:libwidg2"
-task "jv:vdb" => "jv:libgdbs"
-task "jv:vdb" => "stx:libbasic2"
-task "jv:vdb" => "stx:libtool"
-task "jv:vdb" => "stx:libtool2"
-
-task "stx:libwidg" => "stx:libbasic"
-task "stx:libwidg" => "stx:libview"
-task "stx:libwidg" => "stx:libview2"
-task "stx:libwidg" => "stx:libbasic2"
-task "stx:libwidg" => "stx:libbasic3"
-task "stx:libwidg" => "stx:libui"
-
-task "stx:libui" => "stx:libbasic"
-task "stx:libui" => "stx:libview"
-
-task "stx:libview" => "stx:libbasic"
-task "stx:libview" => "stx:libbasic2"
+task "stx:libbasic3" => "stx:libbasic"
+task "stx:libbasic3" => "stx:libbasic2"
task "stx:libwidg3" => "stx:libbasic"
task "stx:libwidg3" => "stx:libui"
@@ -96,6 +99,9 @@
task "stx:libwidg3" => "stx:libwidg2"
task "stx:libwidg3" => "stx:libbasic2"
+task "stx:libui" => "stx:libbasic"
+task "stx:libui" => "stx:libview"
+
task "jv:vdb/application" => "stx:libbasic"
task "jv:vdb/application" => "jv:libgdbs"
task "jv:vdb/application" => "jv:vdb"
--- a/application/jv_vdb_application.st Fri Feb 27 13:39:32 2015 +0100
+++ b/application/jv_vdb_application.st Fri Feb 27 16:50:43 2015 +0100
@@ -1,5 +1,7 @@
"{ Package: 'jv:vdb/application' }"
+"{ NameSpace: Smalltalk }"
+
ApplicationDefinition subclass:#jv_vdb_application
instanceVariableNames:''
classVariableNames:''
@@ -71,7 +73,10 @@
referencedPreRequisites
"list packages which are a prerequisite, because they contain
classes which are referenced by my classes.
- We do not need these packages as a prerequisite for loading or compiling.
+ We do not need these packages as a prerequisite for compiling or loading,
+ however, a class from it may be referenced during execution and having it
+ unloaded then may lead to a runtime doesNotUnderstand error, unless the caller
+ includes explicit checks for the package being present.
This method is generated automatically,
by searching all classes (and their packages) which are referenced by my classes."
--- a/application/modules.stx Fri Feb 27 13:39:32 2015 +0100
+++ b/application/modules.stx Fri Feb 27 16:50:43 2015 +0100
@@ -20,10 +20,11 @@
libstx_goodies_refactoryBrowser_parser
libstx_libbasic2
libstx_libcomp
+libstx_libview
libstx_libbasic3
-libstx_libview
libstx_libui
libstx_libview2
+libstx_goodies_sunit
libstx_libwidg
libstx_goodies_magritte
libstx_libhtml
--- a/bc.mak Fri Feb 27 13:39:32 2015 +0100
+++ b/bc.mak Fri Feb 27 16:50:43 2015 +0100
@@ -30,6 +30,7 @@
!INCLUDE Make.spec
LIBNAME=libjv_vdb
+MODULE_PATH=vdb
RESFILES=vdb.$(RES)
@@ -51,11 +52,16 @@
# build all mandatory prerequisite packages (containing superclasses) for this package
prereq:
pushd ..\..\stx\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+ pushd ..\..\stx\goodies\announcements & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\stx\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+ pushd ..\..\stx\libbasic3 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\stx\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\stx\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+ pushd ..\..\stx\goodies\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\stx\libwidg & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+ pushd ..\..\stx\goodies\magritte & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\stx\libwidg2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+ pushd ..\libgdbs & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
@@ -78,16 +84,20 @@
$(OUTDIR)VDBModelPresenter.$(O) VDBModelPresenter.$(H): VDBModelPresenter.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(STCHDR)
$(OUTDIR)jv_vdb.$(O) jv_vdb.$(H): jv_vdb.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR)
$(OUTDIR)VDBAbstractContainer.$(O) VDBAbstractContainer.$(H): VDBAbstractContainer.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
+$(OUTDIR)VDBAbstractListApplication.$(O) VDBAbstractListApplication.$(H): VDBAbstractListApplication.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
$(OUTDIR)VDBDebuggerApplication.$(O) VDBDebuggerApplication.$(H): VDBDebuggerApplication.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
$(OUTDIR)VDBDebuggerConsoleApplication.$(O) VDBDebuggerConsoleApplication.$(H): VDBDebuggerConsoleApplication.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommandStatus.$(H) $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
$(OUTDIR)VDBEventLogApplication.$(O) VDBEventLogApplication.$(H): VDBEventLogApplication.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
$(OUTDIR)VDBFramePresenter.$(O) VDBFramePresenter.$(H): VDBFramePresenter.st $(INCLUDE_TOP)\jv\vdb\VDBModelPresenter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(STCHDR)
$(OUTDIR)VDBInferiorConsoleApplication.$(O) VDBInferiorConsoleApplication.$(H): VDBInferiorConsoleApplication.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
$(OUTDIR)VDBSourceApplication.$(O) VDBSourceApplication.$(H): VDBSourceApplication.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
-$(OUTDIR)VDBStackApplication.$(O) VDBStackApplication.$(H): VDBStackApplication.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
$(OUTDIR)VDBThreadGroupPresenter.$(O) VDBThreadGroupPresenter.$(H): VDBThreadGroupPresenter.st $(INCLUDE_TOP)\jv\vdb\VDBModelPresenter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(STCHDR)
$(OUTDIR)VDBThreadPresenter.$(O) VDBThreadPresenter.$(H): VDBThreadPresenter.st $(INCLUDE_TOP)\jv\vdb\VDBModelPresenter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(STCHDR)
+$(OUTDIR)VDBVariablePresenter.$(O) VDBVariablePresenter.$(H): VDBVariablePresenter.st $(INCLUDE_TOP)\jv\vdb\VDBModelPresenter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(STCHDR)
+$(OUTDIR)VDBAbstractTreeApplication.$(O) VDBAbstractTreeApplication.$(H): VDBAbstractTreeApplication.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\jv\vdb\VDBAbstractListApplication.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
$(OUTDIR)VDBTabbingContainer.$(O) VDBTabbingContainer.$(H): VDBTabbingContainer.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\jv\vdb\VDBAbstractContainer.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
+$(OUTDIR)VDBFrameApplication.$(O) VDBFrameApplication.$(H): VDBFrameApplication.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\jv\vdb\VDBAbstractListApplication.$(H) $(INCLUDE_TOP)\jv\vdb\VDBAbstractTreeApplication.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
+$(OUTDIR)VDBStackApplication.$(O) VDBStackApplication.$(H): VDBStackApplication.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\jv\vdb\VDBAbstractListApplication.$(H) $(INCLUDE_TOP)\jv\vdb\VDBAbstractTreeApplication.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
# ENDMAKEDEPEND --- do not remove this line
--- a/jv_vdb.st Fri Feb 27 13:39:32 2015 +0100
+++ b/jv_vdb.st Fri Feb 27 16:50:43 2015 +0100
@@ -1,5 +1,7 @@
"{ Package: 'jv:vdb' }"
+"{ NameSpace: Smalltalk }"
+
LibraryDefinition subclass:#jv_vdb
instanceVariableNames:''
classVariableNames:''
@@ -28,6 +30,7 @@
by searching along the inheritance chain of all of my classes."
^ #(
+ #'jv:libgdbs' "GDBCommandStatus - shared pool used by VDBDebuggerConsoleApplication"
#'stx:libbasic' "LibraryDefinition - superclass of jv_vdb"
#'stx:libview' "DisplaySurface - superclass of VDBDebuggerConsoleView"
#'stx:libview2' "ApplicationModel - superclass of VDBAbstractApplication"
@@ -39,14 +42,16 @@
referencedPreRequisites
"list packages which are a prerequisite, because they contain
classes which are referenced by my classes.
- We do not need these packages as a prerequisite for loading or compiling.
+ We do not need these packages as a prerequisite for compiling or loading,
+ however, a class from it may be referenced during execution and having it
+ unloaded then may lead to a runtime doesNotUnderstand error, unless the caller
+ includes explicit checks for the package being present.
This method is generated automatically,
by searching all classes (and their packages) which are referenced by my classes."
^ #(
- #'jv:libgdbs' "GDBCLICommand - referenced by VDBDebuggerConsoleApplication>>commonPostOpen"
#'stx:libbasic2' "List - referenced by VDBAbstractContainer>>initialize"
- #'stx:libtool' "SmalltalkCodeGeneratorTool - referenced by VDBIconLibrary class>>loadAndCompileImagesFrom:"
+ #'stx:libtool' "SmalltalkCodeGeneratorTool - referenced by VDBIconLibrary class>>loadAndCompileImagesFrom:categoryPrefix:"
#'stx:libtool2' "MenuEditor - referenced by VDBIconLibrary class>>initialize"
)
!
@@ -77,16 +82,20 @@
VDBModelPresenter
#'jv_vdb'
VDBAbstractContainer
+ VDBAbstractListApplication
VDBDebuggerApplication
VDBDebuggerConsoleApplication
VDBEventLogApplication
VDBFramePresenter
VDBInferiorConsoleApplication
VDBSourceApplication
- VDBStackApplication
VDBThreadGroupPresenter
VDBThreadPresenter
+ VDBVariablePresenter
+ VDBAbstractTreeApplication
VDBTabbingContainer
+ VDBFrameApplication
+ VDBStackApplication
)
!
--- a/libInit.cc Fri Feb 27 13:39:32 2015 +0100
+++ b/libInit.cc Fri Feb 27 16:50:43 2015 +0100
@@ -33,16 +33,20 @@
_VDBModelPresenter_Init(pass,__pRT__,snd);
_jv_137vdb_Init(pass,__pRT__,snd);
_VDBAbstractContainer_Init(pass,__pRT__,snd);
+_VDBAbstractListApplication_Init(pass,__pRT__,snd);
_VDBDebuggerApplication_Init(pass,__pRT__,snd);
_VDBDebuggerConsoleApplication_Init(pass,__pRT__,snd);
_VDBEventLogApplication_Init(pass,__pRT__,snd);
_VDBFramePresenter_Init(pass,__pRT__,snd);
_VDBInferiorConsoleApplication_Init(pass,__pRT__,snd);
_VDBSourceApplication_Init(pass,__pRT__,snd);
-_VDBStackApplication_Init(pass,__pRT__,snd);
_VDBThreadGroupPresenter_Init(pass,__pRT__,snd);
_VDBThreadPresenter_Init(pass,__pRT__,snd);
+_VDBVariablePresenter_Init(pass,__pRT__,snd);
+_VDBAbstractTreeApplication_Init(pass,__pRT__,snd);
_VDBTabbingContainer_Init(pass,__pRT__,snd);
+_VDBFrameApplication_Init(pass,__pRT__,snd);
+_VDBStackApplication_Init(pass,__pRT__,snd);
__END_PACKAGE__();
--- a/tests/Make.proto Fri Feb 27 13:39:32 2015 +0100
+++ b/tests/Make.proto Fri Feb 27 16:50:43 2015 +0100
@@ -106,7 +106,7 @@
# build all packages containing referenced classes for this package
-# they are nor needed to compile the package
+# they are not needed to compile the package (but later, to load it)
references:
--- a/tests/Make.spec Fri Feb 27 13:39:32 2015 +0100
+++ b/tests/Make.spec Fri Feb 27 16:50:43 2015 +0100
@@ -42,6 +42,7 @@
# -warnNonStandard : no warnings about ST/X extensions
# -warnEOLComments : no warnings about EOL comment extension
# -warnPrivacy : no warnings about privateClass extension
+# -warnUnused : no warnings about unused variables
#
# ********** OPTIONAL: MODIFY the next line(s) ***
# STCWARNINGS=-warn
--- a/tests/bc.mak Fri Feb 27 13:39:32 2015 +0100
+++ b/tests/bc.mak Fri Feb 27 16:50:43 2015 +0100
@@ -30,6 +30,7 @@
!INCLUDE Make.spec
LIBNAME=libjv_vdb_tests
+MODULE_PATH=vdb\tests
RESFILES=tests.$(RES)
--- a/tests/jv_vdb_tests.st Fri Feb 27 13:39:32 2015 +0100
+++ b/tests/jv_vdb_tests.st Fri Feb 27 16:50:43 2015 +0100
@@ -1,5 +1,7 @@
"{ Package: 'jv:vdb/tests' }"
+"{ NameSpace: Smalltalk }"
+
LibraryDefinition subclass:#jv_vdb_tests
instanceVariableNames:''
classVariableNames:''
@@ -35,7 +37,10 @@
referencedPreRequisites
"list packages which are a prerequisite, because they contain
classes which are referenced by my classes.
- We do not need these packages as a prerequisite for loading or compiling.
+ We do not need these packages as a prerequisite for compiling or loading,
+ however, a class from it may be referenced during execution and having it
+ unloaded then may lead to a runtime doesNotUnderstand error, unless the caller
+ includes explicit checks for the package being present.
This method is generated automatically,
by searching all classes (and their packages) which are referenced by my classes."