ClassItem.st
author Jan Vrany <jan.vrany@labware.com>
Sat, 30 Sep 2023 22:55:25 +0100
branchjv
changeset 19648 5df52d354504
parent 15950 23be8cf85415
permissions -rw-r--r--
`TestRunner2`: do not use `#keysAndValuesCollect:` ...as semantics differ among smalltalk dialects. This is normally not a problem until we use code that adds this as a "compatibility" method. So to stay on a safe side, avoid using this method.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2626
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
     1
"
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
     2
 COPYRIGHT (c) 2000 by eXept Software AG
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
     3
              All Rights Reserved
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
     4
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
     5
 This software is furnished under a license and may be used
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
     6
 only in accordance with the terms of that license and with the
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
     8
 be provided or otherwise made available to, or used by, any
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
     9
 other person.  No title to or ownership of the software is
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    10
 hereby transferred.
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    11
"
12650
e0f607754b9a Merged 18d06283743d and ff31bac2fd1b (branch default - CVS HEAD)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
    12
"{ Package: 'stx:libtool' }"
2626
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    13
15950
23be8cf85415 Bugfix in merge tool.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12650
diff changeset
    14
"{ NameSpace: Smalltalk }"
23be8cf85415 Bugfix in merge tool.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12650
diff changeset
    15
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
    16
AbstractVersionDiffBrowserItem subclass:#ClassItem
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    17
	instanceVariableNames:'myClass isRegistered revisonColl revisionInfo'
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
    18
	classVariableNames:''
736908782aa1 initial checkin
ps
parents:
diff changeset
    19
	poolDictionaries:''
2547
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    20
	category:'Interface-Browsers-Support'
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
    21
!
736908782aa1 initial checkin
ps
parents:
diff changeset
    22
2547
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    23
!ClassItem class methodsFor:'documentation'!
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    24
2626
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    25
copyright
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    26
"
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    27
 COPYRIGHT (c) 2000 by eXept Software AG
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    28
              All Rights Reserved
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    29
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    30
 This software is furnished under a license and may be used
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    31
 only in accordance with the terms of that license and with the
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    32
 inclusion of the above copyright notice.   This software may not
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    33
 be provided or otherwise made available to, or used by, any
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    34
 other person.  No title to or ownership of the software is
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    35
 hereby transferred.
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    36
"
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    37
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    38
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    39
!
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    40
2547
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    41
documentation
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    42
"
2625
d70f0361a027 doc; halts removed
Claus Gittinger <cg@exept.de>
parents: 2612
diff changeset
    43
    This is not yet finished (work in progress) - do not use.
2547
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    44
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    45
    [author:]
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    46
        Pierre Schwarz (ps@exept.de)
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    47
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    48
    [see also:]
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    49
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    50
    [instance variables:]
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    51
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    52
    [class variables:]
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    53
"
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    54
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    55
! !
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
    56
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    57
!ClassItem class methodsFor:'protocol'!
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    58
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    59
expandableRevisionItemClass
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    60
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    61
    ^ExpandableRevisionItem
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    62
!
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    63
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    64
sourceRevisonItemClass
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    65
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    66
    ^SourceRevisionItem
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    67
!
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    68
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    69
versionRevisionItemClass
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    70
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    71
    ^VersionRevisionItem
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    72
! !
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    73
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
    74
!ClassItem methodsFor:'accessing'!
736908782aa1 initial checkin
ps
parents:
diff changeset
    75
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    76
loadedRevisionItem
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    77
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    78
    ^children detect:[:eachRevision | eachRevision isLoadedRevision]
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    79
!
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    80
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
    81
myClass
736908782aa1 initial checkin
ps
parents:
diff changeset
    82
    "return the value of the instance variable 'myClass' (automatically generated)"
736908782aa1 initial checkin
ps
parents:
diff changeset
    83
12650
e0f607754b9a Merged 18d06283743d and ff31bac2fd1b (branch default - CVS HEAD)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
    84
    ^ myClass
