SVN__RevisionLogBrowser.st
changeset 8 31b33be27220
child 143 a0ac38f651a9
equal deleted inserted replaced
7:00a4de6327c3 8:31b33be27220
       
     1 "{ Package: 'cvut:stx/goodies/libsvn' }"
       
     2 
       
     3 "{ NameSpace: SVN }"
       
     4 
       
     5 Browser subclass:#RevisionLogBrowser
       
     6 	instanceVariableNames:''
       
     7 	classVariableNames:''
       
     8 	poolDictionaries:''
       
     9 	category:'SVN-UI-Browsers'
       
    10 !
       
    11 
       
    12 Browser subclass:#Entry
       
    13 	instanceVariableNames:''
       
    14 	classVariableNames:''
       
    15 	poolDictionaries:''
       
    16 	privateIn:RevisionLogBrowser
       
    17 !
       
    18 
       
    19 !RevisionLogBrowser class methodsFor:'documentation'!
       
    20 
       
    21 version_SVN
       
    22     ^'$Id$'
       
    23 ! !
       
    24 
       
    25 !RevisionLogBrowser class methodsFor:'interface specs'!
       
    26 
       
    27 windowSpec
       
    28     "This resource specification was automatically generated
       
    29      by the UIPainter of ST/X."
       
    30 
       
    31     "Do not manually edit this!! If it is corrupted,
       
    32      the UIPainter may not be able to read the specification."
       
    33 
       
    34     "
       
    35      UIPainter new openOnClass:SVN::RevisionLogBrowser andSelector:#windowSpec
       
    36      SVN::RevisionLogBrowser new openInterface:#windowSpec
       
    37      SVN::RevisionLogBrowser open
       
    38     "
       
    39 
       
    40     <resource: #canvas>
       
    41 
       
    42     ^ 
       
    43      #(FullSpec
       
    44         name: windowSpec
       
    45         window: 
       
    46        (WindowSpec
       
    47           label: 'Revision log browser'
       
    48           name: 'Revision log browser'
       
    49           min: (Point 10 10)
       
    50           bounds: (Rectangle 0 0 800 600)
       
    51         )
       
    52         component: 
       
    53        (SpecCollection
       
    54           collection: (
       
    55            (VariableVerticalPanelSpec
       
    56               name: 'ListAndDetailPanel'
       
    57               layout: (LayoutFrame 0 0 0 0 0 1 0 1)
       
    58               showHandle: true
       
    59               snapMode: both
       
    60               component: 
       
    61              (SpecCollection
       
    62                 collection: (
       
    63                  (DataSetSpec
       
    64                     name: 'RevisionList'
       
    65                     model: selectionHolder
       
    66                     hasHorizontalScrollBar: true
       
    67                     hasVerticalScrollBar: true
       
    68                     dataList: revisionLogEntriesAspect
       
    69                     useIndex: false
       
    70                     columnHolder: tableColumns
       
    71                   )
       
    72                  (SubCanvasSpec
       
    73                     name: 'Entry'
       
    74                     hasHorizontalScrollBar: false
       
    75                     hasVerticalScrollBar: false
       
    76                     majorKey: #'SVN::RevisionLogBrowser::Entry'
       
    77                     subAspectHolders: 
       
    78                    (Array
       
    79                       
       
    80                      (SubChannelInfoSpec
       
    81                         subAspect: model
       
    82                         aspect: selectionHolder
       
    83                       )
       
    84                     )
       
    85                     createNewApplication: true
       
    86                     createNewBuilder: true
       
    87                   )
       
    88                  )
       
    89                
       
    90               )
       
    91               handles: (Any 0.5 1.0)
       
    92             )
       
    93            )
       
    94          
       
    95         )
       
    96       )
       
    97 ! !
       
    98 
       
    99 !RevisionLogBrowser class methodsFor:'plugIn spec'!
       
   100 
       
   101 aspectSelectors
       
   102     "This resource specification was automatically generated
       
   103      by the UIPainter of ST/X."
       
   104 
       
   105     "Do not manually edit this. If it is corrupted,
       
   106      the UIPainter may not be able to read the specification."
       
   107 
       
   108     "Return a description of exported aspects;
       
   109      these can be connected to aspects of an embedding application
       
   110      (if this app is embedded in a subCanvas)."
       
   111 
       
   112     ^ #(
       
   113         #model
       
   114         #selectionHolder
       
   115       ).
       
   116 
       
   117 ! !
       
   118 
       
   119 !RevisionLogBrowser class methodsFor:'tableColumns specs'!
       
   120 
       
   121 tableColumns
       
   122     "This resource specification was automatically generated
       
   123      by the DataSetBuilder of ST/X."
       
   124 
       
   125     "Do not manually edit this!! If it is corrupted,
       
   126      the DataSetBuilder may not be able to read the specification."
       
   127 
       
   128     "
       
   129      DataSetBuilder new openOnClass:SVN::RevisionSelectionDialog andSelector:#tableColumns
       
   130     "
       
   131 
       
   132     <resource: #tableColumns>
       
   133 
       
   134     ^#(
       
   135       (DataSetColumnSpec
       
   136          label: 'Revision'
       
   137          activeHelpKey: ''
       
   138          labelButtonType: Button
       
   139          printSelector: revision
       
   140          canSelect: false
       
   141          showRowSeparator: false
       
   142          showColSeparator: false
       
   143        )
       
   144       (DataSetColumnSpec
       
   145          label: 'Author'
       
   146          activeHelpKey: ''
       
   147          labelButtonType: Button
       
   148          printSelector: author
       
   149          canSelect: false
       
   150          showRowSeparator: false
       
   151          showColSeparator: false
       
   152        )
       
   153       (DataSetColumnSpec
       
   154          label: 'Date'
       
   155          activeHelpKey: ''
       
   156          labelButtonType: Button
       
   157          printSelector: date
       
   158          canSelect: false
       
   159          showRowSeparator: false
       
   160          showColSeparator: false
       
   161        )
       
   162       )
       
   163 
       
   164     "Created: / 21-05-2008 / 09:22:21 / Jan Vrany <vranyj1@fel.cvut.cz>"
       
   165 ! !
       
   166 
       
   167 !RevisionLogBrowser methodsFor:'aspects'!
       
   168 
       
   169 revisionLogEntriesAspect
       
   170 
       
   171     ^self model
       
   172 
       
   173     "Created: / 21-05-2008 / 09:22:37 / Jan Vrany <vranyj1@fel.cvut.cz>"
       
   174 ! !
       
   175 
       
   176 !RevisionLogBrowser::Entry class methodsFor:'documentation'!
       
   177 
       
   178 version_SVN
       
   179     ^'$Id$'
       
   180 ! !
       
   181 
       
   182 !RevisionLogBrowser::Entry class methodsFor:'interface specs'!
       
   183 
       
   184 changedPathsSpec
       
   185     "This resource specification was automatically generated
       
   186      by the UIPainter of ST/X."
       
   187 
       
   188     "Do not manually edit this!! If it is corrupted,
       
   189      the UIPainter may not be able to read the specification."
       
   190 
       
   191     "
       
   192      UIPainter new openOnClass:SVN::RevisionLogBrowser::Entry andSelector:#changedPathsSpec
       
   193      SVN::RevisionLogBrowser::Entry new openInterface:#changedPathsSpec
       
   194     "
       
   195 
       
   196     <resource: #canvas>
       
   197 
       
   198     ^ 
       
   199      #(FullSpec
       
   200         name: changedPathsSpec
       
   201         window: 
       
   202        (WindowSpec
       
   203           label: 'ChangedPaths'
       
   204           name: 'ChangedPaths'
       
   205           min: (Point 10 10)
       
   206           bounds: (Rectangle 0 0 300 300)
       
   207         )
       
   208         component: 
       
   209        (SpecCollection
       
   210           collection: (
       
   211            (DataSetSpec
       
   212               name: 'ChangePathsList'
       
   213               layout: (LayoutFrame 0 0 0 0 0 1 0 1)
       
   214               hasHorizontalScrollBar: true
       
   215               hasVerticalScrollBar: true
       
   216               dataList: changedPathsAspect
       
   217               useIndex: false
       
   218               columnHolder: changedPathListColumns
       
   219               showLabels: false
       
   220               columns: 
       
   221              (Array
       
   222                 
       
   223                (DataSetColumnSpec
       
   224                   label: ''
       
   225                   labelAlignment: left
       
   226                   labelButtonType: Button
       
   227                   usePreferredWidth: true
       
   228                   printSelector: icon
       
   229                   showRowSeparator: false
       
   230                   showColSeparator: false
       
   231                 ) 
       
   232                (DataSetColumnSpec
       
   233                   label: 'Path'
       
   234                   labelButtonType: Button
       
   235                   printSelector: path
       
   236                   showRowSeparator: false
       
   237                   showColSeparator: false
       
   238                 )
       
   239               )
       
   240             )
       
   241            )
       
   242          
       
   243         )
       
   244       )
       
   245 !
       
   246 
       
   247 revisionInfoSpec
       
   248     "This resource specification was automatically generated
       
   249      by the UIPainter of ST/X."
       
   250 
       
   251     "Do not manually edit this!! If it is corrupted,
       
   252      the UIPainter may not be able to read the specification."
       
   253 
       
   254     "
       
   255      UIPainter new openOnClass:SVN::RevisionLogEntryApp andSelector:#revisionInfoSpec
       
   256      SVN::RevisionLogEntryApp new openInterface:#revisionInfoSpec
       
   257     "
       
   258 
       
   259     <resource: #canvas>
       
   260 
       
   261     ^ 
       
   262      #(FullSpec
       
   263         name: revisionInfoSpec
       
   264         window: 
       
   265        (WindowSpec
       
   266           label: 'Revision Log Entry Info '
       
   267           name: 'Revision Log Entry Info '
       
   268           min: (Point 10 10)
       
   269           bounds: (Rectangle 0 0 360 296)
       
   270         )
       
   271         component: 
       
   272        (SpecCollection
       
   273           collection: (
       
   274            (LabelSpec
       
   275               label: 'Revision:'
       
   276               name: 'RevisionLabel'
       
   277               layout: (LayoutFrame 4 0 0 0 104 0 25 0)
       
   278               translateLabel: true
       
   279               adjust: left
       
   280             )
       
   281            (InputFieldSpec
       
   282               name: 'RevisionField'
       
   283               layout: (LayoutFrame 105 0 0 0 0 1 25 0)
       
   284               model: revisionAspect
       
   285               isReadOnly: true
       
   286               acceptOnReturn: true
       
   287               acceptOnTab: true
       
   288               acceptOnLostFocus: true
       
   289               acceptOnPointerLeave: false
       
   290             )
       
   291            (LabelSpec
       
   292               label: 'Date:'
       
   293               name: 'DateLabel'
       
   294               layout: (LayoutFrame 4 0 23 0 104 0 48 0)
       
   295               translateLabel: true
       
   296               adjust: left
       
   297             )
       
   298            (InputFieldSpec
       
   299               name: 'DateField'
       
   300               layout: (LayoutFrame 105 0 25 0 0 1 50 0)
       
   301               model: dateAspect
       
   302               isReadOnly: true
       
   303               acceptOnReturn: true
       
   304               acceptOnTab: true
       
   305               acceptOnLostFocus: true
       
   306               acceptOnPointerLeave: false
       
   307             )
       
   308            (LabelSpec
       
   309               label: 'Author:'
       
   310               name: 'AuthorLabel'
       
   311               layout: (LayoutFrame 4 0 48 0 104 0 73 0)
       
   312               translateLabel: true
       
   313               adjust: left
       
   314             )
       
   315            (InputFieldSpec
       
   316               name: 'AuthorField'
       
   317               layout: (LayoutFrame 105 0 50 0 0 1 75 0)
       
   318               model: authorAspect
       
   319               isReadOnly: true
       
   320               acceptOnReturn: true
       
   321               acceptOnTab: true
       
   322               acceptOnLostFocus: true
       
   323               acceptOnPointerLeave: false
       
   324             )
       
   325            (LabelSpec
       
   326               label: 'Message:'
       
   327               name: 'MessageLabel'
       
   328               layout: (LayoutFrame 4 0 73 0 104 0 98 0)
       
   329               translateLabel: true
       
   330               adjust: left
       
   331             )
       
   332            (TextEditorSpec
       
   333               name: 'MessageField'
       
   334               layout: (LayoutFrame 105 0 75 0 0 1 0 1)
       
   335               model: messageAspect
       
   336               hasHorizontalScrollBar: true
       
   337               hasVerticalScrollBar: true
       
   338               isReadOnly: true
       
   339               viewClassName: ''
       
   340             )
       
   341            )
       
   342          
       
   343         )
       
   344       )
       
   345 
       
   346     "Modified: / 19-04-2008 / 12:28:13 / Jan Vrany <vranyj1@fel.cvut.cz>"
       
   347 !
       
   348 
       
   349 windowSpec
       
   350     "This resource specification was automatically generated
       
   351      by the UIPainter of ST/X."
       
   352 
       
   353     "Do not manually edit this!! If it is corrupted,
       
   354      the UIPainter may not be able to read the specification."
       
   355 
       
   356     "
       
   357      UIPainter new openOnClass:SVN::RevisionLogBrowser::Entry andSelector:#windowSpec
       
   358      SVN::RevisionLogBrowser::Entry new openInterface:#windowSpec
       
   359      SVN::RevisionLogBrowser::Entry open
       
   360     "
       
   361 
       
   362     <resource: #canvas>
       
   363 
       
   364     ^ 
       
   365      #(FullSpec
       
   366         name: windowSpec
       
   367         window: 
       
   368        (WindowSpec
       
   369           label: 'Revision Log Entry'
       
   370           name: 'Revision Log Entry'
       
   371           min: (Point 10 10)
       
   372           bounds: (Rectangle 0 0 300 300)
       
   373         )
       
   374         component: 
       
   375        (SpecCollection
       
   376           collection: (
       
   377            (NoteBookViewSpec
       
   378               name: 'NoteBook'
       
   379               layout: (LayoutFrame 0 0 0 0 0 1 0 1)
       
   380               menu: tabList
       
   381             )
       
   382            )
       
   383          
       
   384         )
       
   385       )
       
   386 ! !
       
   387 
       
   388 !RevisionLogBrowser::Entry class methodsFor:'list specs'!
       
   389 
       
   390 tabList
       
   391     "This resource specification was automatically generated
       
   392      by the TabListEditor of ST/X."
       
   393 
       
   394     "Do not manually edit this!! If it is corrupted,
       
   395      the TabListEditor may not be able to read the specification."
       
   396 
       
   397     "
       
   398      TabListEditor new openOnClass: self andSelector:#tabList
       
   399     "
       
   400 
       
   401     <resource: #tabList>
       
   402 
       
   403     ^     #(
       
   404        (TabItem
       
   405           label: 'Revision info'
       
   406           minorKey: revisionInfoSpec
       
   407           createNewBuilder: false
       
   408         )
       
   409        (TabItem
       
   410           label: 'Changed paths'
       
   411           minorKey: changedPathsSpec
       
   412           createNewBuilder: false
       
   413         )
       
   414        )
       
   415      
       
   416       collect:[:aTab| TabItem new fromLiteralArrayEncoding:aTab ]
       
   417 
       
   418     "Modified: / 24-06-2009 / 15:21:07 / Jan Vrany <vranyj1@fel.cvut.cz>"
       
   419 ! !
       
   420 
       
   421 !RevisionLogBrowser::Entry class methodsFor:'plugIn spec'!
       
   422 
       
   423 aspectSelectors
       
   424     "This resource specification was automatically generated
       
   425      by the UIPainter of ST/X."
       
   426 
       
   427     "Do not manually edit this. If it is corrupted,
       
   428      the UIPainter may not be able to read the specification."
       
   429 
       
   430     "Return a description of exported aspects;
       
   431      these can be connected to aspects of an embedding application
       
   432      (if this app is embedded in a subCanvas)."
       
   433 
       
   434     ^ #(
       
   435         #model
       
   436       ).
       
   437 
       
   438 ! !
       
   439 
       
   440 !RevisionLogBrowser::Entry class methodsFor:'tableColumns specs'!
       
   441 
       
   442 changedPathListColumns
       
   443     "This resource specification was automatically generated
       
   444      by the DataSetBuilder of ST/X."
       
   445 
       
   446     "Do not manually edit this!! If it is corrupted,
       
   447      the DataSetBuilder may not be able to read the specification."
       
   448 
       
   449     "
       
   450      DataSetBuilder new openOnClass:SVN::RevisionLogBrowser::Entry andSelector:#changedPathListColumns
       
   451     "
       
   452 
       
   453     <resource: #tableColumns>
       
   454 
       
   455     ^#(
       
   456       (DataSetColumnSpec
       
   457          label: ''
       
   458          labelButtonType: Button
       
   459          usePreferredWidth: true
       
   460          width: 20
       
   461          minWidth: 20
       
   462          printSelector: icon
       
   463          canSelect: false
       
   464          showRowSeparator: false
       
   465          showColSeparator: false
       
   466        )
       
   467       (DataSetColumnSpec
       
   468          label: 'Column 2'
       
   469          labelButtonType: Button
       
   470          printSelector: path
       
   471          canSelect: false
       
   472          showRowSeparator: false
       
   473          showColSeparator: false
       
   474        )
       
   475       )
       
   476     
       
   477 ! !
       
   478 
       
   479 !RevisionLogBrowser::Entry methodsFor:'aspects'!
       
   480 
       
   481 authorAspect
       
   482 
       
   483     |holder|
       
   484 
       
   485     (holder := builder bindingAt:#authorAspect) isNil ifTrue:[
       
   486         holder := (AspectAdaptor forAspect:#author)
       
   487                     subjectChannel:self modelHolder;
       
   488                     yourself.
       
   489         builder aspectAt:#authorAspect put:holder.
       
   490     ].
       
   491     ^ holder.
       
   492 
       
   493     "Created: / 19-04-2008 / 12:01:44 / Jan Vrany <vranyj1@fel.cvut.cz>"
       
   494 !
       
   495 
       
   496 changedPathsAspect
       
   497 
       
   498     |holder|
       
   499 
       
   500     (holder := builder bindingAt:#changedPathsAspect) isNil ifTrue:[
       
   501         holder := (AspectAdaptor forAspect:#changedPaths)
       
   502                     subjectChannel:self modelHolder;
       
   503                     yourself.
       
   504         builder aspectAt:#changedPathsAspect put:holder.
       
   505     ].
       
   506     ^ holder.
       
   507 
       
   508     "Created: / 24-06-2009 / 15:11:16 / Jan Vrany <vranyj1@fel.cvut.cz>"
       
   509 !
       
   510 
       
   511 dateAspect
       
   512 
       
   513     |holder|
       
   514 
       
   515     (holder := builder bindingAt:#dateAspect) isNil ifTrue:[
       
   516         holder := (AspectAdaptor forAspect:#date)
       
   517                     subjectChannel:self modelHolder;
       
   518                     yourself.
       
   519         builder aspectAt:#dateAspect put:holder.
       
   520     ].
       
   521     ^ holder.
       
   522 
       
   523     "Created: / 19-04-2008 / 12:01:28 / Jan Vrany <vranyj1@fel.cvut.cz>"
       
   524 !
       
   525 
       
   526 messageAspect
       
   527 
       
   528     |holder|
       
   529 
       
   530     (holder := builder bindingAt:#messageAspect) isNil ifTrue:[
       
   531         holder := (AspectAdaptor forAspect:#message)
       
   532                     subjectChannel:self modelHolder;
       
   533                     yourself.
       
   534         builder aspectAt:#messageAspect put:holder.
       
   535     ].
       
   536     ^ holder.
       
   537 
       
   538     "Created: / 19-04-2008 / 12:02:02 / Jan Vrany <vranyj1@fel.cvut.cz>"
       
   539 !
       
   540 
       
   541 revisionAspect
       
   542 
       
   543     |holder|
       
   544 
       
   545     (holder := builder bindingAt:#revisionAspect) isNil ifTrue:[
       
   546         holder := (AspectAdaptor forAspect:#revision)
       
   547                     subjectChannel:self modelHolder;
       
   548                     yourself.
       
   549         builder aspectAt:#revisionAspect put:holder.
       
   550     ].
       
   551     ^ holder.
       
   552 
       
   553     "Created: / 19-04-2008 / 12:00:06 / Jan Vrany <vranyj1@fel.cvut.cz>"
       
   554 !
       
   555 
       
   556 tabList
       
   557     "Generated by the TabListEditor"
       
   558 
       
   559     |list|
       
   560 
       
   561     (list := builder bindingAt:#tabList) isNil ifTrue:[
       
   562         builder aspectAt:#tabList put:(list := self class tabList).
       
   563     ].
       
   564     ^ list
       
   565 
       
   566     "Created: / 19-04-2008 / 11:47:46 / Jan Vrany <vranyj1@fel.cvut.cz>"
       
   567 ! !
       
   568 
       
   569 !RevisionLogBrowser class methodsFor:'documentation'!
       
   570 
       
   571 version
       
   572     ^ '$Header$'
       
   573 ! !