MCVersionList.st
author Claus Gittinger <cg@exept.de>
Sat, 01 Sep 2018 17:32:13 +0200
changeset 1086 efc5221435a5
parent 961 d7d23e7c5c83
permissions -rw-r--r--
initial checkin
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
306
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/monticello' }"
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
961
d7d23e7c5c83 added: #isAbstract
Claus Gittinger <cg@exept.de>
parents: 606
diff changeset
     3
"{ NameSpace: Smalltalk }"
d7d23e7c5c83 added: #isAbstract
Claus Gittinger <cg@exept.de>
parents: 606
diff changeset
     4
306
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
MCBrowserList subclass:#MCVersionList
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	instanceVariableNames:''
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	classVariableNames:''
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
	poolDictionaries:''
606
adcb977a22f8 category change
Claus Gittinger <cg@exept.de>
parents: 399
diff changeset
     9
	category:'SCM-Monticello-St/X UI'
306
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
!
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
!MCVersionList methodsFor:'generators'!
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
makeGenerator
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
    "superclass Tools::BrowserList says that I am responsible to implement this method"
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
     ^Iterator on:
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
        [:whatToDo| | selection |
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
        selection := self selectionHolder value.
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
        selection ifNotNil:[whatToDo value: selection]].
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
    "Modified: / 17-09-2010 / 09:53:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
! !
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
!MCVersionList methodsFor:'private'!
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
makeDependent
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
    "superclass Tools::BrowserList says that I am responsible to implement this method"
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
    "^ self shouldImplement"
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
    "Modified: / 16-09-2010 / 19:03:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
!
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
makeIndependent
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
    "superclass Tools::BrowserList says that I am responsible to implement this method"
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
    "^ self shouldImplement"
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
    "Modified: / 16-09-2010 / 19:03:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
!
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
updateList
397
dc0e74d097dc changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 306
diff changeset
    45
    | generator list |
306
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
397
dc0e74d097dc changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 306
diff changeset
    47
    self withWaitCursorDo:[
dc0e74d097dc changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 306
diff changeset
    48
        generator := self inGeneratorHolder value ? #().
dc0e74d097dc changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 306
diff changeset
    49
        list := SortedCollection sortBlock:
dc0e74d097dc changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 306
diff changeset
    50
            [:v1 :v2| | vn1 vn2 |
dc0e74d097dc changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 306
diff changeset
    51
            vn1 := v1 versionNumber.
dc0e74d097dc changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 306
diff changeset
    52
            vn2 := v2 versionNumber.
dc0e74d097dc changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 306
diff changeset
    53
            (vn1 notNil and:[vn2 notNil]) 
dc0e74d097dc changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 306
diff changeset
    54
                ifTrue:[vn1 > vn2]
dc0e74d097dc changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 306
diff changeset
    55
                ifFalse:[v1 name > v2 name]].
dc0e74d097dc changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 306
diff changeset
    56
        generator do:[:verentry|list add: verentry].
961
d7d23e7c5c83 added: #isAbstract
Claus Gittinger <cg@exept.de>
parents: 606
diff changeset
    57
        self listHolder value: list.
d7d23e7c5c83 added: #isAbstract
Claus Gittinger <cg@exept.de>
parents: 606
diff changeset
    58
        self setListValid:true.
397
dc0e74d097dc changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 306
diff changeset
    59
    ].
306
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
    "Modified: / 13-10-2010 / 15:32:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
397
dc0e74d097dc changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 306
diff changeset
    62
    "Modified: / 20-08-2011 / 16:24:11 / cg"
306
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
! !
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
!MCVersionList class methodsFor:'documentation'!
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
version
961
d7d23e7c5c83 added: #isAbstract
Claus Gittinger <cg@exept.de>
parents: 606
diff changeset
    68
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCVersionList.st,v 1.5 2015-02-01 14:14:41 cg Exp $'
306
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
!
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
version_CVS
961
d7d23e7c5c83 added: #isAbstract
Claus Gittinger <cg@exept.de>
parents: 606
diff changeset
    72
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCVersionList.st,v 1.5 2015-02-01 14:14:41 cg Exp $'
306
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
!
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
version_SVN
961
d7d23e7c5c83 added: #isAbstract
Claus Gittinger <cg@exept.de>
parents: 606
diff changeset
    76
    ^ '$Id: MCVersionList.st,v 1.5 2015-02-01 14:14:41 cg Exp $'
306
a65de72c538d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
! !
961
d7d23e7c5c83 added: #isAbstract
Claus Gittinger <cg@exept.de>
parents: 606
diff changeset
    78