e0f607754b9a Merged 18d06283743d and ff31bac2fd1b (branch default - CVS HEAD)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
    85
!
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
    86
736908782aa1 initial checkin
ps
parents:
diff changeset
    87
myClass:something
736908782aa1 initial checkin
ps
parents:
diff changeset
    88
    "set the value of the instance variable 'myClass' (automatically generated)"
736908782aa1 initial checkin
ps
parents:
diff changeset
    89
12650
e0f607754b9a Merged 18d06283743d and ff31bac2fd1b (branch default - CVS HEAD)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
    90
    myClass := something.
e0f607754b9a Merged 18d06283743d and ff31bac2fd1b (branch default - CVS HEAD)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
    91
!
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
    92
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    93
needsChildren
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    94
    "return the value of the instance variable 'isRegistered' (automatically generated)"
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
    95
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    96
    ^ children size == 0
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    97
!
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
    98
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    99
revisonColl
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   100
    "return the value of the instance variable 'revisonColl' (automatically generated)"
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   101
12650
e0f607754b9a Merged 18d06283743d and ff31bac2fd1b (branch default - CVS HEAD)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   102
    ^ revisonColl
e0f607754b9a Merged 18d06283743d and ff31bac2fd1b (branch default - CVS HEAD)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   103
!
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   104
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   105
revisonColl:something
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   106
    "set the value of the instance variable 'revisonColl' (automatically generated)"
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   107
12650
e0f607754b9a Merged 18d06283743d and ff31bac2fd1b (branch default - CVS HEAD)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   108
    revisonColl := something.
e0f607754b9a Merged 18d06283743d and ff31bac2fd1b (branch default - CVS HEAD)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   109
! !
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
   110
736908782aa1 initial checkin
ps
parents:
diff changeset
   111
!ClassItem methodsFor:'initialization'!
736908782aa1 initial checkin
ps
parents:
diff changeset
   112
736908782aa1 initial checkin
ps
parents:
diff changeset
   113
initialize
2517
69888372f495 *** empty log message ***
ps
parents: 2516
diff changeset
   114
"
69888372f495 *** empty log message ***
ps
parents: 2516
diff changeset
   115
initialize necessary things
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
   116
2517
69888372f495 *** empty log message ***
ps
parents: 2516
diff changeset
   117
<return: self>
69888372f495 *** empty log message ***
ps
parents: 2516
diff changeset
   118
"
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   119
    super initialize.
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   120
    isRegistered := false
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   121
! !
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   122
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   123
!ClassItem methodsFor:'private'!
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   124
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   125
addAllRevisionsBefore:anExpandableRevisonItem
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   126
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   127
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   128
    |theChildrens theStartIndex theStopIndex theRevisionSize|
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   129
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   130
    (theStartIndex := children size) <= (theRevisionSize := revisonColl size) ifTrue:[
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   131
        theStopIndex := theRevisionSize.
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   132
        theChildrens := revisonColl copyFrom:theStartIndex to:theStopIndex.
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   133
        "remove expandable item"
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   134
        self remove:anExpandableRevisonItem.
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   135
        "add items"
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   136
        self addAll:theChildrens.
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   137
    ]
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   138
!
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   139
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   140
addNewRevisionsBefore:anExpandableRevisonItem
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   141
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   142
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   143
    |theChildrens theStartIndex theStopIndex|
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   144
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   145
    (theStartIndex := children size) <= revisonColl size ifTrue:[
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   146
        theStopIndex := (theStartIndex-1) * 2 + (theStartIndex-1).
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   147
        theStopIndex := theStopIndex min:revisonColl size.
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   148
        theChildrens := revisonColl copyFrom:theStartIndex to:theStopIndex.
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   149
        "add items"
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   150
        self addAll:theChildrens before:anExpandableRevisonItem.
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   151
        "check if all revisions are shown, if true remove expandable item"
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   152
        (theStopIndex = revisonColl size) ifTrue:[self remove:anExpandableRevisonItem].
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   153
    ]
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   154
!
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   155
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   156
setRevisionInfo:aRevisionInfo
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   157
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   158
    aRevisionInfo removeKey:#revisions.
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   159
    revisionInfo := aRevisionInfo
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
   160
