--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/SVN__RevisionLogBrowser.st Wed Sep 23 18:43:06 2009 +0200
@@ -0,0 +1,573 @@
+"{ Package: 'cvut:stx/goodies/libsvn' }"
+
+"{ NameSpace: SVN }"
+
+Browser subclass:#RevisionLogBrowser
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'SVN-UI-Browsers'
+!
+
+Browser subclass:#Entry
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:RevisionLogBrowser
+!
+
+!RevisionLogBrowser class methodsFor:'documentation'!
+
+version_SVN
+ ^'$Id$'
+! !
+
+!RevisionLogBrowser 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:SVN::RevisionLogBrowser andSelector:#windowSpec
+ SVN::RevisionLogBrowser new openInterface:#windowSpec
+ SVN::RevisionLogBrowser open
+ "
+
+ <resource: #canvas>
+
+ ^
+ #(FullSpec
+ name: windowSpec
+ window:
+ (WindowSpec
+ label: 'Revision log browser'
+ name: 'Revision log browser'
+ min: (Point 10 10)
+ bounds: (Rectangle 0 0 800 600)
+ )
+ component:
+ (SpecCollection
+ collection: (
+ (VariableVerticalPanelSpec
+ name: 'ListAndDetailPanel'
+ layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+ showHandle: true
+ snapMode: both
+ component:
+ (SpecCollection
+ collection: (
+ (DataSetSpec
+ name: 'RevisionList'
+ model: selectionHolder
+ hasHorizontalScrollBar: true
+ hasVerticalScrollBar: true
+ dataList: revisionLogEntriesAspect
+ useIndex: false
+ columnHolder: tableColumns
+ )
+ (SubCanvasSpec
+ name: 'Entry'
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ majorKey: #'SVN::RevisionLogBrowser::Entry'
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: model
+ aspect: selectionHolder
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ )
+
+ )
+ handles: (Any 0.5 1.0)
+ )
+ )
+
+ )
+ )
+! !
+
+!RevisionLogBrowser 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)."
+
+ ^ #(
+ #model
+ #selectionHolder
+ ).
+
+! !
+
+!RevisionLogBrowser class methodsFor:'tableColumns specs'!
+
+tableColumns
+ "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:SVN::RevisionSelectionDialog andSelector:#tableColumns
+ "
+
+ <resource: #tableColumns>
+
+ ^#(
+ (DataSetColumnSpec
+ label: 'Revision'
+ activeHelpKey: ''
+ labelButtonType: Button
+ printSelector: revision
+ canSelect: false
+ showRowSeparator: false
+ showColSeparator: false
+ )
+ (DataSetColumnSpec
+ label: 'Author'
+ activeHelpKey: ''
+ labelButtonType: Button
+ printSelector: author
+ canSelect: false
+ showRowSeparator: false
+ showColSeparator: false
+ )
+ (DataSetColumnSpec
+ label: 'Date'
+ activeHelpKey: ''
+ labelButtonType: Button
+ printSelector: date
+ canSelect: false
+ showRowSeparator: false
+ showColSeparator: false
+ )
+ )
+
+ "Created: / 21-05-2008 / 09:22:21 / Jan Vrany <vranyj1@fel.cvut.cz>"
+! !
+
+!RevisionLogBrowser methodsFor:'aspects'!
+
+revisionLogEntriesAspect
+
+ ^self model
+
+ "Created: / 21-05-2008 / 09:22:37 / Jan Vrany <vranyj1@fel.cvut.cz>"
+! !
+
+!RevisionLogBrowser::Entry class methodsFor:'documentation'!
+
+version_SVN
+ ^'$Id$'
+! !
+
+!RevisionLogBrowser::Entry class methodsFor:'interface specs'!
+
+changedPathsSpec
+ "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:SVN::RevisionLogBrowser::Entry andSelector:#changedPathsSpec
+ SVN::RevisionLogBrowser::Entry new openInterface:#changedPathsSpec
+ "
+
+ <resource: #canvas>
+
+ ^
+ #(FullSpec
+ name: changedPathsSpec
+ window:
+ (WindowSpec
+ label: 'ChangedPaths'
+ name: 'ChangedPaths'
+ min: (Point 10 10)
+ bounds: (Rectangle 0 0 300 300)
+ )
+ component:
+ (SpecCollection
+ collection: (
+ (DataSetSpec
+ name: 'ChangePathsList'
+ layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+ hasHorizontalScrollBar: true
+ hasVerticalScrollBar: true
+ dataList: changedPathsAspect
+ useIndex: false
+ columnHolder: changedPathListColumns
+ showLabels: false
+ columns:
+ (Array
+
+ (DataSetColumnSpec
+ label: ''
+ labelAlignment: left
+ labelButtonType: Button
+ usePreferredWidth: true
+ printSelector: icon
+ showRowSeparator: false
+ showColSeparator: false
+ )
+ (DataSetColumnSpec
+ label: 'Path'
+ labelButtonType: Button
+ printSelector: path
+ showRowSeparator: false
+ showColSeparator: false
+ )
+ )
+ )
+ )
+
+ )
+ )
+!
+
+revisionInfoSpec
+ "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:SVN::RevisionLogEntryApp andSelector:#revisionInfoSpec
+ SVN::RevisionLogEntryApp new openInterface:#revisionInfoSpec
+ "
+
+ <resource: #canvas>
+
+ ^
+ #(FullSpec
+ name: revisionInfoSpec
+ window:
+ (WindowSpec
+ label: 'Revision Log Entry Info '
+ name: 'Revision Log Entry Info '
+ min: (Point 10 10)
+ bounds: (Rectangle 0 0 360 296)
+ )
+ component:
+ (SpecCollection
+ collection: (
+ (LabelSpec
+ label: 'Revision:'
+ name: 'RevisionLabel'
+ layout: (LayoutFrame 4 0 0 0 104 0 25 0)
+ translateLabel: true
+ adjust: left
+ )
+ (InputFieldSpec
+ name: 'RevisionField'
+ layout: (LayoutFrame 105 0 0 0 0 1 25 0)
+ model: revisionAspect
+ isReadOnly: true
+ acceptOnReturn: true
+ acceptOnTab: true
+ acceptOnLostFocus: true
+ acceptOnPointerLeave: false
+ )
+ (LabelSpec
+ label: 'Date:'
+ name: 'DateLabel'
+ layout: (LayoutFrame 4 0 23 0 104 0 48 0)
+ translateLabel: true
+ adjust: left
+ )
+ (InputFieldSpec
+ name: 'DateField'
+ layout: (LayoutFrame 105 0 25 0 0 1 50 0)
+ model: dateAspect
+ isReadOnly: true
+ acceptOnReturn: true
+ acceptOnTab: true
+ acceptOnLostFocus: true
+ acceptOnPointerLeave: false
+ )
+ (LabelSpec
+ label: 'Author:'
+ name: 'AuthorLabel'
+ layout: (LayoutFrame 4 0 48 0 104 0 73 0)
+ translateLabel: true
+ adjust: left
+ )
+ (InputFieldSpec
+ name: 'AuthorField'
+ layout: (LayoutFrame 105 0 50 0 0 1 75 0)
+ model: authorAspect
+ isReadOnly: true
+ acceptOnReturn: true
+ acceptOnTab: true
+ acceptOnLostFocus: true
+ acceptOnPointerLeave: false
+ )
+ (LabelSpec
+ label: 'Message:'
+ name: 'MessageLabel'
+ layout: (LayoutFrame 4 0 73 0 104 0 98 0)
+ translateLabel: true
+ adjust: left
+ )
+ (TextEditorSpec
+ name: 'MessageField'
+ layout: (LayoutFrame 105 0 75 0 0 1 0 1)
+ model: messageAspect
+ hasHorizontalScrollBar: true
+ hasVerticalScrollBar: true
+ isReadOnly: true
+ viewClassName: ''
+ )
+ )
+
+ )
+ )
+
+ "Modified: / 19-04-2008 / 12:28:13 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+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:SVN::RevisionLogBrowser::Entry andSelector:#windowSpec
+ SVN::RevisionLogBrowser::Entry new openInterface:#windowSpec
+ SVN::RevisionLogBrowser::Entry open
+ "
+
+ <resource: #canvas>
+
+ ^
+ #(FullSpec
+ name: windowSpec
+ window:
+ (WindowSpec
+ label: 'Revision Log Entry'
+ name: 'Revision Log Entry'
+ min: (Point 10 10)
+ bounds: (Rectangle 0 0 300 300)
+ )
+ component:
+ (SpecCollection
+ collection: (
+ (NoteBookViewSpec
+ name: 'NoteBook'
+ layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+ menu: tabList
+ )
+ )
+
+ )
+ )
+! !
+
+!RevisionLogBrowser::Entry class methodsFor:'list specs'!
+
+tabList
+ "This resource specification was automatically generated
+ by the TabListEditor of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the TabListEditor may not be able to read the specification."
+
+ "
+ TabListEditor new openOnClass: self andSelector:#tabList
+ "
+
+ <resource: #tabList>
+
+ ^ #(
+ (TabItem
+ label: 'Revision info'
+ minorKey: revisionInfoSpec
+ createNewBuilder: false
+ )
+ (TabItem
+ label: 'Changed paths'
+ minorKey: changedPathsSpec
+ createNewBuilder: false
+ )
+ )
+
+ collect:[:aTab| TabItem new fromLiteralArrayEncoding:aTab ]
+
+ "Modified: / 24-06-2009 / 15:21:07 / Jan Vrany <vranyj1@fel.cvut.cz>"
+! !
+
+!RevisionLogBrowser::Entry 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)."
+
+ ^ #(
+ #model
+ ).
+
+! !
+
+!RevisionLogBrowser::Entry class methodsFor:'tableColumns specs'!
+
+changedPathListColumns
+ "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:SVN::RevisionLogBrowser::Entry andSelector:#changedPathListColumns
+ "
+
+ <resource: #tableColumns>
+
+ ^#(
+ (DataSetColumnSpec
+ label: ''
+ labelButtonType: Button
+ usePreferredWidth: true
+ width: 20
+ minWidth: 20
+ printSelector: icon
+ canSelect: false
+ showRowSeparator: false
+ showColSeparator: false
+ )
+ (DataSetColumnSpec
+ label: 'Column 2'
+ labelButtonType: Button
+ printSelector: path
+ canSelect: false
+ showRowSeparator: false
+ showColSeparator: false
+ )
+ )
+
+! !
+
+!RevisionLogBrowser::Entry methodsFor:'aspects'!
+
+authorAspect
+
+ |holder|
+
+ (holder := builder bindingAt:#authorAspect) isNil ifTrue:[
+ holder := (AspectAdaptor forAspect:#author)
+ subjectChannel:self modelHolder;
+ yourself.
+ builder aspectAt:#authorAspect put:holder.
+ ].
+ ^ holder.
+
+ "Created: / 19-04-2008 / 12:01:44 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+changedPathsAspect
+
+ |holder|
+
+ (holder := builder bindingAt:#changedPathsAspect) isNil ifTrue:[
+ holder := (AspectAdaptor forAspect:#changedPaths)
+ subjectChannel:self modelHolder;
+ yourself.
+ builder aspectAt:#changedPathsAspect put:holder.
+ ].
+ ^ holder.
+
+ "Created: / 24-06-2009 / 15:11:16 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+dateAspect
+
+ |holder|
+
+ (holder := builder bindingAt:#dateAspect) isNil ifTrue:[
+ holder := (AspectAdaptor forAspect:#date)
+ subjectChannel:self modelHolder;
+ yourself.
+ builder aspectAt:#dateAspect put:holder.
+ ].
+ ^ holder.
+
+ "Created: / 19-04-2008 / 12:01:28 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+messageAspect
+
+ |holder|
+
+ (holder := builder bindingAt:#messageAspect) isNil ifTrue:[
+ holder := (AspectAdaptor forAspect:#message)
+ subjectChannel:self modelHolder;
+ yourself.
+ builder aspectAt:#messageAspect put:holder.
+ ].
+ ^ holder.
+
+ "Created: / 19-04-2008 / 12:02:02 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+revisionAspect
+
+ |holder|
+
+ (holder := builder bindingAt:#revisionAspect) isNil ifTrue:[
+ holder := (AspectAdaptor forAspect:#revision)
+ subjectChannel:self modelHolder;
+ yourself.
+ builder aspectAt:#revisionAspect put:holder.
+ ].
+ ^ holder.
+
+ "Created: / 19-04-2008 / 12:00:06 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+tabList
+ "Generated by the TabListEditor"
+
+ |list|
+
+ (list := builder bindingAt:#tabList) isNil ifTrue:[
+ builder aspectAt:#tabList put:(list := self class tabList).
+ ].
+ ^ list
+
+ "Created: / 19-04-2008 / 11:47:46 / Jan Vrany <vranyj1@fel.cvut.cz>"
+! !
+
+!RevisionLogBrowser class methodsFor:'documentation'!
+
+version
+ ^ '$Header$'
+! !