SVN__WorkingCopyBrowser.st
author fm
Wed, 23 Sep 2009 18:43:12 +0200
changeset 9 c4040560b58d
child 210 7640b1431703
permissions -rw-r--r--
initial checkin
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9
c4040560b58d initial checkin
fm
parents:
diff changeset
     1
"{ Package: 'cvut:stx/goodies/libsvn' }"
c4040560b58d initial checkin
fm
parents:
diff changeset
     2
c4040560b58d initial checkin
fm
parents:
diff changeset
     3
"{ NameSpace: SVN }"
c4040560b58d initial checkin
fm
parents:
diff changeset
     4
c4040560b58d initial checkin
fm
parents:
diff changeset
     5
Browser subclass:#WorkingCopyBrowser
c4040560b58d initial checkin
fm
parents:
diff changeset
     6
	instanceVariableNames:''
c4040560b58d initial checkin
fm
parents:
diff changeset
     7
	classVariableNames:''
c4040560b58d initial checkin
fm
parents:
diff changeset
     8
	poolDictionaries:''
c4040560b58d initial checkin
fm
parents:
diff changeset
     9
	category:'SVN-UI-Browsers'
c4040560b58d initial checkin
fm
parents:
diff changeset
    10
!
c4040560b58d initial checkin
fm
parents:
diff changeset
    11
c4040560b58d initial checkin
fm
parents:
diff changeset
    12
!WorkingCopyBrowser class methodsFor:'documentation'!
c4040560b58d initial checkin
fm
parents:
diff changeset
    13
c4040560b58d initial checkin
fm
parents:
diff changeset
    14
version_SVN
c4040560b58d initial checkin
fm
parents:
diff changeset
    15
    ^'$Id$'
c4040560b58d initial checkin
fm
parents:
diff changeset
    16
! !
c4040560b58d initial checkin
fm
parents:
diff changeset
    17
c4040560b58d initial checkin
fm
parents:
diff changeset
    18
!WorkingCopyBrowser class methodsFor:'interface specs'!
c4040560b58d initial checkin
fm
parents:
diff changeset
    19
c4040560b58d initial checkin
fm
parents:
diff changeset
    20
windowSpec
c4040560b58d initial checkin
fm
parents:
diff changeset
    21
    "This resource specification was automatically generated
c4040560b58d initial checkin
fm
parents:
diff changeset
    22
     by the UIPainter of ST/X."
c4040560b58d initial checkin
fm
parents:
diff changeset
    23
c4040560b58d initial checkin
fm
parents:
diff changeset
    24
    "Do not manually edit this!! If it is corrupted,
c4040560b58d initial checkin
fm
parents:
diff changeset
    25
     the UIPainter may not be able to read the specification."
c4040560b58d initial checkin
fm
parents:
diff changeset
    26
c4040560b58d initial checkin
fm
parents:
diff changeset
    27
    "
c4040560b58d initial checkin
fm
parents:
diff changeset
    28
     UIPainter new openOnClass:SVN::WCStatusApp andSelector:#windowSpec
c4040560b58d initial checkin
fm
parents:
diff changeset
    29
     SVN::WCStatusApp new openInterface:#windowSpec
c4040560b58d initial checkin
fm
parents:
diff changeset
    30
     SVN::WCStatusApp open
c4040560b58d initial checkin
fm
parents:
diff changeset
    31
    "
c4040560b58d initial checkin
fm
parents:
diff changeset
    32
c4040560b58d initial checkin
fm
parents:
diff changeset
    33
    <resource: #canvas>
c4040560b58d initial checkin
fm
parents:
diff changeset
    34
c4040560b58d initial checkin
fm
parents:
diff changeset
    35
    ^ 
c4040560b58d initial checkin
fm
parents:
diff changeset
    36
     #(FullSpec
c4040560b58d initial checkin
fm
parents:
diff changeset
    37
        name: windowSpec
c4040560b58d initial checkin
fm
parents:
diff changeset
    38
        window: 