! !
736908782aa1 initial checkin
ps
parents:
diff changeset
   161
736908782aa1 initial checkin
ps
parents:
diff changeset
   162
!ClassItem methodsFor:'protocol'!
736908782aa1 initial checkin
ps
parents:
diff changeset
   163
736908782aa1 initial checkin
ps
parents:
diff changeset
   164
children
736908782aa1 initial checkin
ps
parents:
diff changeset
   165
"returns list of children. The revision for the class myClass
736908782aa1 initial checkin
ps
parents:
diff changeset
   166
are computed via the sourcecode manager. Only when the childrens
736908782aa1 initial checkin
ps
parents:
diff changeset
   167
are needed, they are calculated.
736908782aa1 initial checkin
ps
parents:
diff changeset
   168
736908782aa1 initial checkin
ps
parents:
diff changeset
   169
<return: nil|List>
736908782aa1 initial checkin
ps
parents:
diff changeset
   170
"  
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   171
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   172
    isRegistered ifFalse:[
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   173
        isRegistered := true.
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
   174
        self application getRevisionInfoForClassItem:self.
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   175
        self changed:#icon
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
   176
    ].
736908782aa1 initial checkin
ps
parents:
diff changeset
   177
    ^children
736908782aa1 initial checkin
ps
parents:
diff changeset
   178
736908782aa1 initial checkin
ps
parents:
diff changeset
   179
!
736908782aa1 initial checkin
ps
parents:
diff changeset
   180
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   181
computeRevisions
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   182
2542
dbebe8c0abf3 *** empty log message ***
ps
parents: 2538
diff changeset
   183
    |theClass theSourceCodeManager theRevisionLog|
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   184
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   185
    theClass := self myClass. 
2542
dbebe8c0abf3 *** empty log message ***
ps
parents: 2538
diff changeset
   186
    (theSourceCodeManager := theClass sourceCodeManager) isNil
dbebe8c0abf3 *** empty log message ***
ps
parents: 2538
diff changeset
   187
        ifFalse:[theRevisionLog := theSourceCodeManager revisionLogOf:theClass].
dbebe8c0abf3 *** empty log message ***
ps
parents: 2538
diff changeset
   188
    self setRevisions:theRevisionLog
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   189
!
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   190
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
   191
hasChildren
736908782aa1 initial checkin
ps
parents:
diff changeset
   192
"a class items has always childs
736908782aa1 initial checkin
ps
parents:
diff changeset
   193
736908782aa1 initial checkin
ps
parents:
diff changeset
   194
<return: Boolean>
736908782aa1 initial checkin
ps
parents:
diff changeset
   195
"
736908782aa1 initial checkin
ps
parents:
diff changeset
   196
736908782aa1 initial checkin
ps
parents:
diff changeset
   197
     ^true
736908782aa1 initial checkin
ps
parents:
diff changeset
   198
