SVN__BranchSelectionDialog.st
author fm
Thu, 08 Oct 2009 14:00:52 +0200
changeset 320 02b3b8b64cd2
parent 130 dba6cd731a43
child 436 7811dd25c1b2
permissions -rw-r--r--
update #version_SVN with § as keyword expansion character
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
47
ecc4980a906b initial checkin
fm
parents:
diff changeset
     1
"{ Package: 'cvut:stx/goodies/libsvn' }"
ecc4980a906b initial checkin
fm
parents:
diff changeset
     2
ecc4980a906b initial checkin
fm
parents:
diff changeset
     3
"{ NameSpace: SVN }"
ecc4980a906b initial checkin
fm
parents:
diff changeset
     4
ecc4980a906b initial checkin
fm
parents:
diff changeset
     5
Dialog subclass:#BranchSelectionDialog
ecc4980a906b initial checkin
fm
parents:
diff changeset
     6
	instanceVariableNames:''
ecc4980a906b initial checkin
fm
parents:
diff changeset
     7
	classVariableNames:''
ecc4980a906b initial checkin
fm
parents:
diff changeset
     8
	poolDictionaries:''
ecc4980a906b initial checkin
fm
parents:
diff changeset
     9
	category:'SVN-UI-Dialogs'
ecc4980a906b initial checkin
fm
parents:
diff changeset
    10
!
ecc4980a906b initial checkin
fm
parents:
diff changeset
    11
ecc4980a906b initial checkin
fm
parents:
diff changeset
    12
!BranchSelectionDialog class methodsFor:'documentation'!
ecc4980a906b initial checkin
fm
parents:
diff changeset
    13
ecc4980a906b initial checkin
fm
parents:
diff changeset
    14
documentation
ecc4980a906b initial checkin
fm
parents:
diff changeset
    15
"
ecc4980a906b initial checkin
fm
parents:
diff changeset
    16
    documentation to be added.
ecc4980a906b initial checkin
fm
parents:
diff changeset
    17
ecc4980a906b initial checkin
fm
parents:
diff changeset
    18
    [author:]
ecc4980a906b initial checkin
fm
parents:
diff changeset
    19
        Jan Vrany (janfrog@bruxa)
ecc4980a906b initial checkin
fm
parents:
diff changeset
    20
ecc4980a906b initial checkin
fm
parents:
diff changeset
    21
    [instance variables:]
ecc4980a906b initial checkin
fm
parents:
diff changeset
    22
ecc4980a906b initial checkin
fm
parents:
diff changeset
    23
    [class variables:]
ecc4980a906b initial checkin
fm
parents:
diff changeset
    24
ecc4980a906b initial checkin
fm
parents:
diff changeset
    25
    [see also:]
ecc4980a906b initial checkin
fm
parents:
diff changeset
    26
ecc4980a906b initial checkin
fm
parents:
diff changeset
    27
"
ecc4980a906b initial checkin
fm
parents:
diff changeset
    28
!
ecc4980a906b initial checkin
fm
parents:
diff changeset
    29
ecc4980a906b initial checkin
fm
parents:
diff changeset
    30
examples
ecc4980a906b initial checkin
fm
parents:
diff changeset
    31
"
ecc4980a906b initial checkin
fm
parents:
diff changeset
    32
  Starting the application:
ecc4980a906b initial checkin
fm
parents:
diff changeset
    33
                                                                [exBegin]
ecc4980a906b initial checkin
fm
parents:
diff changeset
    34
    SVN::BranchSelectionDialog open
ecc4980a906b initial checkin
fm
parents:
diff changeset
    35
ecc4980a906b initial checkin
fm
parents:
diff changeset
    36
                                                                [exEnd]
ecc4980a906b initial checkin
fm
parents:
diff changeset
    37
ecc4980a906b initial checkin
fm
parents:
diff changeset
    38
  more examples to be added:
ecc4980a906b initial checkin
fm
parents:
diff changeset
    39
                                                                [exBegin]
ecc4980a906b initial checkin
fm
parents:
diff changeset
    40
    ... add code fragment for 
