ClassRevisionTree.st
author ps
Tue, 15 Feb 2000 17:49:27 +0100
changeset 2612 ce84f1d3dae9
parent 2547 49e7cb306cd5
child 2625 d70f0361a027
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
     1
ApplicationModel subclass:#ClassRevisionTree
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
     2
	instanceVariableNames:'selectionHolder dataHolder menuBlock selectionBlock listView
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
     3
		hierarchicalList'
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
     4
	classVariableNames:''
36b0b3f51128 initial checkin
ps
parents:
diff changeset
     5
	poolDictionaries:''
2547
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2545
diff changeset
     6
	category:'Interface-Browsers-Support'
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
     7
!
36b0b3f51128 initial checkin
ps
parents:
diff changeset
     8
2547
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2545
diff changeset
     9
!ClassRevisionTree class methodsFor:'documentation'!
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2545
diff changeset
    10
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2545
diff changeset
    11
documentation
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2545
diff changeset
    12
"
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2545
diff changeset
    13
    documentation to be added.
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2545
diff changeset
    14
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2545
diff changeset
    15
    [author:]
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2545
diff changeset
    16
        Pierre Schwarz (ps@exept.de)
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2545
diff changeset
    17
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2545
diff changeset
    18
    [see also:]
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2545
diff changeset
    19
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2545
diff changeset
    20
    [instance variables:]
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2545
diff changeset
    21
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2545
diff changeset
    22
    [class variables:]
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2545
diff changeset
    23
"
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2545
diff changeset
    24
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2545
diff changeset
    25
! !
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    26
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    27
!ClassRevisionTree class methodsFor:'interface spec'!
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    28
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    29
windowSpec
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    30
    "This resource specification was automatically generated
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    31
     by the UIPainter of ST/X."
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    32
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    33
    "Do not manually edit this!! If it is corrupted,
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    34
     the UIPainter may not be able to read the specification."
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    35
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    36
    "
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    37
     UIPainter new openOnClass:ClassRevisionTree andSelector:#windowSpec
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    38
     ClassRevisionTree new openInterface:#windowSpec
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    39
     ClassRevisionTree open
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    40
    "
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    41
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    42
    <resource: #canvas>
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    43
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    44
    ^ 
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    45
     #(#FullSpec
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    46
        #name: #windowSpec
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    47
        #window: 
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    48
       #(#WindowSpec
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    49
          #label: 'ClassVersionTree'
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    50
          #name: 'ClassVersionTree'
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    51
          #min: #(#Point 10 10)
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    52
          #max: #(#Point 9999 9999)
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
    53
          #bounds: #(#Rectangle 16 46 881 575)
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    54
        )
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    55
        #component: 
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    56
       #(#SpecCollection
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    57
          #collection: #(
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    58
           #(#HierarchicalListViewSpec
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    59
              #name: 'HierarchicalItemListView'
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    60
              #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
    61
              #menu: #selectItemMenu
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    62
              #hasHorizontalScrollBar: true
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    63
              #hasVerticalScrollBar: true
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
    64
              #listModel: #listModel
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    65
              #multipleSelectOk: true
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
    66
              #useIndex: false
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    67
              #highlightMode: #label
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    68
              #doubleClickSelector: #doubleClick:
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
    69
              #selectConditionSelector: #isItemSelectable:
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    70
              #indicatorSelector: #doubleClick:
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    71
              #retrieveIconsSelector: #icons
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    72
            )
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    73
           )
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    74
         
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    75
        )
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    76
      )
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    77
! !
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    78
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
    79
!ClassRevisionTree class methodsFor:'protocol'!
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    80
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
    81
classItemRootClass
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
    82
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
    83
    ^ClassItemRoot
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    84
! !
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    85
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    86
!ClassRevisionTree class methodsFor:'startup'!
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    87
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
    88
openOnClassHolder:aClassHolder
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
    89
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
    90
    |theTree|
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    91
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    92
    theTree := self new.
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    93
    theTree allButOpen.
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    94
    theTree classItemRootClass:ClassItemRoot.
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
    95
    theTree classHolder:aClassHolder.
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
    96
    theTree openWindow.
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    97
     ^theTree
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    98
36b0b3f51128 initial checkin
ps
parents:
diff changeset
    99