c4040560b58d initial checkin
fm
parents:
diff changeset
    39
       (WindowSpec
c4040560b58d initial checkin
fm
parents:
diff changeset
    40
          label: 'Working Copy Status'
c4040560b58d initial checkin
fm
parents:
diff changeset
    41
          name: 'Working Copy Status'
c4040560b58d initial checkin
fm
parents:
diff changeset
    42
          min: (Point 10 10)
c4040560b58d initial checkin
fm
parents:
diff changeset
    43
          bounds: (Rectangle 0 0 300 300)
c4040560b58d initial checkin
fm
parents:
diff changeset
    44
        )
c4040560b58d initial checkin
fm
parents:
diff changeset
    45
        component: 
c4040560b58d initial checkin
fm
parents:
diff changeset
    46
       (SpecCollection
c4040560b58d initial checkin
fm
parents:
diff changeset
    47
          collection: (
c4040560b58d initial checkin
fm
parents:
diff changeset
    48
           (DataSetSpec
c4040560b58d initial checkin
fm
parents:
diff changeset
    49
              name: 'WCEntryTable'
c4040560b58d initial checkin
fm
parents:
diff changeset
    50
              layout: (LayoutFrame 0 0 0 0 0 1 -30 1)
c4040560b58d initial checkin
fm
parents:
diff changeset
    51
              model: selectionHolder
c4040560b58d initial checkin
fm
parents:
diff changeset
    52
              menu: workingCopyEntryMenu
c4040560b58d initial checkin
fm
parents:
diff changeset
    53
              hasHorizontalScrollBar: true
c4040560b58d initial checkin
fm
parents:
diff changeset
    54
              hasVerticalScrollBar: true
c4040560b58d initial checkin
fm
parents:
diff changeset
    55
              dataList: workingCopyEntriesAspect
c4040560b58d initial checkin
fm
parents:
diff changeset
    56
              useIndex: false
c4040560b58d initial checkin
fm
parents:
diff changeset
    57
              columnHolder: wcEntryTableColumns
c4040560b58d initial checkin
fm
parents:
diff changeset
    58
            )
c4040560b58d initial checkin
fm
parents:
diff changeset
    59
           (CheckBoxSpec
c4040560b58d initial checkin
fm
parents:
diff changeset
    60
              label: 'Show only changed etries'
c4040560b58d initial checkin
fm
parents:
diff changeset
    61
              name: 'ShowOnlyChanged'
c4040560b58d initial checkin
fm
parents:
diff changeset
    62
              layout: (LayoutFrame 0 0 -30 1 0 1 0 1)
c4040560b58d initial checkin
fm
parents:
diff changeset
    63
              model: showOnlyChanged
c4040560b58d initial checkin
fm
parents:
diff changeset
    64
              translateLabel: true
c4040560b58d initial checkin
fm
parents:
diff changeset
    65
            )
c4040560b58d initial checkin
fm
parents:
diff changeset
    66
           )
c4040560b58d initial checkin
fm
parents:
diff changeset
    67
         
c4040560b58d initial checkin
fm
parents:
diff changeset
    68
        )
c4040560b58d initial checkin
fm
parents:
diff changeset
    69
      )
c4040560b58d initial checkin
fm
parents:
diff changeset
    70
c4040560b58d initial checkin
fm
parents:
diff changeset
    71
    "Modified: / 22-10-2008 / 11:30:58 / Jan Vrany <vranyj1@fel.cvut.cz>"
c4040560b58d initial checkin
fm
parents:
diff changeset
    72
! !
c4040560b58d initial checkin
fm
parents:
diff changeset
    73
c4040560b58d initial checkin
fm
parents:
diff changeset
    74
!WorkingCopyBrowser class methodsFor:'menu specs'!
c4040560b58d initial checkin
fm
parents:
diff changeset
    75
c4040560b58d initial checkin
fm
parents:
diff changeset
    76
workingCopyEntryMenu
c4040560b58d initial checkin
fm
parents:
diff changeset
    77
    "This resource specification was automatically generated
c4040560b58d initial checkin
fm
parents:
diff changeset
    78
     by the MenuEditor of ST/X."
c4040560b58d initial checkin
fm
parents:
diff changeset
    79
c4040560b58d initial checkin
fm
parents:
diff changeset
    80
    "Do not manually edit this!! If it is corrupted,
