MCCommitDialog.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 23 Aug 2011 15:46:54 +0200
changeset 440 da9c1bbb1a61
parent 360 49f34323f6c6
child 529 d0d668b95c4c
permissions -rw-r--r--
Fixes
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/monticello' }"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
MCDialog subclass:#MCCommitDialog
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'workingCopyHolder repositoryHolder versionNameHolder
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
		messageHolder messageView'
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	classVariableNames:''
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	poolDictionaries:''
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
	category:'Monticello-St/X UI'
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
!MCCommitDialog class methodsFor:'interface specs'!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
contentSpec
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
    "This resource specification was automatically generated
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
     by the UIPainter of ST/X."
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
    "Do not manually edit this!! If it is corrupted,
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
     the UIPainter may not be able to read the specification."
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
    "
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
     UIPainter new openOnClass:MCCommitDialog andSelector:#contentSpec
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
     MCCommitDialog new openInterface:#contentSpec
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
    "
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
    <resource: #canvas>
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
    ^ 
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
     #(FullSpec
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
        name: contentSpec
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
        window: 
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
       (WindowSpec
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
          label: 'Commit Dialog'
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
          name: 'Commit Dialog'
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
          min: (Point 10 10)
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
          bounds: (Rectangle 0 0 300 300)
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
        )
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
        component: 
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
       (SpecCollection
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
          collection: (
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
           (ComboListSpec
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
              name: 'RepositoryList'
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
              layout: (LayoutFrame 0 0 0 0 0 1 25 0)
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
              model: repositoryHolder
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
              comboList: repositoryList
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
              useIndex: false
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
            )
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
           (InputFieldSpec
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
              name: 'VersionName'
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
              layout: (LayoutFrame 0 0 30 0 0 1 55 0)
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
              model: versionNameHolder
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
              immediateAccept: true
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
              acceptOnReturn: true
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
              acceptOnTab: true
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
              acceptOnPointerLeave: true
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
            )
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
           (TextEditorSpec
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
              name: 'CommitMessage'
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
              layout: (LayoutFrame 0 0 60 0 0 1 0 1)
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
              model: messageHolder
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
              hasHorizontalScrollBar: true
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
              hasVerticalScrollBar: true
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
              hasKeyboardFocusInitially: false
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
              postBuildCallback: postBuildMessageView:
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
            )
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
           )
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
         
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
        )
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
      )
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
! !
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
!MCCommitDialog methodsFor:'accessing'!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
workingCopy: aMCWorkingCopy
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
    ^self workingCopyHolder value: aMCWorkingCopy
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
    "Created: / 14-09-2010 / 23:43:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
! !
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
!MCCommitDialog methodsFor:'accessing - defaults'!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
defaultTitle
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
    "superclass MCDialog says that I am responsible to implement this method"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
    ^ 'Commit'
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
    "Modified: / 14-09-2010 / 23:00:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
! !
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
!MCCommitDialog methodsFor:'actions'!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
doAccept
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
    | workingCopy version repository |
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
    self acceptEnabled ifFalse:[^self].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
    workingCopy := self workingCopyHolder value.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
    [version := workingCopy newVersion]
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
                on: MCVersionNameAndMessageRequest
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
                do: [:n | 
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
                    n resume: 
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
                        (Array  with: self versionNameHolder value 
440
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 360
diff changeset
   104
                                with: messageView contents asText string)].
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
    repository := self repositoryHolder value.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
    repository storeVersion: version.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
    super doAccept.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
    "Created: / 15-09-2010 / 14:07:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
! !
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
!MCCommitDialog methodsFor:'aspects'!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
messageHolder
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
    "return/create the 'messageHolder' value holder (automatically generated)"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
    messageHolder isNil ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
        messageHolder := ValueHolder with: ('Commit message' asText colorizeAllWith: Color gray).
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
        messageHolder addDependent:self.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
    ^ messageHolder
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
    "Modified: / 15-09-2010 / 13:58:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
messageHolder:something
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
    "set the 'messageHolder' value holder (automatically generated)"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
    |oldValue newValue|
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
    messageHolder notNil ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
        oldValue := messageHolder value.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
        messageHolder removeDependent:self.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
    messageHolder := something.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
    messageHolder notNil ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
        messageHolder addDependent:self.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
    newValue := messageHolder value.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
    oldValue ~~ newValue ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
        self update:#value with:newValue from:messageHolder.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
