MCCommitDialog.st
author Claus Gittinger <cg@exept.de>
Thu, 21 Mar 2013 18:24:56 +0100
changeset 742 65fd0b6f3267
parent 580 d510eb1a7606
child 757 cd87e158094c
permissions -rw-r--r--
class: MCCommitDialog added checkbox for etra stuff; added tooltips
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
742
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
     5
		messageHolder messageView versionNameFinderProcess
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
     6
		includeExtrasForSTX'
569
8ee0dffb7160 class definition
Claus Gittinger <cg@exept.de>
parents: 537
diff changeset
     7
	classVariableNames:'LastRepository'
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
	poolDictionaries:''
580
d510eb1a7606 category change
Claus Gittinger <cg@exept.de>
parents: 573
diff changeset
     9
	category:'SCM-Monticello-St/X UI'
360
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
742
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    13
!MCCommitDialog class methodsFor:'help specs'!
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    14
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    15
flyByHelpSpec
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    16
    "This resource specification was automatically generated
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    17
     by the UIHelpTool of ST/X."
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    18
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    19
    "Do not manually edit this!! If it is corrupted,
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    20
     the UIHelpTool may not be able to read the specification."
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    21
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    22
    "
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    23
     UIHelpTool openOnClass:MCCommitDialog    
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    24
    "
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    25
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    26
    <resource: #help>
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    27
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    28
    ^ super flyByHelpSpec addPairsFrom:#(
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    29
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    30
#commitMessage
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    31
'A log message describing this version (your changes)'
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    32
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    33
#includeExtrasForSTX
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    34
'Include extra support files (makefiles) needed to build a binary class library under ST/X.
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    35
If this is not checked, only the plain code is saved which is needed to load the package as bytecode.
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    36
Notice, that those files are not strictly required - they can easily be recreated by loading the package,
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    37
and then recreating the support files from the system browser on the target system.
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    38
Turn this off, if this package is meant to be transported to or shared with other Smalltalk dialects.
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    39
(however, this is transparent to other Smalltalk dialects - these will simply ignore these additional definitions)'
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    40
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    41
#repository
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    42
'A repository or the name of a directory where the generated package file is to be stored'
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    43
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    44
#versionName
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    45
'The name of the version (will also be the name of the generated package file)'
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    46
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    47
)
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    48
! !
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    49
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
!MCCommitDialog class methodsFor:'interface specs'!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
contentSpec
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
    "This resource specification was automatically generated
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
     by the UIPainter of ST/X."
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
    "Do not manually edit this!! If it is corrupted,
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
     the UIPainter may not be able to read the specification."
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
    "
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
     UIPainter new openOnClass:MCCommitDialog andSelector:#contentSpec
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
     MCCommitDialog new openInterface:#contentSpec
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
    "
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
    <resource: #canvas>
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
     #(FullSpec
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
        name: contentSpec
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
        window: 
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
       (WindowSpec
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
          label: 'Commit Dialog'
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
          name: 'Commit Dialog'
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
          min: (Point 10 10)
742
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    74
          bounds: (Rectangle 0 0 555 303)
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
        )
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
        component: 
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
       (SpecCollection
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
          collection: (
537
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
    79
           (LabelSpec
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
    80
              label: 'Repository:'
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
    81
              name: 'Label1'
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
    82
              layout: (LayoutFrame 3 0 4 0 94 0 26 0)
742
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    83
              activeHelpKey: repository
537
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
    84
              translateLabel: true
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
    85
              adjust: left
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
    86
            )
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
           (ComboListSpec
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
              name: 'RepositoryList'
537
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
    89
              layout: (LayoutFrame 101 0 0 0 0 1 25 0)
742
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    90
              activeHelpKey: repository
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
              model: repositoryHolder
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
              comboList: repositoryList
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
              useIndex: false
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
            )
537
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
    95
           (LabelSpec
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
    96
              label: 'Version:'
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
    97
              name: 'Label2'
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
    98
              layout: (LayoutFrame 3 0 30 0 94 0 52 0)
742
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    99
              activeHelpKey: versionName
537
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   100
              translateLabel: true
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   101
              adjust: left
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   102
            )
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
           (InputFieldSpec
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
              name: 'VersionName'
537
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   105
              layout: (LayoutFrame 101 0 30 0 0 1 55 0)
742
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
   106
              activeHelpKey: versionName
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
              model: versionNameHolder
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
              immediateAccept: true
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
              acceptOnReturn: true
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
              acceptOnTab: true
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
              acceptOnPointerLeave: true
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
            )
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
           (TextEditorSpec
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
              name: 'CommitMessage'
742
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
   115
              layout: (LayoutFrame 0 0 90 0 0 1 0 1)
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
   116
              activeHelpKey: commitMessage
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
              model: messageHolder
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
              hasHorizontalScrollBar: true
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
              hasVerticalScrollBar: true
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
              hasKeyboardFocusInitially: false
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
              postBuildCallback: postBuildMessageView:
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
            )
742
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
   123
           (CheckBoxSpec
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
   124
              label: 'Include ST/X Support Files'
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
   125
              name: 'CheckBox1'
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
   126
              layout: (LayoutFrame 96 0 63 0 232 1 85 0)
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
   127
              activeHelpKey: includeExtrasForSTX
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
   128
              model: includeExtrasForSTX
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
   129
              translateLabel: true
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
   130
            )
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
           )
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
         
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
        )
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
      )
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
! !
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
!MCCommitDialog methodsFor:'accessing'!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
workingCopy: aMCWorkingCopy
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
    ^self workingCopyHolder value: aMCWorkingCopy
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
    "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
   144