c4040560b58d initial checkin
fm
parents:
diff changeset
    81
     the MenuEditor may not be able to read the specification."
c4040560b58d initial checkin
fm
parents:
diff changeset
    82
c4040560b58d initial checkin
fm
parents:
diff changeset
    83
    "
c4040560b58d initial checkin
fm
parents:
diff changeset
    84
     MenuEditor new openOnClass:SVN::WCStatusApp andSelector:#workingCopyEntryMenu
c4040560b58d initial checkin
fm
parents:
diff changeset
    85
     (Menu new fromLiteralArrayEncoding:(SVN::WCStatusApp workingCopyEntryMenu)) startUp
c4040560b58d initial checkin
fm
parents:
diff changeset
    86
    "
c4040560b58d initial checkin
fm
parents:
diff changeset
    87
c4040560b58d initial checkin
fm
parents:
diff changeset
    88
    <resource: #menu>
c4040560b58d initial checkin
fm
parents:
diff changeset
    89
c4040560b58d initial checkin
fm
parents:
diff changeset
    90
    ^ 
c4040560b58d initial checkin
fm
parents:
diff changeset
    91
     #(Menu
c4040560b58d initial checkin
fm
parents:
diff changeset
    92
        (
c4040560b58d initial checkin
fm
parents:
diff changeset
    93
         (MenuItem
c4040560b58d initial checkin
fm
parents:
diff changeset
    94
            label: 'Show changes (against HEAD)'
c4040560b58d initial checkin
fm
parents:
diff changeset
    95
            itemValue: menuActionShowChangesAgainstHEAD
c4040560b58d initial checkin
fm
parents:
diff changeset
    96
            translateLabel: true
c4040560b58d initial checkin
fm
parents:
diff changeset
    97
            labelImage: (ResourceRetriever #'SVN::IconLibrary' compare 'Show changes (against HEAD)')
c4040560b58d initial checkin
fm
parents:
diff changeset
    98
          )
c4040560b58d initial checkin
fm
parents:
diff changeset
    99
         (MenuItem
c4040560b58d initial checkin
fm
parents:
diff changeset
   100
            label: 'Show changes'
c4040560b58d initial checkin
fm
parents:
diff changeset
   101
            itemValue: menuActionShowChanges
c4040560b58d initial checkin
fm
parents:
diff changeset
   102
            translateLabel: true
c4040560b58d initial checkin
fm
parents:
diff changeset
   103
            labelImage: (ResourceRetriever #'SVN::IconLibrary' compare 'Show changes')
c4040560b58d initial checkin
fm
parents:
diff changeset
   104
          )
c4040560b58d initial checkin
fm
parents:
diff changeset
   105
         )
c4040560b58d initial checkin
fm
parents:
diff changeset
   106
        nil
c4040560b58d initial checkin
fm
parents:
diff changeset
   107
        nil
c4040560b58d initial checkin
fm
parents:
diff changeset
   108
      )
c4040560b58d initial checkin
fm
parents:
diff changeset
   109
c4040560b58d initial checkin
fm
parents:
diff changeset
   110
    "Modified: / 19-04-2008 / 13:13:43 / Jan Vrany <vranyj1@fel.cvut.cz>"
c4040560b58d initial checkin
fm
parents:
diff changeset
   111
! !
c4040560b58d initial checkin
fm
parents:
diff changeset
   112
c4040560b58d initial checkin
fm
parents:
diff changeset
   113
!WorkingCopyBrowser class methodsFor:'plugIn spec'!
c4040560b58d initial checkin
fm
parents:
diff changeset
   114
c4040560b58d initial checkin
fm
parents:
diff changeset
   115
aspectSelectors
c4040560b58d initial checkin
fm
parents:
diff changeset
   116
    "This resource specification was automatically generated
c4040560b58d initial checkin
fm
parents:
diff changeset
   117
     by the UIPainter of ST/X."
c4040560b58d initial checkin
fm
parents:
diff changeset
   118
c4040560b58d initial checkin
fm
parents:
diff changeset
   119
    "Do not manually edit this. If it is corrupted,
c4040560b58d initial checkin
fm
parents:
diff changeset
   120
     the UIPainter may not be able to read the specification."
c4040560b58d initial checkin
fm
parents:
diff changeset
   121
c4040560b58d initial checkin
fm
parents:
diff changeset
   122
    "Return a description of exported aspects;
c4040560b58d initial checkin
fm
parents:
diff changeset
   123
     these can be connected to aspects of an embedding application
c4040560b58d initial checkin
fm
parents:
diff changeset
   124
     (if this app is embedded in a subCanvas)."
c4040560b58d initial checkin
fm
parents:
diff changeset
   125
c4040560b58d initial checkin
fm
parents:
diff changeset
   126
    ^ #(
c4040560b58d initial checkin
fm
parents:
diff changeset
   127
        #model
c4040560b58d initial checkin
fm
parents:
diff changeset
   128
      ).