ecc4980a906b initial checkin
fm
parents:
diff changeset
    41
    ... executable example here ...
ecc4980a906b initial checkin
fm
parents:
diff changeset
    42
                                                                [exEnd]
ecc4980a906b initial checkin
fm
parents:
diff changeset
    43
"
ecc4980a906b initial checkin
fm
parents:
diff changeset
    44
!
ecc4980a906b initial checkin
fm
parents:
diff changeset
    45
ecc4980a906b initial checkin
fm
parents:
diff changeset
    46
history
ecc4980a906b initial checkin
fm
parents:
diff changeset
    47
    "Created: / 11-04-2008 / 13:46:09 / Jan Vrany <vranyj1@fel.cvut.cz>"
ecc4980a906b initial checkin
fm
parents:
diff changeset
    48
! !
ecc4980a906b initial checkin
fm
parents:
diff changeset
    49
ecc4980a906b initial checkin
fm
parents:
diff changeset
    50
!BranchSelectionDialog class methodsFor:'interface specs'!
ecc4980a906b initial checkin
fm
parents:
diff changeset
    51
ecc4980a906b initial checkin
fm
parents:
diff changeset
    52
contentSpec
ecc4980a906b initial checkin
fm
parents:
diff changeset
    53
    "This resource specification was automatically generated
ecc4980a906b initial checkin
fm
parents:
diff changeset
    54
     by the UIPainter of ST/X."
ecc4980a906b initial checkin
fm
parents:
diff changeset
    55
ecc4980a906b initial checkin
fm
parents:
diff changeset
    56
    "Do not manually edit this!! If it is corrupted,
ecc4980a906b initial checkin
fm
parents:
diff changeset
    57
     the UIPainter may not be able to read the specification."
ecc4980a906b initial checkin
fm
parents:
diff changeset
    58
ecc4980a906b initial checkin
fm
parents:
diff changeset
    59
    "
ecc4980a906b initial checkin
fm
parents:
diff changeset
    60
     UIPainter new openOnClass:SVN::BranchSelectionDialog andSelector:#dialogSpec
ecc4980a906b initial checkin
fm
parents:
diff changeset
    61
     SVN::BranchSelectionDialog new openInterface:#dialogSpec
ecc4980a906b initial checkin
fm
parents:
diff changeset
    62
    "
ecc4980a906b initial checkin
fm
parents:
diff changeset
    63
ecc4980a906b initial checkin
fm
parents:
diff changeset
    64
    <resource: #canvas>
ecc4980a906b initial checkin
fm
parents:
diff changeset
    65
ecc4980a906b initial checkin
fm
parents:
diff changeset
    66
    ^ 
ecc4980a906b initial checkin
fm
parents:
diff changeset
    67
     #(FullSpec
ecc4980a906b initial checkin
fm
parents:
diff changeset
    68
        name: dialogSpec
ecc4980a906b initial checkin
fm
parents:
diff changeset
    69
        window: 
ecc4980a906b initial checkin
fm
parents:
diff changeset
    70
       (WindowSpec
ecc4980a906b initial checkin
fm
parents:
diff changeset
    71
          label: 'NewApplication'
ecc4980a906b initial checkin
fm
parents:
diff changeset
    72
          name: 'NewApplication'
ecc4980a906b initial checkin
fm
parents:
diff changeset
    73
          min: (Point 10 10)
ecc4980a906b initial checkin
fm
parents:
diff changeset
    74
          bounds: (Rectangle 0 0 300 300)
ecc4980a906b initial checkin
fm
parents:
diff changeset
    75
        )
ecc4980a906b initial checkin
fm
parents:
diff changeset
    76
        component: 