! !
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
!MCCommitDialog methodsFor:'accessing - defaults'!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
defaultTitle
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
    "superclass MCDialog says that I am responsible to implement this method"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
537
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   151
    ^ 'Monticello Commit'
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
    "Modified: / 14-09-2010 / 23:00:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
537
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   154
    "Modified: / 02-12-2011 / 15:44:08 / cg"
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
! !
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
!MCCommitDialog methodsFor:'actions'!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
doAccept
537
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   160
    self acceptEnabled ifFalse:[^self].
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
537
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   162
    self withWaitCursorDo:[
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   163
        |workingCopy version repository newVersionString stxPackageID defClass|
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   164
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   165
        workingCopy := self workingCopyHolder value.
569
8ee0dffb7160 class definition
Claus Gittinger <cg@exept.de>
parents: 537
diff changeset
   166
        repository := self repositoryHolder value.
8ee0dffb7160 class definition
Claus Gittinger <cg@exept.de>
parents: 537
diff changeset
   167
        LastRepository := repository.
8ee0dffb7160 class definition
Claus Gittinger <cg@exept.de>
parents: 537
diff changeset
   168
537
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   169
        [
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   170
            version := workingCopy newVersion
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   171
        ] on: MCVersionNameAndMessageRequest do:[:n | 
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   172
            n resume: (Array with: self versionNameHolder value 
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   173
                             with: messageView contents asText string)
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   174
        ].
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   175
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   176
        stxPackageID := version package name.
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   177
        defClass := ProjectDefinition definitionClassForPackage:stxPackageID.
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   178
        newVersionString := MCSourceCodeManager revisionStringForVersion:version.
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
537
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   180
        "/ update all project classes version_MC
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   181
        defClass allClasses do:[:cls |
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   182
            MCSourceCodeManager 
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   183
                updateVersionMethod:(MCSourceCodeManager nameOfVersionMethodInClasses) 
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   184
                of:cls 
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   185
                for:newVersionString.
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   186
        ].
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   187
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   188
        "/ update the project definition classes version_MC
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   189
        MCSourceCodeManager 
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   190
            updateVersionMethod:(MCSourceCodeManager nameOfVersionMethodInClasses) 
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   191
            of:defClass 
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   192
            for:newVersionString.
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   193
        MCSourceCodeManager 
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   194
            updateVersionMethod:(MCSourceCodeManager nameOfVersionMethodForExtensions) 
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   195
            of:defClass 
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   196
            for:newVersionString.
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   197
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   198
        "/ sigh: make a new snapshot (now with updated version methods)
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   199
        version snapshot:version package snapshot.
742
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
   200
        version cachable:false. "/ force new a write (otherwise, the mcz is not rewritten)
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
   201
        version snapshot includeExtrasForSTX:(self includeExtrasForSTX value).
537
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   202
        repository storeVersion: version.
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   203
        super doAccept.
f84d9254b1ba checkin support
Claus Gittinger <cg@exept.de>
parents: 529
diff changeset
   204
    ].
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
    "Created: / 15-09-2010 / 14:07:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