c4040560b58d initial checkin
fm
parents:
diff changeset
   129
c4040560b58d initial checkin
fm
parents:
diff changeset
   130
    "Modified: / 21-10-2008 / 18:53:15 / Jan Vrany <vranyj1@fel.cvut.cz>"
c4040560b58d initial checkin
fm
parents:
diff changeset
   131
! !
c4040560b58d initial checkin
fm
parents:
diff changeset
   132
c4040560b58d initial checkin
fm
parents:
diff changeset
   133
!WorkingCopyBrowser class methodsFor:'tableColumns specs'!
c4040560b58d initial checkin
fm
parents:
diff changeset
   134
c4040560b58d initial checkin
fm
parents:
diff changeset
   135
wcEntryTableColumns
c4040560b58d initial checkin
fm
parents:
diff changeset
   136
    "This resource specification was automatically generated
c4040560b58d initial checkin
fm
parents:
diff changeset
   137
     by the DataSetBuilder of ST/X."
c4040560b58d initial checkin
fm
parents:
diff changeset
   138
c4040560b58d initial checkin
fm
parents:
diff changeset
   139
    "Do not manually edit this!! If it is corrupted,
c4040560b58d initial checkin
fm
parents:
diff changeset
   140
     the DataSetBuilder may not be able to read the specification."
c4040560b58d initial checkin
fm
parents:
diff changeset
   141
c4040560b58d initial checkin
fm
parents:
diff changeset
   142
    "
c4040560b58d initial checkin
fm
parents:
diff changeset
   143
     DataSetBuilder new openOnClass:SVN::WorkingCopyStatusUI andSelector:#wcEntryTableColumns
c4040560b58d initial checkin
fm
parents:
diff changeset
   144
    "
c4040560b58d initial checkin
fm
parents:
diff changeset
   145
c4040560b58d initial checkin
fm
parents:
diff changeset
   146
    <resource: #tableColumns>
c4040560b58d initial checkin
fm
parents:
diff changeset
   147
c4040560b58d initial checkin
fm
parents:
diff changeset
   148
    ^#(
c4040560b58d initial checkin
fm
parents:
diff changeset
   149
      (DataSetColumnSpec
c4040560b58d initial checkin
fm
parents:
diff changeset
   150
         label: ''
c4040560b58d initial checkin
fm
parents:
diff changeset
   151
         activeHelpKey: ''
c4040560b58d initial checkin
fm
parents:
diff changeset
   152
         labelButtonType: Button
c4040560b58d initial checkin
fm
parents:
diff changeset
   153
         printSelector: statusIcon
c4040560b58d initial checkin
fm
parents:
diff changeset
   154
         canSelect: false
c4040560b58d initial checkin
fm
parents:
diff changeset
   155
         showRowSeparator: false
c4040560b58d initial checkin
fm
parents:
diff changeset
   156
         showColSeparator: false
c4040560b58d initial checkin
fm
parents:
diff changeset
   157
       )