ecc4980a906b initial checkin
fm
parents:
diff changeset
    77
       (SpecCollection
ecc4980a906b initial checkin
fm
parents:
diff changeset
    78
          collection: (
ecc4980a906b initial checkin
fm
parents:
diff changeset
    79
           (SelectionInListModelViewSpec
ecc4980a906b initial checkin
fm
parents:
diff changeset
    80
              name: 'BranchList'
ecc4980a906b initial checkin
fm
parents:
diff changeset
    81
              layout: (LayoutFrame 0 0 0 0 0 1 -25 1)
ecc4980a906b initial checkin
fm
parents:
diff changeset
    82
              model: branchAspect
ecc4980a906b initial checkin
fm
parents:
diff changeset
    83
              hasHorizontalScrollBar: true
ecc4980a906b initial checkin
fm
parents:
diff changeset
    84
              hasVerticalScrollBar: true
ecc4980a906b initial checkin
fm
parents:
diff changeset
    85
              listModel: branchesAspect
ecc4980a906b initial checkin
fm
parents:
diff changeset
    86
              useIndex: false
ecc4980a906b initial checkin
fm
parents:
diff changeset
    87
              highlightMode: line
ecc4980a906b initial checkin
fm
parents:
diff changeset
    88
            )
ecc4980a906b initial checkin
fm
parents:
diff changeset
    89
           (CheckBoxSpec
ecc4980a906b initial checkin
fm
parents:
diff changeset
    90
              label: 'Show tags'
ecc4980a906b initial checkin
fm
parents:
diff changeset
    91
              name: 'ShowTags'
ecc4980a906b initial checkin
fm
parents:
diff changeset
    92
              layout: (LayoutFrame 0 0 -25 1 0 1 0 1)
ecc4980a906b initial checkin
fm
parents:
diff changeset
    93
              initiallyDisabled: true
ecc4980a906b initial checkin
fm
parents:
diff changeset
    94
              model: showTagsAspect
ecc4980a906b initial checkin
fm
parents:
diff changeset
    95
              translateLabel: true
ecc4980a906b initial checkin
fm
parents:
diff changeset
    96
            )
ecc4980a906b initial checkin
fm
parents:
diff changeset
    97
           )
ecc4980a906b initial checkin
fm
parents:
diff changeset
    98
         
ecc4980a906b initial checkin
fm
parents:
diff changeset
    99
        )
ecc4980a906b initial checkin
fm
parents:
diff changeset
   100
      )
ecc4980a906b initial checkin
fm
parents:
diff changeset
   101
ecc4980a906b initial checkin
fm
parents:
diff changeset
   102
    "Created: / 21-10-2008 / 12:37:01 / Jan Vrany <vranyj1@fel.cvut.cz>"
ecc4980a906b initial checkin
fm
parents:
diff changeset
   103
! !
ecc4980a906b initial checkin
fm
parents:
diff changeset
   104
ecc4980a906b initial checkin
fm
parents:
diff changeset
   105
!BranchSelectionDialog methodsFor:'accessing'!
ecc4980a906b initial checkin
fm
parents:
diff changeset
   106
ecc4980a906b initial checkin
fm
parents:
diff changeset
   107
answerValueSelector
ecc4980a906b initial checkin
fm
parents:
diff changeset
   108
    "Superclass SVN::Dialog says that I am responsible to implement this method"
ecc4980a906b initial checkin
fm
parents:
diff changeset
   109
ecc4980a906b initial checkin
fm
parents:
diff changeset
   110
    ^#branchAspect
ecc4980a906b initial checkin
fm
parents:
diff changeset
   111
ecc4980a906b initial checkin
fm
parents:
diff changeset
   112
    "Created: / 19-04-2008 / 13:15:20 / Jan Vrany <vranyj1@fel.cvut.cz>"
ecc4980a906b initial checkin
fm
parents:
diff changeset
   113
!
ecc4980a906b initial checkin
fm
parents:
diff changeset
   114
ecc4980a906b initial checkin
fm
parents:
diff changeset
   115
defaultTitle
ecc4980a906b initial checkin
fm
parents:
diff changeset
   116
    "Superclass SVN::Dialog says that I am responsible to implement this method"
ecc4980a906b initial checkin
fm
parents:
diff changeset
   117
    
ecc4980a906b initial checkin
fm
parents:
diff changeset
   118
    ^ 'Select branch for ' , self model package asText allItalic
ecc4980a906b initial checkin
fm
parents:
diff changeset
   119