569
8ee0dffb7160 class definition
Claus Gittinger <cg@exept.de>
parents: 537
diff changeset
   207
    "Modified: / 24-07-2012 / 16:33:56 / cg"
360
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
!MCCommitDialog methodsFor:'aspects'!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
742
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
   212
includeExtrasForSTX
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
   213
    includeExtrasForSTX isNil ifTrue:[
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
   214
        includeExtrasForSTX := true asValue.
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
   215
    ].
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
   216
    ^ includeExtrasForSTX
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
   217
!
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
   218
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
messageHolder
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
    "return/create the 'messageHolder' value holder (automatically generated)"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
    messageHolder isNil ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
        messageHolder := ValueHolder with: ('Commit message' asText colorizeAllWith: Color gray).
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
        messageHolder addDependent:self.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
    ^ messageHolder
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
    "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
   229
!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
messageHolder:something
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
    "set the 'messageHolder' value holder (automatically generated)"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
    |oldValue newValue|
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
    messageHolder notNil ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
        oldValue := messageHolder value.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
        messageHolder removeDependent:self.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
    messageHolder := something.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
    messageHolder notNil ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
        messageHolder addDependent:self.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
    newValue := messageHolder value.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
    oldValue ~~ newValue ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
        self update:#value with:newValue from:messageHolder.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
repositoryHolder
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
    "return/create the 'repositoryHolder' value holder (automatically generated)"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
569
8ee0dffb7160 class definition
Claus Gittinger <cg@exept.de>
parents: 537
diff changeset
   253
    |initial|
8ee0dffb7160 class definition
Claus Gittinger <cg@exept.de>
parents: 537
diff changeset
   254
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
    repositoryHolder isNil ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
        repositoryHolder := ValueHolder new.
569
8ee0dffb7160 class definition
Claus Gittinger <cg@exept.de>
parents: 537
diff changeset
   257
        initial := LastRepository.
8ee0dffb7160 class definition
Claus Gittinger <cg@exept.de>
parents: 537
diff changeset
   258
        initial isNil ifTrue:[
8ee0dffb7160 class definition
Claus Gittinger <cg@exept.de>
parents: 537
diff changeset
   259
            initial := UserPreferences current at:#mcPrimaryRepository ifAbsent:nil.
8ee0dffb7160 class definition
Claus Gittinger <cg@exept.de>
parents: 537
diff changeset
   260
        ].
8ee0dffb7160 class definition
Claus Gittinger <cg@exept.de>
parents: 537
diff changeset
   261
        repositoryHolder value:initial.
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   262
        repositoryHolder addDependent: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
    ^ repositoryHolder
529
d0d668b95c4c changed: #repositoryHolder
Claus Gittinger <cg@exept.de>
parents: 440
diff changeset
   265
