ClassItem.st
author Claus Gittinger <cg@exept.de>
Sun, 01 Feb 2015 14:17:11 +0100
changeset 15150 940d37c7d3ac
parent 2626 4ee750caddab
child 12123 4bde08cebd48
permissions -rw-r--r--
class: Tools::ChangeList fixed the following redraw bug in ModelListView (which is already fixed in SelectionInListView): if a colored item is shown with selection, the color attribute should be removed (or relaxed), to avoid drawing the label invisible. I.e. if the text color is blue or grey, and the selection bg is blue. we should draw white-on-blue, instead of blue/grey on blue. For this to work, the info whether drawing a selection must be passed down through the renderer to the item's draw routine.
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
"
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    12
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    13
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    14
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
    15
AbstractVersionDiffBrowserItem subclass:#ClassItem
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    16
	instanceVariableNames:'myClass isRegistered revisonColl revisionInfo'
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
    17
	classVariableNames:''
736908782aa1 initial checkin
ps
parents:
diff changeset
    18
	poolDictionaries:''
2547
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    19
	category:'Interface-Browsers-Support'
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
    20
!
736908782aa1 initial checkin
ps
parents:
diff changeset
    21
2547
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    22
!ClassItem class methodsFor:'documentation'!
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    23
2626
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    24
copyright
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    25
"
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    26
 COPYRIGHT (c) 2000 by eXept Software AG
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    27
              All Rights Reserved
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    28
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    29
 This software is furnished under a license and may be used
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    30
 only in accordance with the terms of that license and with the
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    31
 inclusion of the above copyright notice.   This software may not
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    32
 be provided or otherwise made available to, or used by, any
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    33
 other person.  No title to or ownership of the software is
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    34
 hereby transferred.
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
    35
"
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
2547
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    40
documentation
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    41
"
2625
d70f0361a027 doc; halts removed
Claus Gittinger <cg@exept.de>
parents: 2612
diff changeset
    42
    This is not yet finished (work in progress) - do not use.
2547
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    43
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    44
    [author:]
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    45
        Pierre Schwarz (ps@exept.de)
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    46
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    47
    [see also:]
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    48
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    49
    [instance variables:]
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    50
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    51
    [class variables:]
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
    52
"
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
! !
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
    55
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    56
!ClassItem class methodsFor:'protocol'!
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    57
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    58
expandableRevisionItemClass
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    59
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    60
    ^ExpandableRevisionItem
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    61
!
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    62
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    63
sourceRevisonItemClass
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    64
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    65
    ^SourceRevisionItem
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    66
!
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    67
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    68
versionRevisionItemClass
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    69
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    70
    ^VersionRevisionItem
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    71
! !
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    72
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
    73
!ClassItem methodsFor:'accessing'!
736908782aa1 initial checkin
ps
parents:
diff changeset
    74
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    75
loadedRevisionItem
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    76
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    77
    ^children detect:[:eachRevision | eachRevision isLoadedRevision]
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    78
!
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    79
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
    80
myClass
736908782aa1 initial checkin
ps
parents:
diff changeset
    81
    "return the value of the instance variable 'myClass' (automatically generated)"
736908782aa1 initial checkin
ps
parents:
diff changeset
    82
736908782aa1 initial checkin
ps
parents:
diff changeset
    83
    ^ myClass!
736908782aa1 initial checkin
ps
parents:
diff changeset
    84
736908782aa1 initial checkin
ps
parents:
diff changeset
    85
myClass:something
736908782aa1 initial checkin
ps
parents:
diff changeset
    86
    "set the value of the instance variable 'myClass' (automatically generated)"
736908782aa1 initial checkin
ps
parents:
diff changeset
    87
736908782aa1 initial checkin
ps
parents:
diff changeset
    88
    myClass := something.!
736908782aa1 initial checkin
ps
parents:
diff changeset
    89
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    90
needsChildren
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    91
    "return the value of the instance variable 'isRegistered' (automatically generated)"
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
    92
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    93
    ^ children size == 0
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    94
!
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
    95
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    96
revisonColl
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    97
    "return the value of the instance variable 'revisonColl' (automatically generated)"
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    98
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
    99
    ^ revisonColl!
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   100
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   101
revisonColl:something
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   102
    "set the value of the instance variable 'revisonColl' (automatically generated)"
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   103
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   104
    revisonColl := something.! !
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
   105
736908782aa1 initial checkin
ps
parents:
diff changeset
   106
!ClassItem methodsFor:'initialization'!
736908782aa1 initial checkin
ps
parents:
diff changeset
   107
736908782aa1 initial checkin
ps
parents:
diff changeset
   108