ecc4980a906b initial checkin
fm
parents:
diff changeset
   120
    "Created: / 03-10-2008 / 13:58:40 / Jan Vrany <vranyj1@fel.cvut.cz>"
ecc4980a906b initial checkin
fm
parents:
diff changeset
   121
! !
ecc4980a906b initial checkin
fm
parents:
diff changeset
   122
ecc4980a906b initial checkin
fm
parents:
diff changeset
   123
!BranchSelectionDialog methodsFor:'aspects'!
ecc4980a906b initial checkin
fm
parents:
diff changeset
   124
ecc4980a906b initial checkin
fm
parents:
diff changeset
   125
branchAspect
ecc4980a906b initial checkin
fm
parents:
diff changeset
   126
    "automatically generated by UIPainter ..."
ecc4980a906b initial checkin
fm
parents:
diff changeset
   127
ecc4980a906b initial checkin
fm
parents:
diff changeset
   128
    "*** the code below creates a default model when invoked."
ecc4980a906b initial checkin
fm
parents:
diff changeset
   129
    "*** (which may not be the one you wanted)"
ecc4980a906b initial checkin
fm
parents:
diff changeset
   130
    "*** Please change as required and accept it in the browser."
ecc4980a906b initial checkin
fm
parents:
diff changeset
   131
    "*** (and replace this comment by something more useful ;-)"
ecc4980a906b initial checkin
fm
parents:
diff changeset
   132
ecc4980a906b initial checkin
fm
parents:
diff changeset
   133
    |holder|
ecc4980a906b initial checkin
fm
parents:
diff changeset
   134
ecc4980a906b initial checkin
fm
parents:
diff changeset
   135
    (holder := builder bindingAt:#branchAspect) isNil ifTrue:[
ecc4980a906b initial checkin
fm
parents:
diff changeset
   136
        holder := nil asValue.
ecc4980a906b initial checkin
fm
parents:
diff changeset
   137
        builder aspectAt:#branchAspect put:holder.
ecc4980a906b initial checkin
fm
parents:
diff changeset
   138
"/ if your app needs to be notified of changes, uncomment one of the lines below:
ecc4980a906b initial checkin
fm
parents:
diff changeset
   139
"/        holder addDependent:self.
ecc4980a906b initial checkin
fm
parents:
diff changeset
   140
"/        holder onChangeSend:#branchAspectChanged to:self.
ecc4980a906b initial checkin
fm
parents:
diff changeset
   141
    ].
ecc4980a906b initial checkin
fm
parents:
diff changeset
   142
    ^ holder.
ecc4980a906b initial checkin
fm
parents:
diff changeset
   143
ecc4980a906b initial checkin
fm
parents:
diff changeset
   144
    "Created: / 14-04-2008 / 10:55:11 / Jan Vrany <vranyj1@fel.cvut.cz>"
ecc4980a906b initial checkin
fm
parents:
diff changeset
   145
!
ecc4980a906b initial checkin
fm
parents:
diff changeset
   146
ecc4980a906b initial checkin
fm
parents:
diff changeset
   147
branchesAspect
ecc4980a906b initial checkin
fm
parents:
diff changeset
   148
    "automatically generated by UIPainter ..."
ecc4980a906b initial checkin
fm
parents:
diff changeset
   149
ecc4980a906b initial checkin
fm
parents:
diff changeset
   150
    "*** the code below creates a default model when invoked."
ecc4980a906b initial checkin
fm
parents:
diff changeset
   151
    "*** (which may not be the one you wanted)"
ecc4980a906b initial checkin
fm
parents:
diff changeset
   152
    "*** Please change as required and accept it in the browser."
ecc4980a906b initial checkin
fm
parents:
diff changeset
   153
    "*** (and replace this comment by something more useful ;-)"
ecc4980a906b initial checkin
fm
parents:
diff changeset
   154
ecc4980a906b initial checkin
fm
parents:
diff changeset
   155
    |holder|
ecc4980a906b initial checkin
fm
parents:
diff changeset
   156