c4040560b58d initial checkin
fm
parents:
diff changeset
   158
      (DataSetColumnSpec
c4040560b58d initial checkin
fm
parents:
diff changeset
   159
         label: 'Container'
c4040560b58d initial checkin
fm
parents:
diff changeset
   160
         activeHelpKey: ''
c4040560b58d initial checkin
fm
parents:
diff changeset
   161
         labelButtonType: Button
c4040560b58d initial checkin
fm
parents:
diff changeset
   162
         printSelector: pathText
c4040560b58d initial checkin
fm
parents:
diff changeset
   163
         canSelect: false
c4040560b58d initial checkin
fm
parents:
diff changeset
   164
         showRowSeparator: false
c4040560b58d initial checkin
fm
parents:
diff changeset
   165
         showColSeparator: false
c4040560b58d initial checkin
fm
parents:
diff changeset
   166
       )
c4040560b58d initial checkin
fm
parents:
diff changeset
   167
      (DataSetColumnSpec
c4040560b58d initial checkin
fm
parents:
diff changeset
   168
         label: 'Rev'
c4040560b58d initial checkin
fm
parents:
diff changeset
   169
         activeHelpKey: ''
c4040560b58d initial checkin
fm
parents:
diff changeset
   170
         labelButtonType: Button
c4040560b58d initial checkin
fm
parents:
diff changeset
   171
         printSelector: revision
c4040560b58d initial checkin
fm
parents:
diff changeset
   172
         canSelect: false
c4040560b58d initial checkin
fm
parents:
diff changeset
   173
         showRowSeparator: false
c4040560b58d initial checkin
fm
parents:
diff changeset
   174
         showColSeparator: false
c4040560b58d initial checkin
fm
parents:
diff changeset
   175
       )
c4040560b58d initial checkin
fm
parents:
diff changeset
   176
      (DataSetColumnSpec
c4040560b58d initial checkin
fm
parents:
diff changeset
   177
         label: 'Author'
c4040560b58d initial checkin
fm
parents:
diff changeset
   178
         activeHelpKey: ''
c4040560b58d initial checkin
fm
parents:
diff changeset
   179
         labelButtonType: Button
c4040560b58d initial checkin
fm
parents:
diff changeset
   180
         printSelector: author
c4040560b58d initial checkin
fm
parents:
diff changeset
   181
         canSelect: false
c4040560b58d initial checkin
fm
parents:
diff changeset
   182
         showRowSeparator: false
c4040560b58d initial checkin
fm
parents:
diff changeset
   183
         showColSeparator: false
c4040560b58d initial checkin
fm
parents:
diff changeset
   184
       )
c4040560b58d initial checkin
fm
parents:
diff changeset
   185
      (DataSetColumnSpec
c4040560b58d initial checkin
fm
parents:
diff changeset
   186
         label: 'Date'
c4040560b58d initial checkin
fm
parents:
diff changeset
   187
         activeHelpKey: ''
c4040560b58d initial checkin
fm
parents:
diff changeset
   188
         labelButtonType: Button
c4040560b58d initial checkin
fm
parents:
diff changeset
   189
         printSelector: date
c4040560b58d initial checkin
fm
parents:
diff changeset
   190
         canSelect: false
c4040560b58d initial checkin
fm
parents:
diff changeset
   191
         showRowSeparator: false
c4040560b58d initial checkin
fm
parents:
diff changeset
   192
         showColSeparator: false
c4040560b58d initial checkin
fm
parents:
diff changeset
   193
       )
c4040560b58d initial checkin
fm
parents:
diff changeset
   194
      )
c4040560b58d initial checkin
fm
parents:
diff changeset
   195
c4040560b58d initial checkin
fm
parents:
diff changeset
   196
    "Modified: / 18-08-2009 / 14:31:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
c4040560b58d initial checkin
fm
parents:
diff changeset
   197
! !
c4040560b58d initial checkin
fm
parents:
diff changeset
   198
c4040560b58d initial checkin
fm
parents:
diff changeset
   199
!WorkingCopyBrowser methodsFor:'accessing'!
c4040560b58d initial checkin
fm
parents:
diff changeset
   200
c4040560b58d initial checkin
fm
parents:
diff changeset
   201
workingCopy
c4040560b58d initial checkin
fm
parents:
diff changeset
   202
c4040560b58d initial checkin
fm
parents:
diff changeset
   203
    ^self model
c4040560b58d initial checkin
fm
parents:
diff changeset
   204