!
736908782aa1 initial checkin
ps
parents:
diff changeset
   199
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   200
icon
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   201
    isRegistered ifFalse:[^#unloadedClassItem].
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   202
    (isRegistered and:[children size ~~ 0]) ifTrue:[
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   203
        ^#loadedClassItem 
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   204
    ].
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   205
    ^#loadingClassItem
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   206
!
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   207
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
   208
label
736908782aa1 initial checkin
ps
parents:
diff changeset
   209
736908782aa1 initial checkin
ps
parents:
diff changeset
   210
   ^myClass name
736908782aa1 initial checkin
ps
parents:
diff changeset
   211
736908782aa1 initial checkin
ps
parents:
diff changeset
   212
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   213
!
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   214
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   215
newestRevision
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   216
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   217
    revisionInfo ifNil:[^''].
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   218
    ^revisionInfo at:#newestRevision
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   219
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   220
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   221
!
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   222
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   223
setChildrensFromRevisionColl
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   224
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   225
    |theChildrens|
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   226
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   227
    revisonColl size > 5
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   228
        ifTrue:[
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   229
            theChildrens := revisonColl copyFrom:1 to:5.
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   230
            theChildrens add:self class expandableRevisionItemClass new.
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   231
            ]
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   232
        ifFalse:[theChildrens:=revisonColl].
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   233
    self addAll:theChildrens
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   234
!
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   235
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   236
setRevisions:aRevisionInfo
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   237
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   238
    aRevisionInfo isNil
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   239
        ifTrue: [revisonColl := Array with:(self class sourceRevisonItemClass newForRevision:nil)]
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   240
        ifFalse:[revisonColl := (aRevisionInfo at:#revisions) collect:[:eachRevision|
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   241
                    self class versionRevisionItemClass newForRevision:eachRevision].
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   242
                self isMyClassChanged
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   243
                    ifTrue:[revisonColl addFirst:(self class sourceRevisonItemClass newForRevision:myClass revisionInfo)].
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   244
                self setRevisionInfo:aRevisionInfo].
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   245
     self setChildrensFromRevisionColl.
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
   246
! !
736908782aa1 initial checkin
ps
parents:
diff changeset
   247
736908782aa1 initial checkin
ps
parents:
diff changeset
   248
!ClassItem methodsFor:'testing'!
736908782aa1 initial checkin
ps
parents:
diff changeset
   249
736908782aa1 initial checkin
ps
parents:
diff changeset
   250
isClassItem
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   251
"
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   252
Used for testing tree items. Define correct behaviour in subclasses
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   253
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   254
<return: Boolean>
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   255
"
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
   256
736908782aa1 initial checkin
ps
parents:
diff changeset
   257
    ^true
736908782aa1 initial checkin
ps
parents:
diff changeset
   258
736908782aa1 initial checkin
ps
parents:
diff changeset
   259
736908782aa1 initial checkin
ps
parents:
diff changeset
   260
!
736908782aa1 initial checkin
ps
parents:
diff changeset
   261
736908782aa1 initial checkin
ps
parents:
diff changeset
   262
isMyClassChanged
736908782aa1 initial checkin
ps
parents:
diff changeset
   263
736908782aa1 initial checkin
ps
parents:
diff changeset
   264
    ^Project isClassChanged: myClass  
736908782aa1 initial checkin
ps
parents:
diff changeset
   265
! !
736908782aa1 initial checkin
ps
parents:
diff changeset
   266
736908782aa1 initial checkin
ps
parents:
diff changeset
   267
!ClassItem class methodsFor:'documentation'!
736908782aa1 initial checkin
ps
parents:
diff changeset
   268
736908782aa1 initial checkin
ps
parents:
diff changeset
   269
version
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   270
    ^ '$Header: /cvs/stx/stx/libtool/ClassItem.st,v 1.8 2000/02/18 14:09:35 cg Exp $'
12650
e0f607754b9a Merged 18d06283743d and ff31bac2fd1b (branch default - CVS HEAD)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   271
!
e0f607754b9a Merged 18d06283743d and ff31bac2fd1b (branch default - CVS HEAD)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   272
e0f607754b9a Merged 18d06283743d and ff31bac2fd1b (branch default - CVS HEAD)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   273
version_HG
e0f607754b9a Merged 18d06283743d and ff31bac2fd1b (branch default - CVS HEAD)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   274
e0f607754b9a Merged 18d06283743d and ff31bac2fd1b (branch default - CVS HEAD)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   275
    ^ '$Changeset: <not expanded> $'
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   276
! !
12650
e0f607754b9a Merged 18d06283743d and ff31bac2fd1b (branch default - CVS HEAD)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   277