ClassItemRoot.st
author Jan Vrany <jan.vrany@labware.com>
Wed, 05 Oct 2022 11:57:26 +0100
branchjv
changeset 19637 28f5bfaa093d
parent 15950 23be8cf85415
permissions -rw-r--r--
`NewSystemBrowser`: avoid updating package info when changed class is not selected This speeds up loading of packages when browser is open as it does not (needlessly) update package info which may involve scm round-trip.
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
"
12128
a7ff7d66ee85 Improvements in LintHighlighter, few fixes
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: 12431
diff changeset
    14
"{ NameSpace: Smalltalk }"
23be8cf85415 Bugfix in merge tool.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12431
diff changeset
    15
2540
e183741e7290 initial checkin
ps
parents:
diff changeset
    16
AbstractVersionDiffBrowserItem subclass:#ClassItemRoot
e183741e7290 initial checkin
ps
parents:
diff changeset
    17
	instanceVariableNames:''
e183741e7290 initial checkin
ps
parents:
diff changeset
    18
	classVariableNames:''
e183741e7290 initial checkin
ps
parents:
diff changeset
    19
	poolDictionaries:''
2547
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2544
diff changeset
    20
	category:'Interface-Browsers-Support'
2540
e183741e7290 initial checkin
ps
parents:
diff changeset
    21
!
e183741e7290 initial checkin
ps
parents:
diff changeset
    22
2547
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2544
diff changeset
    23
!ClassItemRoot class methodsFor:'documentation'!
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2544
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: 2544
diff changeset
    41
documentation
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2544
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: 2544
diff changeset
    44
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2544
diff changeset
    45
    [author:]
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2544
diff changeset
    46
        Pierre Schwarz (ps@exept.de)
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2544
diff changeset
    47
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2544
diff changeset
    48
    [see also:]
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2544
diff changeset
    49
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2544
diff changeset
    50
    [instance variables:]
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2544
diff changeset
    51
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2544
diff changeset
    52
    [class variables:]
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2544
diff changeset
    53
"
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2544
diff changeset
    54
49e7cb306cd5 category change
Claus Gittinger <cg@exept.de>
parents: 2544
diff changeset
    55
! !
2540
e183741e7290 initial checkin
ps
parents:
diff changeset
    56
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    57
!ClassItemRoot class methodsFor:'accessing'!
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    58
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    59
classItemClass
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    60
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    61
    ^ClassItem
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    62
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    63
! !
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    64
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    65
!ClassItemRoot methodsFor:'accessing'!
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    66
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    67
classItemClass
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    68
    "return the value of the instance variable 'classItemClass' (automatically generated)"
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    69
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    70
    ^ self class classItemClass
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    71
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    72
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    73
! !
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    74
2544
04ebb73c452f *** empty log message ***
ps
parents: 2540
diff changeset
    75
!ClassItemRoot methodsFor:'initialization'!
04ebb73c452f *** empty log message ***
ps
parents: 2540
diff changeset
    76
04ebb73c452f *** empty log message ***
ps
parents: 2540
diff changeset
    77
initialize
04ebb73c452f *** empty log message ***
ps
parents: 2540
diff changeset
    78
    super initialize.
04ebb73c452f *** empty log message ***
ps
parents: 2540
diff changeset
    79
    isExpanded := true.
04ebb73c452f *** empty log message ***
ps
parents: 2540
diff changeset
    80
! !
04ebb73c452f *** empty log message ***
ps
parents: 2540
diff changeset
    81
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    82
!ClassItemRoot methodsFor:'protocol'!
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    83
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    84
children
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    85
"
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    86
default childrens of the receiver are none. 
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    87
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    88
<return: Array>
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    89
"
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    90
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    91
    children ifNil:[
2625
d70f0361a027 doc; halts removed
Claus Gittinger <cg@exept.de>
parents: 2612
diff changeset
    92
        children := self computeChildrensFor:parent dataColl.
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    93
        children do:[:eachChild | eachChild parent:self]
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    94
    ].
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    95
    ^ children
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    96
2625
d70f0361a027 doc; halts removed
Claus Gittinger <cg@exept.de>
parents: 2612
diff changeset
    97
    "Modified: / 18.2.2000 / 15:02:12 / cg"