repositoryHolder
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
    "return/create the 'repositoryHolder' value holder (automatically generated)"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
    repositoryHolder isNil ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
        repositoryHolder := ValueHolder new.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
        repositoryHolder addDependent:self.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
    ^ repositoryHolder
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
repositoryHolder:something
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
    "set the 'repositoryHolder' value holder (automatically generated)"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
    |oldValue newValue|
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
    repositoryHolder notNil ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
        oldValue := repositoryHolder value.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
        repositoryHolder removeDependent:self.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
    repositoryHolder := something.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
    repositoryHolder notNil ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
        repositoryHolder addDependent:self.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
    newValue := repositoryHolder value.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
    oldValue ~~ newValue ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
        self update:#value with:newValue from:repositoryHolder.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
repositoryList
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
    ^[MCRepositoryGroup default repositories]
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
    "Created: / 14-09-2010 / 23:16:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
versionNameHolder
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
    "return/create the 'versionNameHolder' value holder (automatically generated)"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
    versionNameHolder isNil ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
        versionNameHolder := ValueHolder new.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
        versionNameHolder addDependent:self.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
    ^ versionNameHolder
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
versionNameHolder:something
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
    "set the 'versionNameHolder' value holder (automatically generated)"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
    |oldValue newValue|
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
    versionNameHolder notNil ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
        oldValue := versionNameHolder value.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
        versionNameHolder removeDependent:self.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
    versionNameHolder := something.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
    versionNameHolder notNil ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
        versionNameHolder addDependent:self.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
    newValue := versionNameHolder value.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
    oldValue ~~ newValue ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
        self update:#value with:newValue from:versionNameHolder.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
workingCopyHolder
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
    "return/create the 'workingCopyHolder' value holder (automatically generated)"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
    workingCopyHolder isNil ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
        workingCopyHolder := ValueHolder new.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
        workingCopyHolder addDependent:self.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
    ^ workingCopyHolder
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
workingCopyHolder:something
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
    "set the 'workingCopyHolder' value holder (automatically generated)"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
    |oldValue newValue|
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
    workingCopyHolder notNil ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
        oldValue := workingCopyHolder value.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
        workingCopyHolder removeDependent:self.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
    workingCopyHolder := something.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
    workingCopyHolder notNil ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
        workingCopyHolder addDependent:self.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
    newValue := workingCopyHolder value.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
    oldValue ~~ newValue ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
        self update:#value with:newValue from:workingCopyHolder.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
! !
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
!MCCommitDialog methodsFor:'change & update'!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
messageChanged
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
    self halt
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
    "Created: / 15-09-2010 / 10:04:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
repositoryChanged
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
    self updateAcceptEnabled
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
    "Created: / 15-09-2010 / 14:02:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
update:something with:aParameter from:changedObject
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
    "Invoked when an object that I depend upon sends a change notification."
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   258
    "stub code automatically generated - please change as required"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   259
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   260
    changedObject == workingCopyHolder ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   261
         self workingCopyChanged.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   262
         ^ self.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   265
    changedObject == messageHolder ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
         self messageChanged.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
         ^ self.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   268
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
    changedObject == repositoryHolder ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   270
         self repositoryChanged.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   271
         ^ self.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   272
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   273
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   274
    super update:something with:aParameter from:changedObject
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   275
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   276
    "Modified: / 15-09-2010 / 14:02:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   277
!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   278
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   279
updateAcceptEnabled
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   280
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   281
    | enabled |
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   282
    enabled := true.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   283
    enabled := enabled and:[self workingCopyHolder value notNil].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   284
    enabled := enabled and:[self repositoryHolder value notNil].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   285
    self acceptEnabledHolder value: enabled.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   286
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   287
    "Created: / 15-09-2010 / 14:01:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   290
workingCopyChanged
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   291
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   292
    | wc |
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   293
    wc := self workingCopyHolder value.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   294
    wc ifNil:[^self].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   295
    self subtitle: wc package name.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   296
    self versionNameHolder value: wc uniqueVersionName.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   297
    self updateAcceptEnabled
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   298
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   299
    "Created: / 15-09-2010 / 09:30:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   300
    "Modified: / 15-09-2010 / 14:01:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   301
! !
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   302
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   303
!MCCommitDialog methodsFor:'hooks'!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   305
postBuildMessageView: aView
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   306
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   307
    messageView := aView scrolledView
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   309
    "Created: / 15-09-2010 / 13:56:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   310
! !
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   311
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   312
!MCCommitDialog class methodsFor:'documentation'!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   313
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   314
version
440
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 360
diff changeset
   315
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCCommitDialog.st,v 1.2 2011-08-23 13:46:54 vrany Exp $'
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   316
!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   317
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   318
version_CVS
440
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 360
diff changeset
   319
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCCommitDialog.st,v 1.2 2011-08-23 13:46:54 vrany Exp $'
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   320
!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   321
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   322
version_SVN
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   323
    ^ '§Id: MCCommitDialog.st 12 2010-09-15 13:13:22Z vranyj1 §'
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   324
! !