initialize
2517
69888372f495 *** empty log message ***
ps
parents: 2516
diff changeset
   109
"
69888372f495 *** empty log message ***
ps
parents: 2516
diff changeset
   110
initialize necessary things
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
   111
2517
69888372f495 *** empty log message ***
ps
parents: 2516
diff changeset
   112
<return: self>
69888372f495 *** empty log message ***
ps
parents: 2516
diff changeset
   113
"
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   114
    super initialize.
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   115
    isRegistered := false
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   116
! !
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   117
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   118
!ClassItem methodsFor:'private'!
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   119
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   120
addAllRevisionsBefore:anExpandableRevisonItem
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
    |theChildrens theStartIndex theStopIndex theRevisionSize|
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   124
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   125
    (theStartIndex := children size) <= (theRevisionSize := revisonColl size) ifTrue:[
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   126
        theStopIndex := theRevisionSize.
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   127
        theChildrens := revisonColl copyFrom:theStartIndex to:theStopIndex.
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   128
        "remove expandable item"
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   129
        self remove:anExpandableRevisonItem.
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   130
        "add items"
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   131
        self addAll:theChildrens.
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   132
    ]
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   133
!
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   134
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   135
addNewRevisionsBefore:anExpandableRevisonItem
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   136
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   137
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   138
    |theChildrens theStartIndex theStopIndex|
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   139
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   140
    (theStartIndex := children size) <= revisonColl size ifTrue:[
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   141
        theStopIndex := (theStartIndex-1) * 2 + (theStartIndex-1).
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   142
        theStopIndex := theStopIndex min:revisonColl size.
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   143
        theChildrens := revisonColl copyFrom:theStartIndex to:theStopIndex.
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   144
        "add items"
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   145
        self addAll:theChildrens before:anExpandableRevisonItem.
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   146
        "check if all revisions are shown, if true remove expandable item"
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   147
        (theStopIndex = revisonColl size) ifTrue:[self remove:anExpandableRevisonItem].
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   148
    ]
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   149
!
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   150
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   151
setRevisionInfo:aRevisionInfo
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   152
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   153
    aRevisionInfo removeKey:#revisions.
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   154
    revisionInfo := aRevisionInfo
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
   155
! !
736908782aa1 initial checkin
ps
parents:
diff changeset
   156
736908782aa1 initial checkin
ps
parents:
diff changeset
   157
!ClassItem methodsFor:'protocol'!
736908782aa1 initial checkin
ps
parents:
diff changeset
   158
736908782aa1 initial checkin
ps
parents:
diff changeset
   159
children
736908782aa1 initial checkin
ps
parents:
diff changeset
   160
"returns list of children. The revision for the class myClass
736908782aa1 initial checkin
ps
parents:
diff changeset
   161
are computed via the sourcecode manager. Only when the childrens
736908782aa1 initial checkin
ps
parents:
diff changeset
   162
are needed, they are calculated.
736908782aa1 initial checkin
ps
parents:
diff changeset
   163
736908782aa1 initial checkin
ps
parents:
diff changeset
   164
<return: nil|List>
736908782aa1 initial checkin
ps
parents:
diff changeset
   165
"  
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   166
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   167
    isRegistered ifFalse:[
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   168
        isRegistered := true.
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
   169
        self application getRevisionInfoForClassItem:self.
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   170
        self changed:#icon
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
   171
    ].
736908782aa1 initial checkin
ps
parents:
diff changeset
   172
    ^children
736908782aa1 initial checkin
ps
parents:
diff changeset
   173
736908782aa1 initial checkin
ps
parents:
diff changeset
   174
!
736908782aa1 initial checkin
ps
parents:
diff changeset
   175
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   176
computeRevisions
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   177
2542
dbebe8c0abf3 *** empty log message ***
ps
parents: 2538
diff changeset
   178
    |theClass theSourceCodeManager theRevisionLog|
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   179
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   180
    theClass := self myClass. 
2542
dbebe8c0abf3 *** empty log message ***
ps
parents: 2538
diff changeset
   181
    (theSourceCodeManager := theClass sourceCodeManager) isNil
dbebe8c0abf3 *** empty log message ***
ps
parents: 2538
diff changeset
   182
        ifFalse:[theRevisionLog := theSourceCodeManager revisionLogOf:theClass].
dbebe8c0abf3 *** empty log message ***
ps
parents: 2538
diff changeset
   183
    self setRevisions:theRevisionLog
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   184
!
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   185
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
   186
hasChildren
736908782aa1 initial checkin
ps
parents:
diff changeset
   187