2612
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    98
!
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
    99
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   100
computeChildrensFor:aClassColl
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   101
"
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   102
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   103
<return: OrderedCollection|nil>
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   104
"
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   105
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   106
    |theClassItemColl|
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   107
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   108
    aClassColl ifNil:[^#()].
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   109
    theClassItemColl := aClassColl collect:[:eachClass |
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   110
        |theClassItem theClass|
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   111
        theClassItem := self classItemClass new.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   112
        theClass := Smalltalk resolveName:eachClass inClass:Smalltalk.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   113
        theClassItem myClass:theClass.
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   114
        theClassItem].
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   115
    ^theClassItemColl
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   116
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   117
!
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   118
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   119
doubleClickOn:anItem
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   120
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   121
    |listView|
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   122
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   123
    (anItem isExpandableRevisionItem and:[parent application listView sensor shiftDown])
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   124
        ifTrue: [anItem recursiveToggleExpand]
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   125
        ifFalse:[anItem toggleExpand]  
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   126
! !
ce84f1d3dae9 *** empty log message ***
ps
parents: 2547
diff changeset
   127
2544
04ebb73c452f *** empty log message ***
ps
parents: 2540
diff changeset
   128
!ClassItemRoot methodsFor:'queries'!
04ebb73c452f *** empty log message ***
ps
parents: 2540
diff changeset
   129
04ebb73c452f *** empty log message ***
ps
parents: 2540
diff changeset
   130
canCollapse
04ebb73c452f *** empty log message ***
ps
parents: 2540
diff changeset
   131
    ^ false
04ebb73c452f *** empty log message ***
ps
parents: 2540
diff changeset
   132
04ebb73c452f *** empty log message ***
ps
parents: 2540
diff changeset
   133
! !
04ebb73c452f *** empty log message ***
ps
parents: 2540
diff changeset
   134
2540
e183741e7290 initial checkin
ps
parents:
diff changeset
   135
!ClassItemRoot class methodsFor:'documentation'!
e183741e7290 initial checkin
ps
parents:
diff changeset
   136
e183741e7290 initial checkin
ps
parents:
diff changeset
   137
version
12128
a7ff7d66ee85 Improvements in LintHighlighter, few fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   138
    ^ '$Id: ClassItemRoot.st 7854 2012-01-30 17:49:41Z vranyj1 $'
a7ff7d66ee85 Improvements in LintHighlighter, few fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   139
!
a7ff7d66ee85 Improvements in LintHighlighter, few fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   140
12431
9f0c59c742d5 Added LintRuleSettingsApplication and LintRuleEditDialog to define user-defined rule sets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12128
diff changeset
   141
version_HG
9f0c59c742d5 Added LintRuleSettingsApplication and LintRuleEditDialog to define user-defined rule sets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12128
diff changeset
   142
9f0c59c742d5 Added LintRuleSettingsApplication and LintRuleEditDialog to define user-defined rule sets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12128
diff changeset
   143
    ^ '$Changeset: <not expanded> $'
9f0c59c742d5 Added LintRuleSettingsApplication and LintRuleEditDialog to define user-defined rule sets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12128
diff changeset
   144
!
9f0c59c742d5 Added LintRuleSettingsApplication and LintRuleEditDialog to define user-defined rule sets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12128
diff changeset
   145
12128
a7ff7d66ee85 Improvements in LintHighlighter, few fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   146
version_SVN
a7ff7d66ee85 Improvements in LintHighlighter, few fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   147
    ^ '$Id: ClassItemRoot.st 7854 2012-01-30 17:49:41Z vranyj1 $'
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   148
! !
12431
9f0c59c742d5 Added LintRuleSettingsApplication and LintRuleEditDialog to define user-defined rule sets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12128
diff changeset
   149