c4040560b58d initial checkin
fm
parents:
diff changeset
   205
    "Created: / 11-04-2008 / 10:20:36 / Jan Vrany <vranyj1@fel.cvut.cz>"
c4040560b58d initial checkin
fm
parents:
diff changeset
   206
    "Modified: / 12-04-2008 / 21:02:26 / Jan Vrany <vranyj1@fel.cvut.cz>"
c4040560b58d initial checkin
fm
parents:
diff changeset
   207
!
c4040560b58d initial checkin
fm
parents:
diff changeset
   208
c4040560b58d initial checkin
fm
parents:
diff changeset
   209
workingCopy: aWorkingCopy
c4040560b58d initial checkin
fm
parents:
diff changeset
   210
c4040560b58d initial checkin
fm
parents:
diff changeset
   211
    self model: aWorkingCopy
c4040560b58d initial checkin
fm
parents:
diff changeset
   212
c4040560b58d initial checkin
fm
parents:
diff changeset
   213
    "Created: / 11-04-2008 / 10:20:22 / Jan Vrany <vranyj1@fel.cvut.cz>"
c4040560b58d initial checkin
fm
parents:
diff changeset
   214
    "Modified: / 12-04-2008 / 21:02:34 / Jan Vrany <vranyj1@fel.cvut.cz>"
c4040560b58d initial checkin
fm
parents:
diff changeset
   215
! !
c4040560b58d initial checkin
fm
parents:
diff changeset
   216
c4040560b58d initial checkin
fm
parents:
diff changeset
   217
!WorkingCopyBrowser methodsFor:'aspects'!
c4040560b58d initial checkin
fm
parents:
diff changeset
   218
c4040560b58d initial checkin
fm
parents:
diff changeset
   219
showOnlyChanged
c4040560b58d initial checkin
fm
parents:
diff changeset
   220
c4040560b58d initial checkin
fm
parents:
diff changeset
   221
    |holder|
c4040560b58d initial checkin
fm
parents:
diff changeset
   222
c4040560b58d initial checkin
fm
parents:
diff changeset
   223
    (holder := builder bindingAt:#showOnlyChanged) isNil ifTrue:[
c4040560b58d initial checkin
fm
parents:
diff changeset
   224
        holder := true asValue.
c4040560b58d initial checkin
fm
parents:
diff changeset
   225
        holder onChangeEvaluate:
c4040560b58d initial checkin
fm
parents:
diff changeset
   226
            [self model changed].
c4040560b58d initial checkin
fm
parents:
diff changeset
   227
        builder aspectAt:#showOnlyChanged put:holder.
c4040560b58d initial checkin
fm
parents:
diff changeset
   228
    ].
c4040560b58d initial checkin
fm
parents:
diff changeset
   229
    ^ holder.
c4040560b58d initial checkin
fm
parents:
diff changeset
   230
c4040560b58d initial checkin
fm
parents:
diff changeset
   231
    "Created: / 21-10-2008 / 18:53:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
c4040560b58d initial checkin
fm
parents:
diff changeset
   232
!
c4040560b58d initial checkin
fm
parents:
diff changeset
   233
c4040560b58d initial checkin
fm
parents:
diff changeset
   234
workingCopyEntriesAspect
c4040560b58d initial checkin
fm
parents:
diff changeset
   235
c4040560b58d initial checkin
fm
parents:
diff changeset
   236
c4040560b58d initial checkin
fm
parents:
diff changeset
   237
    |holder|
c4040560b58d initial checkin
fm
parents:
diff changeset
   238
c4040560b58d initial checkin
fm
parents:
diff changeset
   239
    (holder := builder bindingAt:#workingCopyEntriesAspect) isNil ifTrue:[
c4040560b58d initial checkin
fm
parents:
diff changeset
   240
        holder := (PluggableAdaptor on: self modelHolder)
c4040560b58d initial checkin
fm
parents:
diff changeset
   241
                    getBlock:[:model|self workingCopyEntries]
c4040560b58d initial checkin
fm
parents:
diff changeset
   242
                    putBlock:[:model :value|self error:'Should never be sent']
c4040560b58d initial checkin
fm
parents:
diff changeset
   243
                    updateBlock:[:model :aspect :value|true].
c4040560b58d initial checkin
fm
parents:
diff changeset
   244
        builder aspectAt:#workingCopyEntriesAspect put:holder.
c4040560b58d initial checkin
fm
parents:
diff changeset
   245
    ].