"a class items has always childs
736908782aa1 initial checkin
ps
parents:
diff changeset
   188
736908782aa1 initial checkin
ps
parents:
diff changeset
   189
<return: Boolean>
736908782aa1 initial checkin
ps
parents:
diff changeset
   190
"
736908782aa1 initial checkin
ps
parents:
diff changeset
   191
736908782aa1 initial checkin
ps
parents:
diff changeset
   192
     ^true
736908782aa1 initial checkin
ps
parents:
diff changeset
   193
!
736908782aa1 initial checkin
ps
parents:
diff changeset
   194
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   195
icon
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   196
    isRegistered ifFalse:[^#unloadedClassItem].
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   197
    (isRegistered and:[children size ~~ 0]) ifTrue:[
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   198
        ^#loadedClassItem 
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   199
    ].
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   200
    ^#loadingClassItem
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   201
!
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   202
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
   203
label
736908782aa1 initial checkin
ps
parents:
diff changeset
   204
736908782aa1 initial checkin
ps
parents:
diff changeset
   205
   ^myClass name
736908782aa1 initial checkin
ps
parents:
diff changeset
   206
736908782aa1 initial checkin
ps
parents:
diff changeset
   207
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   208
!
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   209
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   210
newestRevision
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   211
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   212
    revisionInfo ifNil:[^''].
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   213
    ^revisionInfo at:#newestRevision
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   214
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   215
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   216
!
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   217
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   218
setChildrensFromRevisionColl
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   219
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   220
    |theChildrens|
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   221
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   222
    revisonColl size > 5
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   223
        ifTrue:[
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   224
            theChildrens := revisonColl copyFrom:1 to:5.
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   225
            theChildrens add:self class expandableRevisionItemClass new.
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   226
            ]
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   227
        ifFalse:[theChildrens:=revisonColl].
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   228
    self addAll:theChildrens
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   229
!
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   230
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   231
setRevisions:aRevisionInfo
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   232
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   233
    aRevisionInfo isNil
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   234
        ifTrue: [revisonColl := Array with:(self class sourceRevisonItemClass newForRevision:nil)]
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   235
        ifFalse:[revisonColl := (aRevisionInfo at:#revisions) collect:[:eachRevision|
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   236
                    self class versionRevisionItemClass newForRevision:eachRevision].
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   237
                self isMyClassChanged
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   238
                    ifTrue:[revisonColl addFirst:(self class sourceRevisonItemClass newForRevision:myClass revisionInfo)].
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   239
                self setRevisionInfo:aRevisionInfo].
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   240
     self setChildrensFromRevisionColl.
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
   241
! !
736908782aa1 initial checkin
ps
parents:
diff changeset
   242
736908782aa1 initial checkin
ps
parents:
diff changeset
   243
!ClassItem methodsFor:'testing'!
736908782aa1 initial checkin
ps
parents:
diff changeset
   244
736908782aa1 initial checkin
ps
parents:
diff changeset
   245
isClassItem
2538
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   246
"
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   247
Used for testing tree items. Define correct behaviour in subclasses
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   248
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   249
<return: Boolean>
65d455c152f0 defined source container
ps
parents: 2517
diff changeset
   250
"
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
   251
736908782aa1 initial checkin
ps
parents:
diff changeset
   252
    ^true
736908782aa1 initial checkin
ps
parents:
diff changeset
   253
736908782aa1 initial checkin
ps
parents:
diff changeset
   254
736908782aa1 initial checkin
ps
parents:
diff changeset
   255
!
736908782aa1 initial checkin
ps
parents:
diff changeset
   256
736908782aa1 initial checkin
ps
parents:
diff changeset
   257
isMyClassChanged
736908782aa1 initial checkin
ps
parents:
diff changeset
   258
736908782aa1 initial checkin
ps
parents:
diff changeset
   259
    ^Project isClassChanged: myClass  
736908782aa1 initial checkin
ps
parents:
diff changeset
   260
! !
736908782aa1 initial checkin
ps
parents:
diff changeset
   261
736908782aa1 initial checkin
ps
parents:
diff changeset
   262
!ClassItem class methodsFor:'documentation'!
736908782aa1 initial checkin
ps
parents:
diff changeset
   263
736908782aa1 initial checkin
ps
parents:
diff changeset
   264
version
2626
Claus Gittinger <cg@exept.de>
parents: 2625
diff changeset
   265
    ^ '$Header: /cvs/stx/stx/libtool/ClassItem.st,v 1.8 2000-02-18 14:09:35 cg Exp $'
2516
736908782aa1 initial checkin
ps
parents:
diff changeset
   266
! !