initial checkin
authorfm
Wed, 23 Sep 2009 18:43:06 +0200
changeset 8 31b33be27220
parent 7 00a4de6327c3
child 9 c4040560b58d
initial checkin
SVN__RevisionLogBrowser.st
--- /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$'
+! !