c4040560b58d initial checkin
fm
parents:
diff changeset
   246
    ^ holder.
c4040560b58d initial checkin
fm
parents:
diff changeset
   247
c4040560b58d initial checkin
fm
parents:
diff changeset
   248
    "Created: / 11-04-2008 / 10:24:40 / Jan Vrany <vranyj1@fel.cvut.cz>"
c4040560b58d initial checkin
fm
parents:
diff changeset
   249
    "Modified: / 21-10-2008 / 18:55:05 / Jan Vrany <vranyj1@fel.cvut.cz>"
c4040560b58d initial checkin
fm
parents:
diff changeset
   250
! !
c4040560b58d initial checkin
fm
parents:
diff changeset
   251
c4040560b58d initial checkin
fm
parents:
diff changeset
   252
!WorkingCopyBrowser methodsFor:'hooks'!
c4040560b58d initial checkin
fm
parents:
diff changeset
   253
c4040560b58d initial checkin
fm
parents:
diff changeset
   254
commonPostBuild
c4040560b58d initial checkin
fm
parents:
diff changeset
   255
c4040560b58d initial checkin
fm
parents:
diff changeset
   256
    ^self model changed
c4040560b58d initial checkin
fm
parents:
diff changeset
   257
c4040560b58d initial checkin
fm
parents:
diff changeset
   258
    "Created: / 11-04-2008 / 10:33:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
c4040560b58d initial checkin
fm
parents:
diff changeset
   259
    "Modified: / 12-04-2008 / 21:05:05 / Jan Vrany <vranyj1@fel.cvut.cz>"
c4040560b58d initial checkin
fm
parents:
diff changeset
   260
! !
c4040560b58d initial checkin
fm
parents:
diff changeset
   261
c4040560b58d initial checkin
fm
parents:
diff changeset
   262
!WorkingCopyBrowser methodsFor:'menu actions'!
c4040560b58d initial checkin
fm
parents:
diff changeset
   263
c4040560b58d initial checkin
fm
parents:
diff changeset
   264
menuActionShowChanges
c4040560b58d initial checkin
fm
parents:
diff changeset
   265
c4040560b58d initial checkin
fm
parents:
diff changeset
   266
    | entry log revision |
c4040560b58d initial checkin
fm
parents:
diff changeset
   267
    entry := self selection.
c4040560b58d initial checkin
fm
parents:
diff changeset
   268
    log := self model branch log: entry path.
c4040560b58d initial checkin
fm
parents:
diff changeset
   269
    revision := SVN::RevisionSelectionDialog openOn: log.
c4040560b58d initial checkin
fm
parents:
diff changeset
   270
    revision ifNotNil:
c4040560b58d initial checkin
fm
parents:
diff changeset
   271
        [self menuActionShowChangesAgainst: revision]
c4040560b58d initial checkin
fm
parents:
diff changeset
   272
c4040560b58d initial checkin
fm
parents:
diff changeset
   273
    "Modified: / 22-10-2008 / 11:31:16 / Jan Vrany <vranyj1@fel.cvut.cz>"
c4040560b58d initial checkin
fm
parents:
diff changeset
   274
!
c4040560b58d initial checkin
fm
parents:
diff changeset
   275
c4040560b58d initial checkin
fm
parents:
diff changeset
   276
menuActionShowChangesAgainst: rev
c4040560b58d initial checkin
fm
parents:
diff changeset
   277
c4040560b58d initial checkin
fm
parents:
diff changeset
   278
    | wc entry wcChangeSet repoChangeSet |
c4040560b58d initial checkin
fm
parents:
diff changeset
   279
    wc := self model.
c4040560b58d initial checkin
fm
parents:
diff changeset
   280
    entry := self selection.
c4040560b58d initial checkin
fm
parents:
diff changeset
   281
    wcChangeSet := wc changeSetForContainer: entry path.