569
8ee0dffb7160 class definition
Claus Gittinger <cg@exept.de>
parents: 537
diff changeset
   266
    "Modified: / 24-07-2012 / 16:32:01 / cg"
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   268
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
repositoryHolder:something
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   270
    "set the 'repositoryHolder' value holder (automatically generated)"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   271
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   272
    |oldValue newValue|
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   273
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   274
    repositoryHolder notNil ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   275
        oldValue := repositoryHolder value.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   276
        repositoryHolder removeDependent:self.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   277
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   278
    repositoryHolder := something.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   279
    repositoryHolder notNil ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   280
        repositoryHolder addDependent:self.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   281
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   282
    newValue := repositoryHolder value.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   283
    oldValue ~~ newValue ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   284
        self update:#value with:newValue from:repositoryHolder.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   285
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   286
!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   287
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
repositoryList
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
573
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   290
    ^[MCRepositoryGroup default repositories
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   291
      , #(nil)
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   292
      , (Array with:(resources string:'Add Repository...')) ]
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   293
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   294
    "Created: / 14-09-2010 / 23:16:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
573
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   295
    "Modified: / 31-08-2012 / 11:39:42 / cg"
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   296
!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   297
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   298
versionNameHolder
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   299
    "return/create the 'versionNameHolder' value holder (automatically generated)"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   300
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   301
    versionNameHolder isNil ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   302
        versionNameHolder := ValueHolder new.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   303
        versionNameHolder addDependent:self.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   305
    ^ versionNameHolder
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   306
!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   307
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
versionNameHolder:something
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   309
    "set the 'versionNameHolder' value holder (automatically generated)"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   310
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   311
    |oldValue newValue|
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   312
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   313
    versionNameHolder notNil ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   314
        oldValue := versionNameHolder value.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   315
        versionNameHolder removeDependent:self.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   316
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   317
    versionNameHolder := something.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   318
    versionNameHolder notNil ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   319
        versionNameHolder addDependent:self.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   320
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   321
    newValue := versionNameHolder value.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   322
    oldValue ~~ newValue ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   323
        self update:#value with:newValue from:versionNameHolder.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   324
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   325
!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   326
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   327
workingCopyHolder
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   328
    "return/create the 'workingCopyHolder' value holder (automatically generated)"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   329
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   330
    workingCopyHolder isNil ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
        workingCopyHolder := ValueHolder new.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   332
        workingCopyHolder addDependent:self.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   333
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   334
    ^ workingCopyHolder
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   335
!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   336
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   337
workingCopyHolder:something
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   338
    "set the 'workingCopyHolder' value holder (automatically generated)"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   339
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   340
    |oldValue newValue|
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   341
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   342
    workingCopyHolder notNil ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   343
        oldValue := workingCopyHolder value.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   344
        workingCopyHolder removeDependent:self.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   345
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   346
    workingCopyHolder := something.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   347
    workingCopyHolder notNil ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   348
        workingCopyHolder addDependent:self.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   349
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   350
    newValue := workingCopyHolder value.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   351
    oldValue ~~ newValue ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   352
        self update:#value with:newValue from:workingCopyHolder.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   353
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   354
! !
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   355
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   356
!MCCommitDialog methodsFor:'change & update'!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   357
573
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   358
findUniqueVersionNumber
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   359
    | wc versionName |
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   360
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   361
    self versionNameHolder value:('One Moment, please...' colorizeAllWith:Color grey).
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   362
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   363
    wc := self workingCopyHolder value.
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   364
    self assert:wc notNil.
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   365
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   366
    self subtitle: wc package name.
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   367
    versionName := wc uniqueVersionName.
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   368
    self 
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   369
        enqueueMessage:#updateVersionNumberTo:
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   370
        for:self
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   371
        arguments: { versionName }
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   372
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   373
    "Created: / 31-08-2012 / 11:49:56 / cg"
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   374
!
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   375
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   376
messageChanged
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   377
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   378
    self halt
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   379
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   380
    "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
   381