ecc4980a906b initial checkin
fm
parents:
diff changeset
   157
    (holder := builder bindingAt:#branchesAspect) isNil ifTrue:[
ecc4980a906b initial checkin
fm
parents:
diff changeset
   158
        holder := (PluggableAdaptor on: self model)
ecc4980a906b initial checkin
fm
parents:
diff changeset
   159
                    getBlock:[:model|
ecc4980a906b initial checkin
fm
parents:
diff changeset
   160
                        self showTagsAspect value
ecc4980a906b initial checkin
fm
parents:
diff changeset
   161
                            ifTrue:[model value branchesAndTags]
ecc4980a906b initial checkin
fm
parents:
diff changeset
   162
                            ifFalse:[model value branches]]
ecc4980a906b initial checkin
fm
parents:
diff changeset
   163
                    putBlock:[:model :value|]
ecc4980a906b initial checkin
fm
parents:
diff changeset
   164
                    updateBlock:[:model :aspect :value|true]
ecc4980a906b initial checkin
fm
parents:
diff changeset
   165
    ].
ecc4980a906b initial checkin
fm
parents:
diff changeset
   166
ecc4980a906b initial checkin
fm
parents:
diff changeset
   167
    ^ holder.
ecc4980a906b initial checkin
fm
parents:
diff changeset
   168
ecc4980a906b initial checkin
fm
parents:
diff changeset
   169
    "Created: / 14-04-2008 / 10:55:11 / Jan Vrany <vranyj1@fel.cvut.cz>"
ecc4980a906b initial checkin
fm
parents:
diff changeset
   170
!
ecc4980a906b initial checkin
fm
parents:
diff changeset
   171
ecc4980a906b initial checkin
fm
parents:
diff changeset
   172
canDoAcceptAspect
ecc4980a906b initial checkin
fm
parents:
diff changeset
   173
ecc4980a906b initial checkin
fm
parents:
diff changeset
   174
    |holder|
ecc4980a906b initial checkin
fm
parents:
diff changeset
   175