c4040560b58d initial checkin
fm
parents:
diff changeset
   282
    repoChangeSet := wc branch changeSetForContainer: entry path revision: rev.
c4040560b58d initial checkin
fm
parents:
diff changeset
   283
    Tools::SmalltalkDiffTool
c4040560b58d initial checkin
fm
parents:
diff changeset
   284
        openOnDiffSet: (wcChangeSet diffSetsAgainst: repoChangeSet)
c4040560b58d initial checkin
fm
parents:
diff changeset
   285
        labelA: 'Working copy'
c4040560b58d initial checkin
fm
parents:
diff changeset
   286
        labelB: 'Revision ', rev printString
c4040560b58d initial checkin
fm
parents:
diff changeset
   287
        title: 'Changes for ', entry path
c4040560b58d initial checkin
fm
parents:
diff changeset
   288
c4040560b58d initial checkin
fm
parents:
diff changeset
   289
    "Created: / 09-10-2008 / 20:14:24 / Jan Vrany <vranyj1@fel.cvut.cz>"
c4040560b58d initial checkin
fm
parents:
diff changeset
   290
    "Modified: / 09-08-2009 / 14:14:21 / Jan Vrany <vranyj1@fel.cvut.cz>"
c4040560b58d initial checkin
fm
parents:
diff changeset
   291
!
c4040560b58d initial checkin
fm
parents:
diff changeset
   292
c4040560b58d initial checkin
fm
parents:
diff changeset
   293
menuActionShowChangesAgainstHEAD
c4040560b58d initial checkin
fm
parents:
diff changeset
   294
c4040560b58d initial checkin
fm
parents:
diff changeset
   295
    self menuActionShowChangesAgainst: SVN::Revision head
c4040560b58d initial checkin
fm
parents:
diff changeset
   296
c4040560b58d initial checkin
fm
parents:
diff changeset
   297
    "Modified: / 09-10-2008 / 20:30:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
c4040560b58d initial checkin
fm
parents:
diff changeset
   298
! !
c4040560b58d initial checkin
fm
parents:
diff changeset
   299
c4040560b58d initial checkin
fm
parents:
diff changeset
   300
!WorkingCopyBrowser methodsFor:'private'!
c4040560b58d initial checkin
fm
parents:
diff changeset
   301
c4040560b58d initial checkin
fm
parents:
diff changeset
   302
workingCopyEntries
c4040560b58d initial checkin
fm
parents:
diff changeset
   303
    | status |
c4040560b58d initial checkin
fm
parents:
diff changeset
   304
c4040560b58d initial checkin
fm
parents:
diff changeset
   305
    status := self model status.
c4040560b58d initial checkin
fm
parents:
diff changeset
   306
    ^ self showOnlyChanged value 
c4040560b58d initial checkin
fm
parents:
diff changeset
   307
        ifTrue: [ status reject: [:entry | entry status isNormal ] ]
c4040560b58d initial checkin
fm
parents:
diff changeset
   308
        ifFalse: [ status ]
c4040560b58d initial checkin
fm
parents:
diff changeset
   309
c4040560b58d initial checkin
fm
parents:
diff changeset
   310
    "Created: / 21-10-2008 / 18:55:34 / Jan Vrany <vranyj1@fel.cvut.cz>"
c4040560b58d initial checkin
fm
parents:
diff changeset
   311
    "Modified: / 18-08-2009 / 09:12:04 / Jan Vrany <vranyj1@fel.cvut.cz>"
c4040560b58d initial checkin
fm
parents:
diff changeset
   312
! !
c4040560b58d initial checkin
fm
parents:
diff changeset
   313
c4040560b58d initial checkin
fm
parents:
diff changeset
   314
!WorkingCopyBrowser class methodsFor:'documentation'!
c4040560b58d initial checkin
fm
parents:
diff changeset
   315
c4040560b58d initial checkin
fm
parents:
diff changeset
   316
version
c4040560b58d initial checkin
fm
parents:
diff changeset
   317
    ^ '$Header$'
c4040560b58d initial checkin
fm
parents:
diff changeset
   318
! !