!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   382
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   383
repositoryChanged
573
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   384
    self repositoryHolder value isString ifTrue:[
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   385
        MCSettingsApp open.
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   386
        self repositoryHolder 
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   387
            value:(self repositoryList value first)
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   388
            withoutNotifying:self.
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   389
    ].
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   390
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   391
    self updateAcceptEnabled
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   392
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   393
    "Created: / 15-09-2010 / 14:02:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
573
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   394
    "Modified: / 31-08-2012 / 12:01:02 / cg"
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   395
!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   396
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   397
update:something with:aParameter from:changedObject
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   398
    "Invoked when an object that I depend upon sends a change notification."
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   399
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   400
    "stub code automatically generated - please change as required"
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   401
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   402
    changedObject == workingCopyHolder ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   403
         self workingCopyChanged.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   404
         ^ self.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   405
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   406
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   407
    changedObject == messageHolder ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   408
         self messageChanged.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   409
         ^ self.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   410
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   411
    changedObject == repositoryHolder ifTrue:[
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   412
         self repositoryChanged.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   413
         ^ self.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   414
    ].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   415
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   416
    super update:something with:aParameter from:changedObject
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   417
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   418
    "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
   419
!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   420
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   421
updateAcceptEnabled
573
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   422
    | enabled |
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   423
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   424
    enabled := true.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   425
    enabled := enabled and:[self workingCopyHolder value notNil].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   426
    enabled := enabled and:[self repositoryHolder value notNil].
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   427
    self acceptEnabledHolder value: enabled.
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   428
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   429
    "Created: / 15-09-2010 / 14:01:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
573
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   430
    "Modified: / 31-08-2012 / 11:59:09 / cg"
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   431
!
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   432
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   433
updateVersionNumberTo:versionName
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   434
    self versionNameHolder value: versionName.
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   435
    self updateAcceptEnabled
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   436
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   437
    "Created: / 31-08-2012 / 11:54:15 / cg"
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   438
!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   439
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   440
workingCopyChanged
573
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   441
    |p|
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   442
573
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   443
    self window isNil ifTrue:[
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   444
        versionNameFinderProcess isNil ifTrue:[
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   445
            versionNameFinderProcess :=
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   446
                [
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   447
                    self findUniqueVersionNumber.
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   448
                ] fork.
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   449
        ].
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   450
        ^ self.
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   451
    ].
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   452
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   453
    (self workingCopyHolder value) notNil ifTrue:[
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   454
        (p := versionNameFinderProcess) notNil ifTrue:[
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   455
            versionNameFinderProcess := nil.
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   456
            p terminateAndWait.
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   457
        ].
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   458
        self findUniqueVersionNumber.
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   459
    ].
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   460
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   461
    "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
   462
    "Modified: / 15-09-2010 / 14:01:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
573
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   463
    "Modified: / 31-08-2012 / 11:53:32 / cg"
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   464
! !
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   465
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   466
!MCCommitDialog methodsFor:'hooks'!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   467
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   468
postBuildMessageView: aView
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   469
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   470
    messageView := aView scrolledView
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   471
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   472
    "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
   473
! !
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   474
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   475
!MCCommitDialog class methodsFor:'documentation'!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   476
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   477
version
742
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
   478
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCCommitDialog.st,v 1.8 2013-03-21 17:24:56 cg Exp $'
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   479
!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   480
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   481
version_CVS
742
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
   482
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCCommitDialog.st,v 1.8 2013-03-21 17:24:56 cg Exp $'
573
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   483
!
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   484
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   485
version_MC
4cc009526331 class definition
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   486
    ^ '§stx:goodies/monticello-cg.3 4e70fe70-f030-11e1-ac62-001f3bda2d09 2012-08-27T12:16:46 cg§'
360
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   487
!
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   488
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   489
version_SVN
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   490
    ^ '§Id: MCCommitDialog.st 12 2010-09-15 13:13:22Z vranyj1 §'
49f34323f6c6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   491
! !
742
65fd0b6f3267 class: MCCommitDialog
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
   492