"
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   100
|theSelectionHolder theClassHolder theTree|
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   101
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   102
theSelectionHolder := ValueHolder new.
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   103
theClassHolder := ValueHolder new.
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   104
theSelectionHolder compute:[:coll |
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   105
                coll do:[:each | Transcript showCR: each]].
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   106
theClassHolder value:(Smalltalk allClasses asOrderedCollection sort:[:x : y|x name < y name]).
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   107
theTree := ClassRevisionTree openOnClassHolder:theClassHolder.
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   108
theSelectionHolder value:(Array with:(theTree itemList children last)).
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   109
theTree selectionHolder:theSelectionHolder.
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   110
Delay waitForMilliseconds:1500.
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   111
theClassHolder value:(Project current changedClasses asOrderedCollection).
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   112
Delay waitForMilliseconds:1500.
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   113
theTree classHolder:nil.
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   114
Delay waitForMilliseconds:1500.
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   115
theTree classHolder:theClassHolder.
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   116
Delay waitForMilliseconds:1500.
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   117
theClassHolder value:(Smalltalk allClasses asOrderedCollection sort:[:x : y|x name < y name]).
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   118
"
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   119
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   120
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   121
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   122
!
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   123
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   124
openOnClassRevisionInfoColl:aClassRevisionInfoColl
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   125
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   126
    |theTree|
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   127
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   128
    theTree := self new.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   129
    theTree allButOpen.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   130
    theTree classItemRootClass:ClassItemRootForRevision.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   131
    theTree dataHolder value:aClassRevisionInfoColl.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   132
    theTree openWindow.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   133
     ^theTree
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   134
"
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   135
|theTree infoLog|
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   136
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   137
infoLog := OrderedCollection new.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   138
CVSSourceCodeManager reportHistoryLogSince:'yesterday'
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   139
        filterSTSources:true 
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   140
        filterUser:nil 
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   141
        filterRepository:nil 
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   142
        inTo:[:info| infoLog add:info].
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   143
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   144
theTree := self new.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   145
theTree open.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   146
theTree classItemRootClass:ClassItemRootForRevision.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   147
theTree setupOnClasses:infoLog
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   148
"
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   149
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   150
"
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   151
|infoLog|
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   152
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   153
infoLog := OrderedCollection new.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   154
CVSSourceCodeManager reportHistoryLogSince:'yesterday'
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   155
        filterSTSources:true 
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   156
        filterUser:nil 
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   157
        filterRepository:nil 
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   158
        inTo:[:info| infoLog add:info].
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   159
self openOnClassRevisionInfoColl:infoLog.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   160
"
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   161
!
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   162
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   163
openOnClasses:aClassColl
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   164
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   165
    |theTree|
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   166
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   167
    theTree := self new.
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   168
    theTree classItemRootClass:ClassItemRoot.
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   169
    theTree allButOpen.
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   170
    theTree setupOnClasses:aClassColl.
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   171
    theTree openWindow.
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   172
    ^theTree
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   173
"
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   174
self openOnClasses:(Smalltalk allClasses asOrderedCollection sort:[:x : y|x name < y name]).
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   175
"
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   176
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   177
"
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   178
|theSelectionHolder theTree|
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   179
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   180
theSelectionHolder := ValueHolder new.
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   181
theSelectionHolder compute:[:coll |
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   182
                coll do:[:each | Transcript showCR: each]].
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   183
theTree := ClassRevisionTree openOnClasses:(Smalltalk allClasses asOrderedCollection sort:[:x : y|x name < y name]).
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   184
theSelectionHolder value:(Array with:(theTree itemList children last)).
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   185
theTree selectionHolder:theSelectionHolder.
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   186
"
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   187
! !
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   188
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   189
!ClassRevisionTree methodsFor:'accessing'!
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   190
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   191
dataHolder
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   192
    "return the value of the instance variable 'classHolder' (automatically generated)"
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   193
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   194
    ^dataHolder ifNil:[
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   195
        dataHolder := ValueHolder new.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   196
        dataHolder addDependent:self
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   197
    ]
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   198
!
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   199
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   200
dataHolder:aValueHolder
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   201
    "set the value of the instance variable 'classHolder' (automatically generated)"
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   202
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   203
    (dataHolder ~~ aValueHolder) ifTrue:[
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   204
        dataHolder removeDependent:self.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   205
        dataHolder := aValueHolder.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   206
        dataHolder notNil ifTrue:[
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   207
            dataHolder addDependent:self.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   208
        ].
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   209
        self setUpList
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   210
    ].
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   211
!
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   212
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   213
hierarchicalList
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   214
"
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   215
returns a hierarchical list which is the model for tree. All necassary things like icons,
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   216
root and subnodes must be hold by this list. Therefore the list must have a special protocoll.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   217
See examples.
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   218
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   219
<return: HierarchicalList>
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   220
"
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   221
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   222
    hierarchicalList isNil
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   223
        ifTrue:[self error: 'no necessary list is set'. "hierarchicalList := HierarchicalList new"].
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   224
    ^ hierarchicalList
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   225
!
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   226
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   227
hierarchicalList:aHierarchicalList
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   228
"
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   229
sets the hierarchical list which is the model for tree. All necassary things like icons
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   230
root and subnodes must be hold by this list. Therefore the list must have a special protocoll.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   231
See examples.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   232
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   233
<return: self>
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   234
"
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   235
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   236
    hierarchicalList := aHierarchicalList.
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   237
!
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   238
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   239
itemForSelectionIndex:anIndex
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   240
"
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   241
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   242
<return: HierarchicalItem | nil >
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   243
"
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   244
    ^self listModel at:anIndex ifAbsent:nil
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   245
!
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   246
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   247
itemList
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   248
    "automatically generated by UIPainter ..."
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   249
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   250
    "*** the code below creates a default model when invoked."
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   251
    "*** (which may not be the one you wanted)"
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   252
    "*** Please change as required and accept it in the browser."
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   253
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   254
    ^ self listModel root
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   255
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   256
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   257
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   258
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   259
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   260
!
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   261
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   262
listView
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   263
    "return the value of the instance variable 'listView' (automatically generated)"
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   264
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   265
    ^ listView!
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   266
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   267
listView:something
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   268
    "set the value of the instance variable 'listView' (automatically generated)"
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   269
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   270
    listView := something.! !
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   271
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   272
!ClassRevisionTree methodsFor:'actions'!
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   273
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   274
doubleClick:anIndex
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   275
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   276
    |theItem|
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   277
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   278
    theItem := self itemForSelectionIndex:anIndex. self halt.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   279
    self listModel root doubleClickOn:theItem.
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   280
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   281
!
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   282
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   283
isItemSelectable:anIndex
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   284
"
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   285
checks if an item at anIndex can be selected. If an selection block
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   286
is set, evaluate it with the selected item.
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   287
(Callback from the tree).
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   288
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   289
<return: Boolean>
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   290
"
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   291
   selectionBlock ifNil:[^true].
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   292
   ^selectionBlock value:(self itemForSelectionIndex:anIndex)
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   293
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   294
! !
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   295
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   296
!ClassRevisionTree methodsFor:'aspects'!
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   297
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   298
icons
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   299
"
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   300
gets the icons from hierarchical list which should be registered on the view. 
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   301
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   302
<return: Dictionary of: Symbol->Image | nil>
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   303
"
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   304
    ^self hierarchicalList icons
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   305
!
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   306
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   307
listModel
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   308
"
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   309
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   310
<return: HierarchicalList>
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   311
"
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   312
    |holder|
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   313
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   314
    (holder := builder bindingAt:#listModel) isNil ifTrue:[
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   315
        holder := self hierarchicalList.
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   316
        builder aspectAt:#listModel put:holder.
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   317
        holder application:self.
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   318
    ].
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   319
    ^ holder.
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   320
! !
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   321
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   322
!ClassRevisionTree methodsFor:'change & update'!
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   323
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   324
update:something with:aParameter from:changedObject
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   325
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   326
     changedObject == self dataHolder
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   327
        ifTrue:[self setUpList].
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   328
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   329
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   330
! !
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   331
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   332
!ClassRevisionTree methodsFor:'interface opening'!
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   333
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   334
postBuildWith: aBuilder
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   335
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   336
    super postBuildWith: aBuilder.
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   337
    self listView:(self builder componentAt:#HierarchicalItemListView).
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   338
    selectionHolder notNil
2544
04ebb73c452f *** empty log message ***
ps
parents: 2538
diff changeset
   339
        ifTrue:[listView model:selectionHolder].
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   340
    self listView useDefaultIcons:false.
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   341
!
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   342
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   343
release
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   344
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   345
"/    self stopItemTask.    
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   346
    ^super release
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   347
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   348
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   349
! !
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   350
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   351
!ClassRevisionTree methodsFor:'menu actions'!
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   352
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   353
selectItemMenu
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   354
"
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   355
get the menu for the selected items.If a menuBlock is set then evalute this block
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   356
with the current selection.
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   357
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   358
<return: Menu|nil>
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   359
"
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   360
    ^ [ menuBlock value ]
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   361
! !
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   362
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   363
!ClassRevisionTree methodsFor:'private'!
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   364
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   365
setUpList
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   366
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   367
    self halt.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   368
    ^self hierarchicalList newData: self dataHolder value
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   369
! !
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   370
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   371
!ClassRevisionTree methodsFor:'protocol accessing'!
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   372
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   373
menuBlock
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   374
    "return the value of the instance variable 'menuBlock' (automatically generated)"
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   375
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   376
    ^ menuBlock
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   377
!
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   378
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   379
menuBlock:something
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   380
    "set the value of the instance variable 'menuBlock' (automatically generated)"
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   381
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   382
    menuBlock := something.!
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   383
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   384
selectionBlock
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   385
    "return the value of the instance variable 'selectionBlock' (automatically generated)"
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   386
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   387
    ^ selectionBlock!
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   388
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   389
selectionBlock:something
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   390
    "set the value of the instance variable 'selectionBlock' (automatically generated)"
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   391
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   392
    selectionBlock := something.!
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   393
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   394
selectionHolder
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   395
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   396
    ^selectionHolder
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   397
!
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   398
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   399
selectionHolder:aValueHolder
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   400
    "set the value of the instance variable 'revisionItemSelection' (automatically generated)"
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   401
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   402
    selectionHolder := aValueHolder.
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   403
    self listView ifNil:[^self].
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   404
    self listView model:selectionHolder
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   405
! !
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   406
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   407
!ClassRevisionTree methodsFor:'protocol setup'!
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   408
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   409
setupOnData:aDataObject
2538
65d455c152f0 defined source container
ps
parents: 2521
diff changeset
   410
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   411
    self dataHolder value:aDataObject.
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   412
"
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   413
|theTree infoLog theHierarchicalList|
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   414
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   415
theTree := ClassRevisionTree new.
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   416
theHierarchicalList := HierarchicalClassRevisionList new.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   417
theTree hierarchicalList:theHierarchicalList.
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   418
theTree open.
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   419
infoLog := OrderedCollection new.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   420
theTree setupOnData:infoLog.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   421
"
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   422
"
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   423
|theTree infoLog theHierarchicalList|
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   424
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   425
theTree := ClassRevisionTree new.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   426
theHierarchicalList := HierarchicalClassRevisionList new.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   427
theTree hierarchicalList:theHierarchicalList.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   428
infoLog := OrderedCollection new.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   429
CVSSourceCodeManager reportHistoryLogSince:'yesterday'
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   430
        filterSTSources:true 
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   431
        filterUser:nil 
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   432
        filterRepository:nil 
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   433
        inTo:[:info| infoLog add:info].
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   434
theTree open.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   435
theTree setupOnData:infoLog.
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   436
"
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   437
! !
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   438
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   439
!ClassRevisionTree class methodsFor:'documentation'!
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   440
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   441
version
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   442
    ^ '$Header: /cvs/stx/stx/libtool/ClassRevisionTree.st,v 1.7 2000-02-15 16:49:16 ps Exp $'
2520
36b0b3f51128 initial checkin
ps
parents:
diff changeset
   443
! !