ecc4980a906b initial checkin
fm
parents:
diff changeset
   176
    (holder := builder bindingAt:#canDoAcceptAspect) isNil ifTrue:[
ecc4980a906b initial checkin
fm
parents:
diff changeset
   177
        holder := (AspectAdaptor forAspect: #notNil)
ecc4980a906b initial checkin
fm
parents:
diff changeset
   178
            subjectChannel: self branchAspect.
ecc4980a906b initial checkin
fm
parents:
diff changeset
   179
        builder aspectAt:#canDoAcceptAspect put: holder
ecc4980a906b initial checkin
fm
parents:
diff changeset
   180
    ].
ecc4980a906b initial checkin
fm
parents:
diff changeset
   181
        ^ holder.
ecc4980a906b initial checkin
fm
parents:
diff changeset
   182
ecc4980a906b initial checkin
fm
parents:
diff changeset
   183
    "Created: / 14-04-2008 / 11:19:21 / Jan Vrany <vranyj1@fel.cvut.cz>"
ecc4980a906b initial checkin
fm
parents:
diff changeset
   184
!
ecc4980a906b initial checkin
fm
parents:
diff changeset
   185
ecc4980a906b initial checkin
fm
parents:
diff changeset
   186
showTagsAspect
ecc4980a906b initial checkin
fm
parents:
diff changeset
   187
    "automatically generated by UIPainter ..."
ecc4980a906b initial checkin
fm
parents:
diff changeset
   188
ecc4980a906b initial checkin
fm
parents:
diff changeset
   189
    "*** the code below creates a default model when invoked."
ecc4980a906b initial checkin
fm
parents:
diff changeset
   190
    "*** (which may not be the one you wanted)"
ecc4980a906b initial checkin
fm
parents:
diff changeset
   191
    "*** Please change as required and accept it in the browser."
ecc4980a906b initial checkin
fm
parents:
diff changeset
   192
    "*** (and replace this comment by something more useful ;-)"
ecc4980a906b initial checkin
fm
parents:
diff changeset
   193
ecc4980a906b initial checkin
fm
parents:
diff changeset
   194
    |holder|
ecc4980a906b initial checkin
fm
parents:
diff changeset
   195
ecc4980a906b initial checkin
fm
parents:
diff changeset
   196
    (holder := builder bindingAt:#showTagsAspect) isNil ifTrue:[
ecc4980a906b initial checkin
fm
parents:
diff changeset
   197
        holder := false asValue.
ecc4980a906b initial checkin
fm
parents:
diff changeset
   198
        builder aspectAt:#showTagsAspect put:holder.
ecc4980a906b initial checkin
fm
parents:
diff changeset
   199
"/ if your app needs to be notified of changes, uncomment one of the lines below:
ecc4980a906b initial checkin
fm
parents:
diff changeset
   200
"/        holder addDependent:self.
ecc4980a906b initial checkin
fm
parents:
diff changeset
   201
          holder onChangeEvaluate:[self branchesAspect changed].
ecc4980a906b initial checkin
fm
parents:
diff changeset
   202
    ].
ecc4980a906b initial checkin
fm
parents:
diff changeset
   203
    ^ holder.
ecc4980a906b initial checkin
fm
parents:
diff changeset
   204
ecc4980a906b initial checkin
fm
parents:
diff changeset
   205
    "Created: / 14-04-2008 / 10:55:11 / Jan Vrany <vranyj1@fel.cvut.cz>"
ecc4980a906b initial checkin
fm
parents:
diff changeset
   206
! !
ecc4980a906b initial checkin
fm
parents:
diff changeset
   207
ecc4980a906b initial checkin
fm
parents:
diff changeset
   208
!BranchSelectionDialog methodsFor:'drag & drop'!
ecc4980a906b initial checkin
fm
parents:
diff changeset
   209
ecc4980a906b initial checkin
fm
parents:
diff changeset
   210
dropObjects:aCollectionOfDropObjects in:aComponent
ecc4980a906b initial checkin
fm
parents:
diff changeset
   211
    "drop manager wants to drop.
ecc4980a906b initial checkin
fm
parents:
diff changeset
   212
     This is ony sent, if #canDrop: returned true.
ecc4980a906b initial checkin
fm
parents:
diff changeset
   213
     Must be redefine in order for drop to work."
ecc4980a906b initial checkin
fm
parents:
diff changeset
   214
ecc4980a906b initial checkin
fm
parents:
diff changeset
   215
    self shouldImplement
ecc4980a906b initial checkin
fm
parents:
diff changeset
   216
ecc4980a906b initial checkin
fm
parents:
diff changeset
   217
    "Created: / 19-04-2008 / 13:15:20 / Jan Vrany <vranyj1@fel.cvut.cz>"
ecc4980a906b initial checkin
fm
parents:
diff changeset
   218
! !
ecc4980a906b initial checkin
fm
parents:
diff changeset
   219
ecc4980a906b initial checkin
fm
parents:
diff changeset
   220
!BranchSelectionDialog class methodsFor:'documentation'!
ecc4980a906b initial checkin
fm
parents:
diff changeset
   221
ecc4980a906b initial checkin
fm
parents:
diff changeset
   222
version
ecc4980a906b initial checkin
fm
parents:
diff changeset
   223
    ^ '$Header$'
130
dba6cd731a43 changed: #version_SVN
fm
parents: 47
diff changeset
   224
!
dba6cd731a43 changed: #version_SVN
fm
parents: 47
diff changeset
   225
dba6cd731a43 changed: #version_SVN
fm
parents: 47
diff changeset
   226
version_CVS
dba6cd731a43 changed: #version_SVN
fm
parents: 47
diff changeset
   227
    ^ '$Header$'
dba6cd731a43 changed: #version_SVN
fm
parents: 47
diff changeset
   228
!
dba6cd731a43 changed: #version_SVN
fm
parents: 47
diff changeset
   229
dba6cd731a43 changed: #version_SVN
fm
parents: 47
diff changeset
   230
version_SVN
320
02b3b8b64cd2 update #version_SVN with § as keyword expansion character
fm
parents: 130
diff changeset
   231
    ^'§Id: SVN__BranchSelectionDialog.st 70 2009-04-16 12:47:44Z vranyj1 §'
47
ecc4980a906b initial checkin
fm
parents:
diff changeset
   232
! !