--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/VDBEventLogApplication.st Sat Jun 07 14:42:45 2014 +0100
@@ -0,0 +1,185 @@
+"{ Package: 'jv:vdb' }"
+
+VDBAbstractApplication subclass:#VDBEventLogApplication
+ instanceVariableNames:'eventList eventSelectionHolder'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'VDB-UI-Events'
+!
+
+!VDBEventLogApplication 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:VDBEventLogApplication andSelector:#windowSpec
+ VDBEventLogApplication new openInterface:#windowSpec
+ VDBEventLogApplication open
+ "
+
+ <resource: #canvas>
+
+ ^
+ #(FullSpec
+ name: windowSpec
+ window:
+ (WindowSpec
+ label: 'Event Log'
+ name: 'Event Log'
+ min: (Point 10 10)
+ bounds: (Rectangle 0 0 300 300)
+ )
+ component:
+ (SpecCollection
+ collection: (
+ (SelectionInListModelViewSpec
+ name: 'EventList'
+ layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+ model: eventSelectionHolder
+ menu: eventMenu
+ hasHorizontalScrollBar: true
+ hasVerticalScrollBar: true
+ listModel: eventList
+ useIndex: false
+ highlightMode: line
+ doubleClickSelector: eventMenuInspect
+ )
+ )
+
+ )
+ )
+! !
+
+!VDBEventLogApplication class methodsFor:'menu specs'!
+
+eventMenu
+ "This resource specification was automatically generated
+ by the MenuEditor of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the MenuEditor may not be able to read the specification."
+
+
+ "
+ MenuEditor new openOnClass:VDBEventLogApplication andSelector:#eventMenu
+ (Menu new fromLiteralArrayEncoding:(VDBEventLogApplication eventMenu)) startUp
+ "
+
+ <resource: #menu>
+
+ ^
+ #(Menu
+ (
+ (MenuItem
+ enabled: hasEventSelectedHolder
+ label: 'Inspect'
+ itemValue: eventMenuInspect
+ )
+ )
+ nil
+ nil
+ )
+! !
+
+!VDBEventLogApplication 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
+ ).
+
+! !
+
+!VDBEventLogApplication methodsFor:'aspects'!
+
+eventList
+ <resource: #uiAspect>
+
+ "automatically generated by UIPainter ..."
+
+ "*** the code below creates a default model when invoked."
+ "*** (which may not be the one you wanted)"
+ "*** Please change as required and accept it in the browser."
+ "*** (and replace this comment by something more useful ;-)"
+
+ eventList isNil ifTrue:[
+ eventList := List new.
+"/ if your app needs to be notified of changes, uncomment one of the lines below:
+"/ eventList addDependent:self.
+"/ eventList onChangeSend:#eventListChanged to:self.
+ ].
+ ^ eventList.
+!
+
+eventSelectionHolder
+ <resource: #uiAspect>
+
+ "automatically generated by UIPainter ..."
+
+ "*** the code below creates a default model when invoked."
+ "*** (which may not be the one you wanted)"
+ "*** Please change as required and accept it in the browser."
+ "*** (and replace this comment by something more useful ;-)"
+
+ eventSelectionHolder isNil ifTrue:[
+ eventSelectionHolder := ValueHolder new.
+"/ if your app needs to be notified of changes, uncomment one of the lines below:
+"/ eventSelectionHolder addDependent:self.
+"/ eventSelectionHolder onChangeSend:#eventSelectionHolderChanged to:self.
+ ].
+ ^ eventSelectionHolder.
+! !
+
+!VDBEventLogApplication methodsFor:'event handling'!
+
+onEvent: aGDBEvent
+ self eventList add: aGDBEvent
+
+ "Created: / 07-06-2014 / 14:33:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBEventLogApplication methodsFor:'initialization & release'!
+
+subscribe
+ "Register for debugger events. To be overrided by subclasses"
+
+ debugger announcer
+ when: GDBEvent send: #onEvent: to: self
+
+ "Created: / 07-06-2014 / 14:33:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBEventLogApplication methodsFor:'menu actions'!
+
+eventMenuInspect
+ | event |
+
+ event := self eventSelectionHolder value.
+ event notNil ifTrue:[event inspect].
+
+ "Modified: / 07-06-2014 / 14:36:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBEventLogApplication methodsFor:'menu queries'!
+
+hasEventSelectedHolder
+ ^ (AspectAdaptor forAspect:#notEmptyNil) subjectChannel: self eventSelectionHolder
+
+ "Created: / 07-06-2014 / 14:37:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+