Tools__ClassList.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 14 Jun 2018 22:19:39 +0100
branchjv
changeset 18227 d25a407ba86d
parent 18226 346376844040
permissions -rw-r--r--
Mini testrunner: show "green" if there's at least one pass and rest is pass or skip This is more meaningfull result then showing "gray" if there's at least one skip.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
 COPYRIGHT (c) 2004 by eXept Software AG
18226
346376844040 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17525
diff changeset
     3
 COPYRIGHT (c) 2017 Jan Vrany
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
              All Rights Reserved
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
 This software is furnished under a license and may be used
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
 only in accordance with the terms of that license and with the
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
 inclusion of the above copyright notice.   This software may not
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
 be provided or otherwise made available to, or used by, any
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
 other person.  No title to or ownership of the software is
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
 hereby transferred.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
"{ Package: 'stx:libtool' }"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
"{ NameSpace: Tools }"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
BrowserList subclass:#ClassList
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
	instanceVariableNames:'classList classNameList meta lastSelectedClasses
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
		selectedClassNameIndices currentNamespace hidePrivateClasses
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
		unloadedClassesColor markApplicationsHolder classFilterBlock
16310
431559157925 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16060
diff changeset
    21
		sortByNameAndInheritance outGeneratorHolderForMethods
17291
3dccebf6b58f #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17247
diff changeset
    22
		addOwnerClasses ownersAddedForTheirPrivateClassesOnly'
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
	classVariableNames:''
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
	poolDictionaries:''
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
	category:'Interface-Browsers-New'
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
!ClassList class methodsFor:'documentation'!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
copyright
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
 COPYRIGHT (c) 2004 by eXept Software AG
18226
346376844040 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17525
diff changeset
    33
 COPYRIGHT (c) 2017 Jan Vrany
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
              All Rights Reserved
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
 This software is furnished under a license and may be used
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
 only in accordance with the terms of that license and with the
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
 inclusion of the above copyright notice.   This software may not
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
 be provided or otherwise made available to, or used by, any
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
 other person.  No title to or ownership of the software is
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
 hereby transferred.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
documentation
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
    embeddable application displaying the classes as listed by
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
    the inputGenerator.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
    Provides an outputGenerator, which enumerates the classes and
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
    their protocols (method-categories) in the selected classes.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
    [author:]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
	Claus Gittinger (cg@exept.de)
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
! !
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
!ClassList class methodsFor:'interface specs'!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
singleClassWindowSpec
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
    "This resource specification was automatically generated
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
     by the UIPainter of ST/X."
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
    "Do not manually edit this!! If it is corrupted,
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
     the UIPainter may not be able to read the specification."
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
    "
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
     UIPainter new openOnClass:ClassList andSelector:#singleClassWindowSpec
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
     ClassList new openInterface:#singleClassWindowSpec
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
    "
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
    <resource: #canvas>
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
    ^ 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
     #(#FullSpec
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
	#name: #windowSpec
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
	#window: 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
       #(#WindowSpec
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
	  #label: 'ClassList'
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
	  #name: 'ClassList'
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
	  #min: #(#Point 0 0)
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
	  #max: #(#Point 1024 721)
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
	  #bounds: #(#Rectangle 12 22 312 322)
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
	)
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
	#component: 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
       #(#SpecCollection
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
	  #collection: #(
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
	   #(#LabelSpec
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
	      #label: 'ClassName'
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
	      #name: 'ClassLabel'
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
	      #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 25 0)
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
	      #translateLabel: true
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
	      #labelChannel: #classLabelHolder
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
	      #menu: #menuHolder
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
	    )
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
"/           #(#UISubSpecification
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
"/              #name: 'MetaToggleSpec'
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
"/              #layout: #(#LayoutFrame 0 0.0 -25 1.0 0 1.0 0 1.0)
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
"/              #minorKey: #metaSpec
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
"/            )
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
	   )
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
         
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
	)
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
      )
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
windowSpec
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
    "This resource specification was automatically generated
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
     by the UIPainter of ST/X."
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
    "Do not manually edit this!! If it is corrupted,
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
     the UIPainter may not be able to read the specification."
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
    "
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
     UIPainter new openOnClass:ClassList andSelector:#windowSpec
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
     ClassList new openInterface:#windowSpec
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
     ClassList open
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
    "
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
    <resource: #canvas>
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
    ^ 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
     #(#FullSpec
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
        #name: #windowSpec
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
        #window: 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
       #(#WindowSpec
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
          #label: 'ClassList'
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
          #name: 'ClassList'
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
          #min: #(#Point 0 0)
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
          #bounds: #(#Rectangle 16 46 316 346)
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
        )
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
        #component: 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
       #(#SpecCollection
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
          #collection: #(
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
           #(#SequenceViewSpec
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
              #name: 'List'
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
              #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
              #tabable: true
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
              #model: #selectedClassNameIndices
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
              #menu: #menuHolder
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
              #hasHorizontalScrollBar: true
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
              #hasVerticalScrollBar: true
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
              #miniScrollerHorizontal: true
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
              #isMultiSelect: true
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
              #valueChangeSelector: #selectionChangedByClick
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
              #useIndex: true
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
              #sequenceList: #classNameList
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
              #doubleClickChannel: #doubleClickChannel
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
              #properties: 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
             #(#PropertyListDictionary
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   152
                #dragArgument: nil
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153
                #dropArgument: nil
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
                #canDropSelector: #canDropContext:
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
                #dropSelector: #doDropContext:
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   156
              )
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   157
            )
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   158
           )
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
         
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
        )
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
      )
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
! !
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   163
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
!ClassList class methodsFor:'plugIn spec'!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   166
aspectSelectors
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   167
    "This resource specification was automatically generated
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
     by the UIPainter of ST/X."
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   169
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
    "Do not manually edit this. If it is corrupted,
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
     the UIPainter may not be able to read the specification."
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   172
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
    "Return a description of exported aspects;
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   174
     these can be connected to aspects of an embedding application
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   175
     (if this app is embedded in a subCanvas)."
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
    ^ #(
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178
        environmentHolder
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
        #currentNamespace
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
        #(#doubleClickChannel #action )
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
        #forceGeneratorTrigger
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
        #hidePrivateClasses
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   183
        #hideUnloadedClasses
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   184
        #sortByNameAndInheritance
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   185
        #immediateUpdate
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   186
        #inGeneratorHolder
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   187
        #menuHolder
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   188
        #meta
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   189
        #organizerMode
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   190
        #outGeneratorHolder
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   191
        #packageFilter
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
        #nameSpaceFilter
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   193
        #selectedClasses
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   194
        #selectionChangeCondition
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   195
        #showClassPackages
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   196
        #slaveMode
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   197
        #updateTrigger
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   198
        #markApplicationsHolder
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   199
        #showCoverageInformation
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   200
        #outGeneratorHolderForMethods
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   201
      ).
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   202
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   203
    "Modified: / 04-07-2011 / 18:34:44 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   204
    "Modified: / 24-02-2014 / 10:37:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   205
! !
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   206
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   207
!ClassList methodsFor:'accessing'!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   208
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   209
markApplications
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   210
    "return the value of the instance variable 'markApplications' (automatically generated)"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   211
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   212
    ^ self markApplicationsHolder value
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   213
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   214
    "Created: / 3.11.2001 / 14:06:19 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   215
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   216
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   217
markApplications:something
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   218
    "set the value of the instance variable 'markApplications' (automatically generated)"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   219
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   220
    self markApplicationsHolder value:something.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   221
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   222
    "Created: / 3.11.2001 / 14:06:25 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   223
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   224
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   225
unloadedClassesColor
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   226
    "return the value of the instance variable 'unloadedClassesColor' (automatically generated)"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   227
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   228
    ^ unloadedClassesColor
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   229
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   230
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   231
unloadedClassesColor:something
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   232
    "set the value of the instance variable 'unloadedClassesColor' (automatically generated)"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   233
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   234
    unloadedClassesColor := something.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   235
! !
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   236
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   237
!ClassList methodsFor:'aspects'!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   238
16310
431559157925 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16060
diff changeset
   239
addOwnerClasses
431559157925 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16060
diff changeset
   240
    addOwnerClasses isNil ifTrue:[
431559157925 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16060
diff changeset
   241
        addOwnerClasses := ValueHolder with:true.
431559157925 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16060
diff changeset
   242
        addOwnerClasses addDependent:self.
431559157925 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16060
diff changeset
   243
    ].
431559157925 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16060
diff changeset
   244
    ^ addOwnerClasses.
431559157925 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16060
diff changeset
   245
!
431559157925 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16060
diff changeset
   246
17291
3dccebf6b58f #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17247
diff changeset
   247
addOwnerClasses:aBooleanValueHolder
16310
431559157925 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16060
diff changeset
   248
    addOwnerClasses notNil ifTrue:[
431559157925 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16060
diff changeset
   249
        addOwnerClasses removeDependent:self
431559157925 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16060
diff changeset
   250
    ].
17291
3dccebf6b58f #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17247
diff changeset
   251
    addOwnerClasses := aBooleanValueHolder.
16310
431559157925 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16060
diff changeset
   252
    addOwnerClasses notNil ifTrue:[
431559157925 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16060
diff changeset
   253
        addOwnerClasses addDependent:self
431559157925 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16060
diff changeset
   254
    ].
431559157925 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16060
diff changeset
   255
!
431559157925 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16060
diff changeset
   256
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   257
classLabelHolder
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   258
    ^ self pseudoListLabelHolder
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   259
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   260
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   261
classList
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   262
    classList isNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   263
	classList := ValueHolder new.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   264
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   265
    ^ classList
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   266
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   267
    "Created: / 5.2.2000 / 13:42:16 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   268
    "Modified: / 25.2.2000 / 02:21:07 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   269
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   270
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   271
classNameList
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   272
    classNameList isNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   273
	classNameList := ValueHolder new
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   274
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   275
    ^ classNameList
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   276
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   277
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   278
currentNamespace:aValueHolder
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   279
    currentNamespace notNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   280
	currentNamespace removeDependent:self
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   281
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   282
    currentNamespace := aValueHolder.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   283
    currentNamespace notNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   284
	currentNamespace isBehavior ifTrue:[self halt:'should not happen'].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   285
	currentNamespace addDependent:self
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   286
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   287
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   288
    "Modified: / 4.2.2000 / 23:34:28 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   289
    "Created: / 5.2.2000 / 21:37:57 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   290
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   291
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   292
doubleClick
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   293
    self halt:'should not happen'.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   294
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   295
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   296
hidePrivateClasses
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   297
    hidePrivateClasses isNil ifTrue:[
15266
90c0957d8f92 class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15252
diff changeset
   298
        hidePrivateClasses := ValueHolder with:false.
90c0957d8f92 class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15252
diff changeset
   299
        hidePrivateClasses addDependent:self.
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   300
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   301
    ^ hidePrivateClasses.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   302
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   303
    "Created: / 24.2.2000 / 15:06:44 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   304
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   305
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   306
hidePrivateClasses:aValueHolder
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   307
    hidePrivateClasses notNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   308
	hidePrivateClasses removeDependent:self
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   309
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   310
    hidePrivateClasses := aValueHolder.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   311
    hidePrivateClasses notNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   312
	hidePrivateClasses addDependent:self
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   313
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   314
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   315
    "Created: / 24.2.2000 / 15:06:46 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   316
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   317
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   318
markApplicationsHolder
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   319
    markApplicationsHolder isNil ifTrue:[
15266
90c0957d8f92 class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15252
diff changeset
   320
        markApplicationsHolder := ValueHolder with:true.
90c0957d8f92 class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15252
diff changeset
   321
        markApplicationsHolder addDependent:self.
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   322
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   323
    ^ markApplicationsHolder.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   324
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   325
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   326
markApplicationsHolder:aValueHolder
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   327
    markApplicationsHolder notNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   328
	markApplicationsHolder removeDependent:self
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   329
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   330
    markApplicationsHolder := aValueHolder.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   331
    markApplicationsHolder notNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   332
	markApplicationsHolder addDependent:self
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   333
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   334
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   335
    "Created: / 24.2.2000 / 15:06:46 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   336
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   337
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   338
meta
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   339
    meta isNil ifTrue:[
15266
90c0957d8f92 class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15252
diff changeset
   340
        meta := ValueHolder with:false.
90c0957d8f92 class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15252
diff changeset
   341
        meta addDependent:self
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   342
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   343
    ^ meta
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   344
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   345
    "Modified: / 31.1.2000 / 01:19:59 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   346
    "Created: / 5.2.2000 / 13:42:16 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   347
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   348
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   349
meta:aValueHolder
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   350
"/ (aValueHolder == true or:[aValueHolder == false]) ifTrue:[self halt].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   351
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   352
    meta notNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   353
	meta removeDependent:self
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   354
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   355
    meta := aValueHolder.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   356
    meta notNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   357
	meta addDependent:self
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   358
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   359
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   360
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   361
selectClass:aClass
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   362
    self selectedClasses value:(Array with:aClass)
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   363
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   364
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   365
selectedClassNameIndices
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   366
    selectedClassNameIndices isNil ifTrue:[
15266
90c0957d8f92 class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15252
diff changeset
   367
        selectedClassNameIndices := ValueHolder with:#().
90c0957d8f92 class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15252
diff changeset
   368
        selectedClassNameIndices addDependent:self
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   369
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   370
    ^ selectedClassNameIndices.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   371
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   372
    "Created: / 5.2.2000 / 21:31:48 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   373
    "Modified: / 5.2.2000 / 21:43:02 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   374
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   375
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   376
selectedClasses
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   377
    "bad name- it's a holder, baby"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   378
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   379
    ^ self selectionHolder
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   380
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   381
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   382
selectedClasses:aValueHolder
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   383
    "bad name- its a holder, baby"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   384
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   385
    ^ self selectionHolder:aValueHolder
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   386
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   387
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   388
sortByNameAndInheritance
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   389
    sortByNameAndInheritance isNil ifTrue:[
15266
90c0957d8f92 class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15252
diff changeset
   390
        sortByNameAndInheritance := ValueHolder with:false.
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   391
        sortByNameAndInheritance addDependent:self.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   392
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   393
    ^ sortByNameAndInheritance.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   394
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   395
    "Created: / 04-07-2011 / 18:28:15 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   396
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   397
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   398
sortByNameAndInheritance:something
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   399
    "set the 'sortByNameAndInheritance' value holder (automatically generated)"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   400
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   401
    |oldValue newValue|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   402
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   403
    sortByNameAndInheritance notNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   404
        oldValue := sortByNameAndInheritance value.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   405
        sortByNameAndInheritance removeDependent:self.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   406
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   407
    sortByNameAndInheritance := something.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   408
    sortByNameAndInheritance notNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   409
        sortByNameAndInheritance addDependent:self.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   410
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   411
    newValue := sortByNameAndInheritance value.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   412
    oldValue ~~ newValue ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   413
        self update:#value with:newValue from:sortByNameAndInheritance.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   414
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   415
! !
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   416
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   417
!ClassList methodsFor:'change & update'!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   418
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   419
classDefinitionChanged:aClassOrNil
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   420
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   421
    listValid ifFalse:[^ self].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   422
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   423
    slaveMode value == true ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   424
	self invalidateList.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   425
	^ self.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   426
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   427
    self slaveMode value isNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   428
	self window shown ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   429
	    self invalidateList.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   430
	    ^ self
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   431
	].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   432
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   433
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   434
    aClassOrNil isNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   435
	self halt:'should not happen'.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   436
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   437
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   438
    "/ if that class is in my list ...
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   439
    ((self classList value ? #()) contains:[:cls | cls notNil and:[cls theNonMetaclass name = aClassOrNil theNonMetaclass name]])
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   440
    ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   441
	self updateListsFor:aClassOrNil.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   442
	"/ force update
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   443
	self selectedClassNameIndices value:(self selectedClassNameIndices value).
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   444
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   445
	((self selectedClasses value ? #()) contains:[:cls | cls notNil ifTrue:[cls theNonMetaclass name = aClassOrNil theNonMetaclass name] ifFalse:[false]]) 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   446
	ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   447
	    self updateOutputGenerator
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   448
	].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   449
    ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   450
	self invalidateList
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   451
    ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   452
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   453
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   454
    "Modified: / 29.2.2000 / 00:15:23 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   455
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   456
15126
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   457
classIsInList:cls
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   458
    |classListValue|
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   459
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   460
    cls notNil ifTrue:[
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   461
        classListValue := classList value.
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   462
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   463
        classListValue size > 0 ifTrue:[
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   464
            ((classListValue includesIdentical:cls theNonMetaclass)
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   465
            or:[(classListValue includesIdentical:cls theMetaclass)]) ifTrue:[
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   466
                ^ true.
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   467
            ]
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   468
        ]
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   469
    ].
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   470
    ^ false.
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   471
!
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   472
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   473
classRemoved:aClass
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   474
    |list|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   475
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   476
    list := self classList value.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   477
    list notNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   478
	(list includesIdentical:aClass) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   479
	    self invalidateList.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   480
	]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   481
    ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   482
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   483
    "Modified: / 25.2.2000 / 23:53:51 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   484
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   485
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   486
delayedUpdate:something with:aParameter from:changedObject
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   487
    |cls classes chgClass wg savedList|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   488
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   489
    classes := self classList value ? #().
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   490
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   491
"/    (self slaveMode value == true) ifTrue:[^ self].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   492
"/    self slaveMode value isNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   493
"/        self window shown ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   494
"/            self invalidateList.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   495
"/            ^ self
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   496
"/        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   497
"/    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   498
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   499
    changedObject == slaveMode ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   500
        "/ a previously suppressed update is now due
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   501
        listValid ~~ true ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   502
            self enqueueDelayedUpdateList.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   503
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   504
        self enqueueDelayedClassSelectionChanged.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   505
        ^  self
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   506
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   507
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   508
    changedObject == self selectedClasses ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   509
        self inSlaveMode ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   510
            savedList := self selectedClasses value.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   511
            lastSelectedClasses := nil.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   512
            listValid == true ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   513
                self updateList
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   514
            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   515
            self selectedClasses setValue:savedList.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   516
            self selectedClassesChanged.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   517
            self updateOutputGenerator.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   518
        ] ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   519
"/            listValid := false.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   520
            self selectedClassesChanged.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   521
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   522
        ^ self 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   523
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   524
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   525
    (changedObject == meta 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   526
    or:[changedObject == selectedClassNameIndices]) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   527
        self inSlaveMode ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   528
            self selectionChanged.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   529
        ] ifTrue:[
14862
fce6c99c72fc access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents: 14706
diff changeset
   530
            self setListValid:false.
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   531
            self selectedClassesChanged.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   532
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   533
        ^ self
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   534
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   535
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   536
    self inSlaveModeOrInvisible ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   537
        self invalidateList.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   538
        ^ self.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   539
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   540
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   541
    changedObject == environment ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   542
        something == #methodInClass ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   543
            ^ self "no interest" 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   544
        ].    
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   545
        something == #methodInClassRemoved ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   546
            "/ must update the list, if the methods package is different from
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   547
            "/ the classes package (to undo any has-exension highlighting)
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   548
            cls := aParameter first.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   549
            self updateListsFor:cls.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   550
            ^ self 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   551
        ].    
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   552
        something == #organization ifTrue:[^ self "no interest" ].    
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   553
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   554
        (something == #classDefinition 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   555
        or:[something == #classVariables
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   556
        or:[something == #newClass]]) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   557
            "/ update that class in my classList and the selection
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   558
            listValid ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   559
                self classDefinitionChanged:aParameter.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   560
            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   561
            ^ self.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   562
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   563
        (something == #lastTestRunResult) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   564
            "/ update that class in my classList and the selection
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   565
            listValid ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   566
                self updateListsFor:aParameter.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   567
                "/ self classDefinitionChanged:aParameter.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   568
            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   569
            ^ self.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   570
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   571
        something == #classRemove ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   572
            "/ update my classList and the selection
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   573
            self classRemoved:aParameter.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   574
            ^ self.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   575
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   576
        something == #classRename ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   577
            "/ update that class in my classList and the selection
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   578
            listValid ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   579
                aParameter isArray ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   580
                    cls := aParameter at:1.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   581
                    self classDefinitionChanged:cls.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   582
                ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   583
            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   584
            ^ self.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   585
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   586
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   587
        something == #projectOrganization ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   588
            aParameter isNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   589
                self invalidateList.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   590
                organizerMode value == #project ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   591
                    self enqueueDelayedUpdateOutputGenerator.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   592
                ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   593
                ^ self
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   594
            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   595
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   596
            cls := aParameter at:1.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   597
            cls notNil ifTrue:[  "/ should not happen (but does occasionally)
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   598
                ((classes includes:cls theMetaclass)
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   599
                or:[(classes includes:cls theNonMetaclass)]) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   600
                    self invalidateList.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   601
                    organizerMode value == #project ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   602
                        self enqueueDelayedUpdateOutputGenerator.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   603
                    ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   604
                ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   605
            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   606
            ^ self
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   607
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   608
        ^ self.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   609
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   610
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   611
    (something == #lastTestRunResult) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   612
        ^ self
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   613
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   614
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   615
    changedObject == ChangeSet ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   616
        wg := self windowGroup.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   617
        wg isNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   618
            changedObject removeDependent:self.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   619
        ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   620
            "/ react on changes of the changeSet to recolorize items
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   621
            ((something ~~ #addChange:)
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   622
                or:[ 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   623
                    chgClass := aParameter changeClass.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   624
                    chgClass notNil 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   625
                    and:[ (classes includes:chgClass theNonMetaclass) 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   626
                          or:[classes includes:chgClass theMetaclass]]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   627
                ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   628
            ) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   629
                wg sensor 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   630
                    flushEventsFor:self 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   631
                    where:[:ev | ev isMessageSendEvent 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   632
                                 and:[ev selector == #delayedUpdate:with:from:
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   633
                                 and:[(ev arguments at:3) == ChangeSet]]].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   634
                self enqueueDelayedAction:[self reconstructNameList].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   635
            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   636
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   637
        ^ self 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   638
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   639
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   640
    changedObject == showClassPackages ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   641
        self classNameList value:nil.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   642
        self invalidateList.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   643
        ^ self 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   644
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   645
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   646
    (changedObject == hideUnloadedClasses
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   647
    or:[changedObject == hidePrivateClasses
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   648
    or:[changedObject == nameSpaceFilter
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   649
    or:[changedObject == packageFilter]]]) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   650
        self invalidateList.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   651
        ^ self 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   652
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   653
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   654
    super delayedUpdate:something with:aParameter from:changedObject
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   655
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   656
    "Modified: / 13.11.2001 / 11:32:10 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   657
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   658
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   659
enqueueDelayedClassSelectionChanged
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   660
    (NewSystemBrowser synchronousUpdate == true
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   661
    or:[ immediateUpdate value == true ])
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   662
    ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   663
        self selectedClassesChanged.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   664
        ^ self.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   665
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   666
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   667
    self enqueueMessage:#selectedClassesChanged for:self arguments:#()
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   668
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   669
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   670
getSelectedClassIndicesFromClasses
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   671
    "the class selection has changed;
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   672
     return a collection of selection-indices"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   673
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   674
    |classes selectedClasses numSelected|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   675
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   676
    classes := self classList value.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   677
    selectedClasses := self selectedClasses value.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   678
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   679
    numSelected := selectedClasses size.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   680
    numSelected == 0 ifTrue:[
16060
df52313e578b #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 15563
diff changeset
   681
        ^ #()
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   682
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   683
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   684
    numSelected == classes size ifTrue:[
16060
df52313e578b #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 15563
diff changeset
   685
        "/ all selected - easy
df52313e578b #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 15563
diff changeset
   686
        ^ (1 to:numSelected) asOrderedCollection
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   687
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   688
    meta value ifTrue:[
16060
df52313e578b #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 15563
diff changeset
   689
        classes := classes collect:[:eachClass | eachClass theMetaclass].
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   690
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   691
16060
df52313e578b #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 15563
diff changeset
   692
    ^ selectedClasses 
df52313e578b #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 15563
diff changeset
   693
        collect:[:aSelectedClass | classes identityIndexOf:aSelectedClass]
df52313e578b #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 15563
diff changeset
   694
        thenSelect:[:idx | idx ~= 0].
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   695
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   696
    "Created: / 24.2.2000 / 19:47:52 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   697
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   698
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   699
getSelectedClassesFromIndices
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   700
    "the selection-index collection has changed;
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   701
     return a collection of corresponding classes"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   702
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   703
    |selected classes allEntrySelected isMeta anyLost selectedClassNameIndices|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   704
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   705
    allEntrySelected := false.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   706
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   707
    classes := classList value.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   708
    classes isNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   709
        self updateList.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   710
        classes := classList value.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   711
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   712
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   713
    isMeta := meta value.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   714
    anyLost := false.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   715
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   716
    selectedClassNameIndices := self selectedClassNameIndices value.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   717
    selectedClassNameIndices size == classes size ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   718
        selectedClassNameIndices size == 0 ifTrue:[^ #()].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   719
        isMeta ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   720
            ^ classes collect:[:eachClass | eachClass theMetaclass].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   721
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   722
        ^ classes collect:[:eachClass | eachClass theNonMetaclass].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   723
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   724
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   725
    selected := selectedClassNameIndices 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   726
                    collect:[:idx |
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   727
                                |cls|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   728
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   729
                                cls := classes at:idx.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   730
                                cls == (self class nameListEntryForALL) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   731
                                    allEntrySelected := true.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   732
                                ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   733
                                    cls notNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   734
                                        isMeta ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   735
                                            cls := cls theMetaclass
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   736
                                        ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   737
                                            cls := cls theNonMetaclass
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   738
                                        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   739
                                    ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   740
                                        anyLost := true
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   741
                                    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   742
                                ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   743
                                cls
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   744
                            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   745
    anyLost ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   746
        selected := selected select:[:each | each notNil].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   747
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   748
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   749
"/    allEntrySelected ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   750
"/        selected := classList value select:[:cls | cls ~~ AllEntry].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   751
"/        meta value ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   752
"/            selected := selected collect:[:cls | cls theMetaclass].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   753
"/        ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   754
"/            selected := selected collect:[:cls | cls theNonMetaclass].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   755
"/        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   756
"/    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   757
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   758
    ^ selected.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   759
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   760
    "Created: / 24.2.2000 / 19:43:37 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   761
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   762
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   763
selectedClassesChanged
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   764
    |indices selectedClassNameIndicesHolder|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   765
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   766
    self classList value size == 0 ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   767
	"/ this may happen during early startup, 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   768
	"/ when invoked with a preset classSelection,
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   769
	"/ and the classGenerator has not yet been setup
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   770
	"/ to not clobber the selection, defer the update
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   771
	"/ until the classList arrives ...
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   772
	^ self
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   773
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   774
    "/ lastSelectedClasses := self selectedClasses value copy.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   775
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   776
    indices := self getSelectedClassIndicesFromClasses. 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   777
    selectedClassNameIndicesHolder := self selectedClassNameIndices.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   778
    selectedClassNameIndicesHolder value ~= indices ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   779
	"/ in slaveMode, do not update selectedClasses from indices
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   780
	true "slaveMode value" ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   781
	    selectedClassNameIndicesHolder value:indices withoutNotifying:self
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   782
	] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   783
	    selectedClassNameIndicesHolder value:indices.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   784
	]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   785
    ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   786
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   787
    "Created: / 13.2.2000 / 22:18:10 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   788
    "Modified: / 24.2.2000 / 19:48:56 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   789
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   790
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   791
selectionChanged
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   792
    "the lists selection has changed. Since the list uses indices,
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   793
     update the corresponding selectedClasses collection"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   794
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   795
    |selected prevSelection selectedClassesHolder|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   796
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   797
    selectedClassesHolder := self selectedClasses.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   798
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   799
    selected := self getSelectedClassesFromIndices.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   800
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   801
    prevSelection := selectedClassesHolder value ? #().
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   802
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   803
    prevSelection ~= selected ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   804
        selectedClassesHolder value:selected.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   805
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   806
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   807
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   808
selectionChangedByClick
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   809
    "we are not interested in that - get another notification
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   810
     via the changed valueHolder"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   811
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   812
    |selected master|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   813
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   814
    selected := self getSelectedClassesFromIndices.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   815
    (selected = lastSelectedClasses and:[selected size == 1])
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   816
    ifTrue:[
16864
462b8bf8e26d #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16494
diff changeset
   817
        "/ that's a kludge - we want to turn off the protocol selection,
462b8bf8e26d #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16494
diff changeset
   818
        "/ when a class is reselected.
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   819
16864
462b8bf8e26d #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16494
diff changeset
   820
        masterApplication notNil ifTrue:[
462b8bf8e26d #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16494
diff changeset
   821
            master := masterApplication.
462b8bf8e26d #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16494
diff changeset
   822
            masterApplication masterApplication notNil ifTrue:[
462b8bf8e26d #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16494
diff changeset
   823
                master := masterApplication masterApplication.
462b8bf8e26d #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16494
diff changeset
   824
            ].
462b8bf8e26d #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16494
diff changeset
   825
            (master respondsTo:#classReselected) ifTrue:[
462b8bf8e26d #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16494
diff changeset
   826
                master classReselected.
462b8bf8e26d #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16494
diff changeset
   827
            ].
462b8bf8e26d #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16494
diff changeset
   828
        ] 
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   829
    ] ifFalse:[
16864
462b8bf8e26d #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16494
diff changeset
   830
        lastSelectedClasses := selected copy.
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   831
    ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   832
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   833
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   834
update:something with:aParameter from:changedObject
15126
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   835
    |cls sel mthd newMethod oldMethod idx classListValue change|
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   836
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   837
    self inSlaveMode ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   838
        something == #methodInClass ifTrue:[ ^ self ].
15126
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   839
        something == #addChange:    ifTrue:[ listValid ifTrue:[self invalidateList]. ^ self ].
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   840
        something == #methodCoverageInfo ifTrue:[ self invalidateList. ^ self ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   841
    ].
15252
d36253dbbd76 class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15126
diff changeset
   842
d36253dbbd76 class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15126
diff changeset
   843
    something == #lastTestRunResult ifTrue:[
d36253dbbd76 class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15126
diff changeset
   844
        (self window sensor isNil or:[self window sensor class == SynchronousWindowSensor]) ifTrue:[
d36253dbbd76 class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15126
diff changeset
   845
            "/ not visible ...
d36253dbbd76 class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15126
diff changeset
   846
            self invalidateList.
d36253dbbd76 class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15126
diff changeset
   847
            ^ self
d36253dbbd76 class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15126
diff changeset
   848
        ].
d36253dbbd76 class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15126
diff changeset
   849
    ].
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   850
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   851
    classListValue := classList value.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   852
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   853
    changedObject == environment ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   854
        something == #classComment ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   855
            ^ self.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   856
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   857
        something == #methodDictionary ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   858
            ^ self 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   859
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   860
        something == #methodTrap ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   861
            ^ self
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   862
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   863
        something == #coverageInfo ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   864
            listValid == true ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   865
                self enqueueDelayedUpdateList
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   866
            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   867
            ^ self.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   868
        ].
15126
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   869
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   870
        something == #addChange: ifTrue:[ 
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   871
            listValid ifTrue:[
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   872
                change := aParameter.
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   873
                change isMethodCategoryChange ifTrue:[
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   874
                    cls := change changeClass.
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   875
                    (self classIsInList:cls) ifTrue:[
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   876
                        self updateListsFor:aParameter.
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   877
                        "/ self enqueueDelayedUpdateList
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   878
                    ].
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   879
                ].
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   880
            ].
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   881
            ^ self 
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   882
        ].
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   883
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   884
        something == #methodCoverageInfo ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   885
            listValid == true ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   886
                mthd := aParameter.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   887
                cls := mthd mclass.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   888
                cls notNil ifTrue:[
15126
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   889
                    (self classIsInList:cls) ifTrue:[
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   890
                        self enqueueDelayedUpdateList
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   891
                    ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   892
                ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   893
            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   894
            ^ self
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   895
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   896
        something == #lastTestRunResult ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   897
            cls := aParameter at:1.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   898
            sel := aParameter at:2.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   899
            "/ JV: Note: change is triggered only if outcome changes
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   900
            cls notNil ifTrue:[
15126
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   901
                (self classIsInList:cls) ifTrue:[
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   902
                    self enqueueDelayedUpdateList
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   903
                ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   904
            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   905
            ^ self
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   906
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   907
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   908
        something == #methodInClassRemoved ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   909
            self inSlaveMode ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   910
                cls := aParameter at:1.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   911
                cls notNil ifTrue:[
15126
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   912
                    (self classIsInList:cls) ifTrue:[
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   913
                        self enqueueDelayedUpdateList
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   914
                    ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   915
                ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   916
            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   917
            ^ self
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   918
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   919
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   920
        something == #methodInClass ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   921
            cls := aParameter at:1.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   922
            cls notNil ifTrue:[
15126
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   923
                (self classIsInList:cls) ifTrue:[
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   924
                    newMethod := cls compiledMethodAt:(aParameter at:2).
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   925
                    oldMethod := aParameter at:3.
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   926
                    ((oldMethod isNil
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   927
                        and:[newMethod package ~= cls package])
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   928
                    or:[oldMethod notNil
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   929
                        and:[newMethod package ~= oldMethod package]])
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   930
                    ifTrue:[
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   931
                        "/ must update the list (for the package-info)
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
   932
                        self enqueueDelayedUpdateList
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   933
                    ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   934
                ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   935
            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   936
            ^ self
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   937
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   938
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   939
        "/ kludge: must be careful if my inGenerator is a constant list.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   940
        "/ in that case, I have to update it 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   941
        "/ (sigh - all a consequence of not #becoming the new class)
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   942
        ((something == #classDefinition) or:[something == #newClass]) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   943
            inGeneratorHolder value isOrderedCollection ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   944
                idx := inGeneratorHolder value findFirst:[:eachClass | eachClass name = aParameter theNonMetaclass name].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   945
                idx ~~ 0 ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   946
                    inGeneratorHolder value at:idx put:aParameter.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   947
                    self updateListsFor:aParameter.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   948
                    "/ self enqueueDelayedUpdateList.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   949
                ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   950
            ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   951
                classListValue size > 0 ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   952
                    idx := classListValue findFirst:[:eachClass | eachClass name = aParameter theNonMetaclass name].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   953
                    idx ~~ 0 ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   954
                        listValid ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   955
                            self classDefinitionChanged:aParameter.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   956
                            ^ self.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   957
                        ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   958
                    ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   959
                ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   960
            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   961
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   962
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   963
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   964
    changedObject == sortByNameAndInheritance ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   965
        self invalidateList.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   966
        ^ self.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   967
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   968
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   969
    super update:something with:aParameter from:changedObject
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   970
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   971
    "Modified: / 05-06-2012 / 23:39:34 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   972
    "Modified: / 06-12-2013 / 17:06:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   973
! !
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   974
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   975
!ClassList methodsFor:'drag & drop'!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   976
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   977
canDropContext:aDropContext
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   978
    |objects|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   979
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   980
    objects := aDropContext dropObjects collect:[:obj | obj theObject].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   981
    (objects conform:[:anObject | anObject isMethod]) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   982
        |methods cls|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   983
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   984
        methods := objects.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   985
        cls := self classAtTargetPointOf:aDropContext.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   986
        cls isNil ifTrue:[^ false].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   987
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   988
        ^ methods contains:[:aMethod | aMethod mclass ~= cls]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   989
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   990
    (self objectsAreClassFiles:objects) ifTrue:[^ true].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   991
    ^ false.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   992
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   993
    "Modified: / 17-10-2006 / 18:26:07 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   994
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   995
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   996
classAtTargetPointOf:aDropContext
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   997
    |p classListView lineNr cls|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   998
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   999
    p := aDropContext targetPoint.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1000
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1001
    classListView := aDropContext targetWidget.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1002
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1003
    lineNr := classListView lineAtY:p y.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1004
    lineNr isNil ifTrue:[^ nil].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1005
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1006
    cls := classList value at:lineNr.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1007
    ^ cls
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1008
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1009
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1010
doDropContext:aDropContext
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1011
    |objects browser|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1012
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1013
    browser := self masterApplication.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1014
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1015
    objects := aDropContext dropObjects collect:[:aDropObject | aDropObject theObject].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1016
    (objects conform:[:something | something isMethod]) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1017
        |cls methods|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1018
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1019
        methods := objects.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1020
        cls := self classAtTargetPointOf:aDropContext.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1021
        methods first mclass isMeta ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1022
            cls := cls theMetaclass
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1023
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1024
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1025
        cls notNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1026
            methods := methods reject:[:mthd | mthd mclass theNonMetaclass == cls theNonMetaclass].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1027
            methods notEmpty ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1028
                aDropContext dragType == DropContext dragTypeCopy ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1029
                    browser copyMethods:methods toClass:cls.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1030
                ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1031
                    browser moveMethods:methods toClass:cls.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1032
                ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1033
            ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1034
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1035
        ^ self
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1036
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1037
    (objects conform:[:something | something isFilename]) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1038
        self dropClassFiles:objects.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1039
        ^ self
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1040
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1041
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1042
    "Modified: / 21-10-2006 / 20:39:55 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1043
! !
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1044
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1045
!ClassList methodsFor:'generators'!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1046
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1047
makeGenerator
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1048
    "return a generator which enumerates the method categories from the selected class;
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1049
     that generator generates 2-element elements (includes the class), in order
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1050
     to make the consumers only depend on one input (i.e. no need for another
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1051
     classHolder in the methodList)."
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1052
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1053
    ^ Iterator 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1054
        on:[:whatToDo |
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1055
                |allEntry classes cls already anyMethod packages classIsInPackage 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1056
                 showChanged changedClasses|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1057
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1058
                allEntry := self class nameListEntryForALL.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1059
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1060
                classes := self selectedClasses value ? #().
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1061
                packages := packageFilter value value.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1062
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1063
                (packages notNil and:[packages includes:allEntry]) ifTrue:[packages := nil].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1064
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1065
                showChanged := packages notNil and:[packages includes:NavigatorModel nameListEntryForChanged].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1066
                showChanged ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1067
                    changedClasses := ChangeSet current changedClasses.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1068
                ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1069
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1070
                classes do:[:cls |
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1071
                    (cls notNil and:[cls ~~ allEntry]) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1072
                        anyMethod := false.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1073
                        classIsInPackage := packages isNil 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1074
                                            or:[(packages includes:cls package)
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1075
                                            or:[ showChanged and:[changedClasses includes:cls]] ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1076
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1077
                        cls theNonMetaclass isJavaClass ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1078
                            cls isMeta ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1079
                                whatToDo value:cls theNonMetaclass value:(self class nameListEntryForStatic).
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1080
                            ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1081
                                whatToDo value:cls value:(self class nameListEntryForNonStatic).
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1082
                            ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1083
                        ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1084
                            cls supportsMethodCategories ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1085
                                whatToDo value:cls value:(self class nameListEntryForNILCategory).
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1086
                            ] ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1087
                                already := Set new.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1088
                                cls methodDictionary keysAndValuesDo:[:sel :mthd |
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1089
                                    |cat|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1090
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1091
                                    cat := mthd category.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1092
                                    (already includes:cat) ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1093
                                        (classIsInPackage
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1094
                                            or:[packages isNil
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1095
                                            or:[(packages includes:mthd package) ]])
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1096
                                        ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1097
                                            already add:cat.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1098
                                            whatToDo value:cls value:cat.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1099
                                        ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1100
                                    ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1101
                                ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1102
                            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1103
                        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1104
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1105
                        anyMethod ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1106
                            "/ tell the one below, which classes are seen here,
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1107
                            "/ (even if no method is present)
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1108
                            "/ to allow him to decide if the className is to be shown in the list
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1109
                            whatToDo value:cls value:nil.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1110
                        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1111
                    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1112
                ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1113
          ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1114
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1115
    "Modified: / 24.2.2000 / 23:18:26 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1116
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1117
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1118
makeGeneratorForMethods
16431
85b661d6c97b #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16427
diff changeset
  1119
    "return a generator which enumerates the methods directly from the selected class;
85b661d6c97b #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16427
diff changeset
  1120
     that generator generates 4-element elements (includes the class, category, selector and method).
85b661d6c97b #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16427
diff changeset
  1121
     Can be used as an in-generator of methodlists"
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1122
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1123
    ^ Iterator 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1124
        on:[:whatToDo |
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1125
                |allEntry classes cls already packages classIsInPackage 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1126
                 showChanged changedClasses cat |
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1127
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1128
                allEntry := self class nameListEntryForALL.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1129
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1130
                classes := self selectedClasses value ? #().
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1131
                packages := packageFilter value value.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1132
                (packages notNil and:[packages includes:allEntry]) ifTrue:[packages := nil].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1133
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1134
                showChanged := packages notNil and:[packages includes:NavigatorModel nameListEntryForChanged].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1135
                showChanged ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1136
                    changedClasses := ChangeSet current changedClasses.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1137
                ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1138
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1139
                classes do:[:cls |
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1140
                    (cls notNil and:[cls ~~ allEntry]) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1141
                        classIsInPackage := packages isNil 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1142
                                            or:[(packages includes:cls package)
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1143
                                            or:[ showChanged and:[changedClasses includes:cls]] ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1144
                        cls isMeta ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1145
                            cat := self class nameListEntryForStatic.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1146
                        ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1147
                            cat := self class nameListEntryForNonStatic.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1148
                        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1149
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1150
                        "Java classes have static methods in it's instance method dictionary..."
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1151
                        cls theNonMetaclass isJavaClass ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1152
                            cls isMeta ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1153
                                "/ Iterate static method...
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1154
                                cls theNonMetaclass methodDictionary keysAndValuesDo:[:sel :mthd |
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1155
                                    (mthd isJavaMethod and:[mthd isStatic]) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1156
                                        whatToDo value:cls value:cat value:sel value:mthd.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1157
                                    ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1158
                                ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1159
                                "/ ...and possible class extensions/synthetic proxies...
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1160
                                cls methodDictionary keysAndValuesDo:[:sel :mthd |
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1161
                                    whatToDo value:cls value:cat value:sel value:mthd.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1162
                                ].                            
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1163
                            ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1164
                                cls methodDictionary keysAndValuesDo:[:sel :mthd |
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1165
                                    "/ filter out static method
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1166
                                    (mthd isJavaMethod not or:[mthd isStatic not]) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1167
                                        whatToDo value:cls value:cat value:sel value:mthd.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1168
                                    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1169
                                ].                            
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1170
                            ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1171
                        ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1172
                            cls methodDictionary keysAndValuesDo:[:sel :mthd |
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1173
                                whatToDo value:cls value:cat value:sel value:mthd.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1174
                            ].                            
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1175
                        ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1176
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1177
                    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1178
                ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1179
          ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1180
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1181
    "Modified: / 24-02-2000 / 23:18:26 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1182
    "Created: / 07-08-2011 / 19:01:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1183
    "Modified: / 24-08-2013 / 00:38:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1184
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1185
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1186
outGeneratorHolderForMethods
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1187
    ^ outGeneratorHolderForMethods
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1188
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1189
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1190
outGeneratorHolderForMethods:something
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1191
    outGeneratorHolderForMethods := something.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1192
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1193
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1194
updateOutputGenerator
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1195
    "create a generator which enumerates my elements, 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1196
     and place it into the outputGenerator holder"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1197
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1198
    super updateOutputGenerator.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1199
    outGeneratorHolderForMethods notNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1200
        outGeneratorHolderForMethods value: self makeGeneratorForMethods.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1201
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1202
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1203
    "Modified: / 04-02-2000 / 17:16:34 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1204
    "Created: / 05-02-2000 / 13:42:08 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1205
    "Created: / 07-08-2011 / 18:51:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1206
! !
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1207
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1208
!ClassList methodsFor:'initialize-release'!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1209
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1210
release
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1211
    super release.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1212
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1213
    currentNamespace removeDependent:self.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1214
    sortByNameAndInheritance removeDependent:self.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1215
    hidePrivateClasses removeDependent:self.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1216
    markApplicationsHolder removeDependent:self.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1217
    meta removeDependent:self.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1218
    selectedClassNameIndices removeDependent:self.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1219
    showClassPackages removeDependent:self.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1220
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1221
    "Created: / 05-02-2000 / 13:42:18 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1222
! !
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1223
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1224
!ClassList methodsFor:'private'!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1225
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1226
listOfClasses
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1227
    |classesAlready classesOrdered generator nameSpaceFilter packageFilter allName hidePrivate
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1228
     privateClassesPerClass nameFilterIncludesMatchCharacters lcNameFilter|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1229
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1230
    self sortByNameAndInheritance value ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1231
        ^ self listOfClassesByInheritance
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1232
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1233
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1234
    allName := self class nameListEntryForALL.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1235
    (self showAllClassesInNameSpaceOrganisation value) ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1236
        nameSpaceFilter := self nameSpaceFilter value.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1237
        nameSpaceFilter notNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1238
            (nameSpaceFilter includes:allName) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1239
                nameSpaceFilter := nil
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1240
            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1241
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1242
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1243
"/    packageFilter := self packageFilter value.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1244
"/    packageFilter notNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1245
"/        (packageFilter includes:allName) ifTrue:[packageFilter := nil].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1246
"/    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1247
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1248
    inGeneratorHolder isNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1249
        "/ for standAlone testing
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1250
        generator := (environment?Smalltalk) allClasses.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1251
        (self hideUnloadedClasses value) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1252
            generator := generator select:[:cls | cls isLoaded]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1253
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1254
    ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1255
        generator := inGeneratorHolder value.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1256
        generator isNil ifTrue:[^ #() ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1257
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1258
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1259
    classesAlready := IdentitySet new.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1260
    classesOrdered := OrderedCollection new.
17291
3dccebf6b58f #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17247
diff changeset
  1261
    ownersAddedForTheirPrivateClassesOnly := IdentitySet new.
3dccebf6b58f #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17247
diff changeset
  1262
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1263
    hidePrivate := self hidePrivateClasses value.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1264
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1265
    privateClassesPerClass := IdentityDictionary new.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1266
    nameFilterIncludesMatchCharacters := nameFilter notNil and:[nameFilter includesMatchCharacters].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1267
    nameFilter notNil ifTrue:[ lcNameFilter := nameFilter asLowercase].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1268
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1269
    generator do:[:cls | 
16427
7cd55f58c121 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16310
diff changeset
  1270
        |owner bucket isAnonymousJavaClass whereToAdd|
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1271
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1272
        "JV@2011-08-07: FIXME: Ugly code, hard to extend!! And duplicated in listOfClassesByInheritance !!!!!!!!"            
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1273
        (hidePrivate not or:[cls isPrivate not])
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1274
        ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1275
            (nameSpaceFilter isNil
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1276
            or:[self isClass:cls shownWithNameSpaceFilter:nameSpaceFilter]) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1277
                (packageFilter isNil
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1278
                or:[self isClass:cls shownWithPackageFilter:packageFilter]) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1279
                    (classesAlready includes:cls) ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1280
                        (classFilterBlock isNil
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1281
                        or:[(classFilterBlock value:cls)]) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1282
                            classesAlready add:cls.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1283
                            (nameFilter isNil 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1284
                              or:[ (nameFilterIncludesMatchCharacters not and:[ cls name asLowercase startsWith:lcNameFilter])
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1285
                              or:[ (nameFilterIncludesMatchCharacters and:[nameFilter match:cls name ignoreCase:true]) ]]) ifTrue:[
16427
7cd55f58c121 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16310
diff changeset
  1286
                                isAnonymousJavaClass := cls isJavaClass and:[cls isAnonymous].
7cd55f58c121 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16310
diff changeset
  1287
7cd55f58c121 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16310
diff changeset
  1288
                                "Do not show Java anonymous classes"
7cd55f58c121 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16310
diff changeset
  1289
                                isAnonymousJavaClass ifFalse:[
7cd55f58c121 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16310
diff changeset
  1290
                                    ((owner := cls owningClass) notNil and:[self addOwnerClasses value]) ifTrue:[
7cd55f58c121 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16310
diff changeset
  1291
                                        bucket := privateClassesPerClass 
7cd55f58c121 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16310
diff changeset
  1292
                                                        at:owner 
7cd55f58c121 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16310
diff changeset
  1293
                                                        ifAbsentPut:[SortedCollection new 
7cd55f58c121 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16310
diff changeset
  1294
                                                                        sortBlock:[:a :b | (a name ? '?') < (b name ? '?')] ].
7cd55f58c121 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16310
diff changeset
  1295
                                        whereToAdd := bucket.
14703
2a326863c4b9 Do now show anonymous Java classes in class list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14324
diff changeset
  1296
                                    ] ifFalse:[
16427
7cd55f58c121 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16310
diff changeset
  1297
                                        whereToAdd := classesOrdered.
14703
2a326863c4b9 Do now show anonymous Java classes in class list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14324
diff changeset
  1298
                                    ].
16427
7cd55f58c121 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16310
diff changeset
  1299
                                    whereToAdd add:cls.
7cd55f58c121 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16310
diff changeset
  1300
                                ]                                            
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1301
                            ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1302
                        ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1303
                    ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1304
                ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1305
            ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1306
        ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1307
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1308
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1309
    "/ are there any private classes, for which the owner is not in the list ?
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1310
    privateClassesPerClass keysAndValuesDo:[:eachOwnerClass :privateClasses|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1311
        (classesAlready includes:eachOwnerClass) ifFalse:[
17291
3dccebf6b58f #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17247
diff changeset
  1312
            ownersAddedForTheirPrivateClassesOnly add:eachOwnerClass.
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1313
            classesOrdered add:eachOwnerClass.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1314
            classesAlready add:eachOwnerClass.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1315
"/            privateClasses do:[:privateClass |
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1316
"/                (classesOrdered includes:privateClass) ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1317
"/                    classesOrdered add:privateClass.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1318
"/                ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1319
"/            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1320
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1321
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1322
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1323
    classesOrdered size == 1 ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1324
        self classLabelHolder value:(classesOrdered first name)
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1325
    ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1326
"/        self classLabelHolder value:(classes size printString , ' classes').
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1327
        sortBy value ~~ #doNotSort ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1328
            classesOrdered sort:[:a :b | a name < b name].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1329
        ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1330
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1331
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1332
    privateClassesPerClass notEmpty ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1333
        |stream action|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1334
16885
6d217122d9dd #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 16882
diff changeset
  1335
        stream := WriteStream on:#().
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1336
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1337
        action := 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1338
            [:eachClass |
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1339
                |bucket|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1340
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1341
                stream nextPut:eachClass.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1342
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1343
                bucket := privateClassesPerClass at:eachClass ifAbsent:nil.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1344
                bucket notNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1345
                    bucket do:action.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1346
                ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1347
            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1348
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1349
        classesOrdered do:action.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1350
        classesOrdered := stream contents.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1351
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1352
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1353
"/
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1354
"/ does not work (yet)
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1355
"/    classes addFirst:AllEntry.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1356
    ^ classesOrdered
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1357
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1358
    "Modified: / 04-07-2011 / 18:33:56 / cg"
14703
2a326863c4b9 Do now show anonymous Java classes in class list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14324
diff changeset
  1359
    "Modified: / 06-08-2014 / 14:14:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1360
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1361
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1362
listOfClassesByInheritance
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1363
    "TODO: needs refatoring and common code extract with listOfClasses,
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1364
     but I have no time at the moment..."
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1365
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1366
    |classesAlready classes classesOrdered generator nameSpaceFilter packageFilter allName hidePrivate
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1367
     privateClassesPerClass nameFilterIncludesMatchCharacters lcNameFilter|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1368
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1369
    allName := self class nameListEntryForALL.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1370
    nameSpaceFilter := self nameSpaceFilter value.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1371
    nameSpaceFilter notNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1372
        (nameSpaceFilter includes:allName) ifTrue:[nameSpaceFilter := nil].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1373
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1374
    packageFilter := self packageFilter value.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1375
    packageFilter notNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1376
        (packageFilter includes:allName) ifTrue:[packageFilter := nil].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1377
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1378
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1379
    inGeneratorHolder isNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1380
        "/ for standAlone testing
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1381
        generator := environment allClasses.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1382
        (self hideUnloadedClasses value) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1383
            generator := generator select:[:cls | cls isLoaded]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1384
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1385
    ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1386
        generator := inGeneratorHolder value.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1387
        generator isNil ifTrue:[^ #() ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1388
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1389
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1390
    classesAlready := IdentitySet new.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1391
    classes := Set new.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1392
    classesOrdered := OrderedCollection new.
17291
3dccebf6b58f #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17247
diff changeset
  1393
    ownersAddedForTheirPrivateClassesOnly := IdentitySet new.
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1394
    hidePrivate := self hidePrivateClasses value.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1395
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1396
    privateClassesPerClass := IdentityDictionary new.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1397
    nameFilterIncludesMatchCharacters := nameFilter notNil and:[nameFilter includesMatchCharacters].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1398
    nameFilter notNil ifTrue:[ lcNameFilter := nameFilter asLowercase].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1399
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1400
    generator do:[:cls | 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1401
        |owner bucket|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1402
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1403
        (hidePrivate not or:[cls isPrivate not])
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1404
        ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1405
            (nameSpaceFilter isNil
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1406
            or:[self isClass:cls shownWithNameSpaceFilter:nameSpaceFilter]) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1407
                (packageFilter isNil
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1408
                or:[self isClass:cls shownWithPackageFilter:packageFilter]) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1409
                    (classesAlready includes:cls) ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1410
                        classesAlready add:cls.
17291
3dccebf6b58f #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17247
diff changeset
  1411
                        ownersAddedForTheirPrivateClassesOnly remove:cls ifAbsent:[].
16310
431559157925 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16060
diff changeset
  1412
                        ((owner := cls owningClass) notNil and:[self addOwnerClasses value]) ifTrue:[
15070
1013c1a9909a class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 14862
diff changeset
  1413
                            (classesAlready includes:owner) ifFalse:[
17291
3dccebf6b58f #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17247
diff changeset
  1414
                                ownersAddedForTheirPrivateClassesOnly add:owner.
15070
1013c1a9909a class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 14862
diff changeset
  1415
                                classesAlready add:owner.
1013c1a9909a class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 14862
diff changeset
  1416
                                classes add:owner.
1013c1a9909a class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 14862
diff changeset
  1417
                            ].
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1418
                            bucket := privateClassesPerClass at:owner ifAbsentPut:[SortedCollection new sortBlock:[:a :b | a name < b name] ].
15070
1013c1a9909a class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 14862
diff changeset
  1419
1013c1a9909a class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 14862
diff changeset
  1420
                            "Do not show Java anonymous classes"
1013c1a9909a class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 14862
diff changeset
  1421
                            cls isJavaClass ifTrue:[
1013c1a9909a class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 14862
diff changeset
  1422
                                cls isAnonymous ifFalse:[
14703
2a326863c4b9 Do now show anonymous Java classes in class list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14324
diff changeset
  1423
                                    bucket add:cls.
15070
1013c1a9909a class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 14862
diff changeset
  1424
                                ]
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1425
                            ] ifFalse:[
15070
1013c1a9909a class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 14862
diff changeset
  1426
                                bucket add:cls.
1013c1a9909a class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 14862
diff changeset
  1427
                            ].
1013c1a9909a class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 14862
diff changeset
  1428
                        ] ifFalse:[
1013c1a9909a class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 14862
diff changeset
  1429
                            cls isJavaClass ifTrue:[
1013c1a9909a class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 14862
diff changeset
  1430
                                cls isAnonymous ifFalse:[
1013c1a9909a class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 14862
diff changeset
  1431
                                    classes add:cls.
1013c1a9909a class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 14862
diff changeset
  1432
                                ]
1013c1a9909a class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 14862
diff changeset
  1433
                            ] ifFalse:[
1013c1a9909a class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 14862
diff changeset
  1434
                               classes add:cls.
1013c1a9909a class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 14862
diff changeset
  1435
                            ]                                    
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1436
                        ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1437
                    ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1438
                ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1439
            ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1440
        ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1441
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1442
15070
1013c1a9909a class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 14862
diff changeset
  1443
    privateClassesPerClass keysAndValuesDo:[:owner :privateClasses|
1013c1a9909a class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 14862
diff changeset
  1444
        (owner isPrivate not and:[(classes includes: owner) not]) ifTrue:[
1013c1a9909a class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 14862
diff changeset
  1445
            classes addAll: privateClasses
1013c1a9909a class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 14862
diff changeset
  1446
        ]
1013c1a9909a class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 14862
diff changeset
  1447
    ].
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1448
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1449
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1450
    classes size == 1 ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1451
        classesOrdered := classes asArray.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1452
        self classLabelHolder value:(classes first name)
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1453
    ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1454
"/        self classLabelHolder value:(classes size printString , ' classes').
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1455
"        sortBy value ~~ #doNotSort ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1456
            classesOrdered sort:[:a :b | a name < b name].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1457
        ]"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1458
        classesOrdered := ClassSorter sort: classes.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1459
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1460
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1461
    privateClassesPerClass notEmpty ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1462
        |stream action|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1463
16885
6d217122d9dd #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 16882
diff changeset
  1464
        stream := WriteStream on:#().
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1465
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1466
        action := [:eachClass |
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1467
                |bucket|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1468
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1469
                stream nextPut:eachClass.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1470
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1471
                bucket := privateClassesPerClass at:eachClass ifAbsent:nil.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1472
                bucket notNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1473
                    bucket do:action.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1474
                ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1475
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1476
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1477
        classesOrdered do:action.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1478
        classesOrdered := stream contents.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1479
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1480
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1481
"/
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1482
"/ does not work (yet)
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1483
"/    classes addFirst:AllEntry.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1484
    ^ classesOrdered
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1485
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1486
    "Modified: / 18-08-2000 / 20:34:10 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1487
    "Modified: / 21-01-2008 / 19:43:04 / janfrog"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1488
    "Modified: / 24-08-2010 / 20:17:07 / Jan Vrany <enter your email here>"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1489
    "Created: / 04-07-2011 / 18:27:34 / cg"
14703
2a326863c4b9 Do now show anonymous Java classes in class list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14324
diff changeset
  1490
    "Modified: / 06-08-2014 / 14:14:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1491
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1492
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1493
makeDependent
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1494
    environment addDependent:self.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1495
    ChangeSet addDependent:self.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1496
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1497
    "Created: / 5.2.2000 / 13:42:17 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1498
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1499
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1500
makeIndependent
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1501
    environment removeDependent:self.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1502
    ChangeSet removeDependent:self.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1503
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1504
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1505
nameListForClasses:aClassList
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1506
    |orgMode namespaces showNamespaces fullNameList nameList
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1507
     filteredPackages filteredNameSpaces classesInRemoteChangeSet
16882
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1508
     classNamesInChangeSet classNamesInRemoteChangeSet javaClassCountsByBname|
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1509
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1510
    showNamespaces := false.
16882
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1511
    filteredNameSpaces := nameSpaceFilter value.
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1512
    orgMode := organizerMode value.
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1513
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1514
    (filteredNameSpaces isNil 
16882
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1515
     and:[orgMode ~~ OrganizerCanvas organizerModeNamespace]) ifTrue:[
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1516
        showNamespaces := true.       "/ if no filter, always show the namespace.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1517
    ] ifFalse:[
16882
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1518
        (filteredNameSpaces size ~~ 0 
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1519
         and:[(filteredNameSpaces size > 1)
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1520
              or:[filteredNameSpaces includes:(self class nameListEntryForALL)]]) ifTrue:[
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1521
            showNamespaces := true
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1522
        ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1523
            "/ if there are classes from multiple namespaces,
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1524
            "/ show the full name
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1525
            namespaces := IdentitySet new.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1526
            fullNameList := OrderedCollection new.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1527
16882
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1528
            aClassList do:[:eachClass | 
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1529
                namespaces add:eachClass topNameSpace.
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1530
                fullNameList add:eachClass nameInBrowser.
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1531
            ].
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1532
            showNamespaces := namespaces size > 1.
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1533
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1534
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1535
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1536
    filteredPackages := packageFilter value value.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1537
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1538
    classNamesInChangeSet := ChangeSet current changedClasses
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1539
                                collect:[:each | each theNonMetaclass name].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1540
    classesInRemoteChangeSet := SmallTeam isNil ifTrue:[#()] ifFalse:[ SmallTeam changedClasses ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1541
    classNamesInRemoteChangeSet := classesInRemoteChangeSet collect:[:each | each theNonMetaclass name].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1542
16882
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1543
    javaClassCountsByBname := Dictionary new.
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1544
    aClassList do:[:eachClass |
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1545
        eachClass isJavaClass ifTrue:[
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1546
            javaClassCountsByBname
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1547
                at:eachClass binaryName 
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1548
                put:(javaClassCountsByBname at:eachClass ifAbsent:[0]) + 1
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1549
        ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1550
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1551
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1552
    nameList := aClassList 
16882
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1553
                    collect:[:eachClass | 
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1554
                            |className nm pkg emPkg hasExtensions 
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1555
                             isInChangeSet isInRemoteChangeSet icon clr|
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1556
16882
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1557
                            className := eachClass theNonMetaclass name.
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1558
                            isInChangeSet := classNamesInChangeSet includes:className.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1559
                            isInRemoteChangeSet := classNamesInRemoteChangeSet includes:className.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1560
16882
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1561
                            nm := self nameListEntryFor:eachClass withNameSpace:showNamespaces.
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1562
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1563
                            eachClass isJavaClass ifTrue:[
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1564
                                 "/ Java classes are never in changeset, so check their sourceString 
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1565
                                 "/ (if not nil, they have been modified/edited. Kludgy...
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1566
                                 isInChangeSet := eachClass sourceString notNil.
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1567
                        
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1568
                                 (javaClassCountsByBname at:eachClass binaryName) > 1 ifTrue:[
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1569
                                    | cl clstring |
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1570
16882
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1571
                                    cl := eachClass classLoader.
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1572
                                    "/ Do not mark classes loaded by primordial, ext or system class loader...
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1573
                                    (cl notNil 
16882
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1574
                                     and:[JavaVM systemClassLoader isNil 
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1575
                                          or:[cl ~~ JavaVM systemClassLoader 
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1576
                                              and:[cl ~~ (JavaVM systemClassLoader instVarNamed:#parent)]]]
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1577
                                    ) ifTrue:[
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1578
                                        clstring := ' [', cl displayString , ']'.
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1579
                                        nm := nm , (clstring withColor:Color gray).
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1580
                                    ].
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1581
                                ].
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1582
                            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1583
17296
e5381f8ed0fa #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 17291
diff changeset
  1584
                            (ownersAddedForTheirPrivateClassesOnly notNil 
e5381f8ed0fa #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 17291
diff changeset
  1585
                              and:[ownersAddedForTheirPrivateClassesOnly includes:eachClass]
e5381f8ed0fa #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 17291
diff changeset
  1586
                            ) ifTrue:[
17291
3dccebf6b58f #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17247
diff changeset
  1587
                                clr := Color grey.
3dccebf6b58f #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17247
diff changeset
  1588
                            ].
3dccebf6b58f #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17247
diff changeset
  1589
                            
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1590
                            self showCoverageInformation value ifTrue:[
16882
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1591
                                clr := self colorForCoverageInformationOfClass:eachClass.
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1592
                            ].
17291
3dccebf6b58f #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17247
diff changeset
  1593
                            clr notNil ifTrue:[
3dccebf6b58f #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17247
diff changeset
  1594
                                nm := self colorize:nm with:#color -> clr
3dccebf6b58f #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17247
diff changeset
  1595
                            ] ifFalse:[
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1596
                                isInChangeSet ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1597
                                    nm := self emphasizeForChangedCode:nm
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1598
                                ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1599
                                isInRemoteChangeSet ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1600
                                    nm := (self colorizeForChangedCodeInSmallTeam:'!! '),nm
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1601
                                ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1602
                            ].
16882
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1603
                            nm isText ifTrue:[
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1604
                                "in some fonts, bold spaces are larger than normal spaces.
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1605
                                 remove emphasis from leading spaces"
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1606
                                nm emphasisFrom:1 to:(nm leftIndent) remove:#bold.
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1607
                            ].
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1608
16882
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1609
                            pkg := eachClass package ? '-'.
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1610
                            hasExtensions := eachClass hasExtensions.
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1611
                            hasExtensions ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1612
                                emPkg := self emphasizeForDifferentPackage:'+'. "/ self emphasizeForDifferentPackage:pkg.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1613
                            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1614
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1615
                            orgMode == OrganizerCanvas organizerModeProject ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1616
                                (filteredPackages notNil
16882
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1617
                                and:[(filteredPackages includes:eachClass package) not]) ifTrue:[
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1618
                                    "/ class is in another packae;
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1619
                                    "/ however, class is listed due to methods
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1620
                                    "/ in the filtered package
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1621
                                    hasExtensions ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1622
                                        nm := nm , emPkg.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1623
                                    ] ifFalse:[    
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1624
                                        nm := nm , ' [ ' , pkg, ' ]'.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1625
                                    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1626
                                ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1627
                                    "/ any methods from other packages in this class ?
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1628
                                    hasExtensions ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1629
                                        nm := nm , (self emphasizeForDifferentPackage:'+').
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1630
                                    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1631
                                ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1632
                            ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1633
                                showClassPackages value == true ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1634
                                    "/ add the package;
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1635
                                    hasExtensions ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1636
                                        nm := nm , ' [ ' , pkg, ' ]' , (self emphasizeForDifferentPackage:'+').
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1637
"/                                        isInChangeSet ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1638
"/                                            nm := self colorizeForDifferentPackage:nm
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1639
"/                                        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1640
                                    ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1641
                                        nm := nm , (self colorizeGrey:(' [ ' , pkg, ' ]')).
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1642
                                    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1643
                                ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1644
                                    hasExtensions ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1645
                                        nm := nm , emPkg.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1646
"/                                        isInChangeSet ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1647
"/                                            nm := self colorizeForDifferentPackage:nm
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1648
"/                                        ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1649
                                    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1650
                                ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1651
                            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1652
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1653
                            isInChangeSet ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1654
                                nm := nm , self class markForBeingInChangeList
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1655
                            ].
16882
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1656
"/                          eachClass isVisualStartable ifTrue:[
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1657
"/                              nm := LabelAndIcon icon:((SystemBrowser visualStartableClassIcon)
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1658
"/                                                      onDevice:self window device)
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1659
"/                                                 string:nm
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  1660
"/                          ].
17247
2df12626ec6a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17041
diff changeset
  1661
                            eachClass isObsolete ifTrue:[ 
2df12626ec6a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17041
diff changeset
  1662
                                icon := SystemBrowser doNotEnterIcon. 
2df12626ec6a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17041
diff changeset
  1663
                            ] ifFalse:[
2df12626ec6a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17041
diff changeset
  1664
                                markApplicationsHolder value == true ifTrue:[
2df12626ec6a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17041
diff changeset
  1665
                                    icon := self iconForClass:eachClass theNonMetaclass.
2df12626ec6a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17041
diff changeset
  1666
                                    icon isNil ifTrue:[
17525
f206a20ab267 Browser: in class list, align class names of classes with and without icon
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17379
diff changeset
  1667
                                        icon := SystemBrowser emptyIcon
17247
2df12626ec6a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17041
diff changeset
  1668
                                    ].
2df12626ec6a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17041
diff changeset
  1669
                                ]
2df12626ec6a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17041
diff changeset
  1670
                            ].
2df12626ec6a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17041
diff changeset
  1671
                            icon notNil ifTrue:[
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1672
                                nm := LabelAndIcon icon:icon string:nm
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1673
                            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1674
                            nm
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1675
                       ].   
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1676
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1677
    ^ nameList
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1678
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1679
    "Modified: / 27-10-2012 / 12:32:20 / cg"
17525
f206a20ab267 Browser: in class list, align class names of classes with and without icon
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17379
diff changeset
  1680
    "Modified: / 26-05-2017 / 10:54:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1681
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1682
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1683
reconstructNameList
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1684
    "only reconstruct the names - class list & selection remains unschanged.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1685
     Invoked when the organizerMode mode changes"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1686
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1687
    |prevMode listView oldNameList newNameList sav|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1688
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1689
    self classList value isNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1690
        self updateList
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1691
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1692
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1693
    newNameList := self nameListForClasses:(classList value ? #()).
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1694
    oldNameList := self classNameList value ? #().
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1695
    (newNameList 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1696
        sameContentsAs: oldNameList 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1697
        whenComparedWith:[:a :b | (a sameStringAndEmphasisAs: b) 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1698
                                  and:[ a hasImage == b hasImage
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1699
                                  and:[ a hasIcon == b hasIcon ]]]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1700
    ) 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1701
    ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1702
        "/ no need to update
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1703
    ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1704
        builder notNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1705
            listView := builder componentAt:#List.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1706
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1707
        (listView isNil or:[listView scrolledView isNil]) ifTrue:[    
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1708
            "/ invoked very early during setup
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1709
            self classNameList value:newNameList
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1710
        ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1711
            "/ avoid flicker and useless redraws
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1712
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1713
            prevMode := listView scrollWhenUpdating.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1714
            listView scrollWhenUpdating:nil.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1715
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1716
            "/ this will lead to a selectionIndex change (done by the selListView);
17041
9ed82542caab #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16885
diff changeset
  1717
            "/ however, we don't want this here, since it recurses into
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1718
            "/ a selectionChange. Therefore, temporarily disconnect the selectionIndexHolder...
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1719
            [
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1720
                self selectedClassNameIndices removeDependent:self.
17041
9ed82542caab #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16885
diff changeset
  1721
                "/ also, don't want a callback (selectionChangedByClick)
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1722
                sav := listView action.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1723
                listView action:nil.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1724
                self classNameList value:newNameList.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1725
            ] ensure:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1726
                listView action:sav.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1727
                self selectedClassNameIndices addDependent:self.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1728
                listView scrollWhenUpdating:prevMode.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1729
            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1730
        ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1731
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1732
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1733
    "Modified: / 31.10.2001 / 11:33:21 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1734
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1735
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1736
updateClassesIn:aCollection
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1737
    "replace any obsolete class in aCollection;
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1738
     return true, if any was found"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1739
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1740
    |found meta classes|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1741
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1742
    found := false.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1743
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1744
    aCollection isSequenceable ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1745
        classes := aCollection copy.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1746
        aCollection removeAll.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1747
        classes do:[:cls |
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1748
            |newClass|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1749
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1750
            meta := cls isMeta.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1751
            newClass := environment at:(cls theNonMetaclass name).
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1752
            newClass isNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1753
                newClass := cls
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1754
            ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1755
                meta ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1756
                    newClass := newClass class
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1757
                ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1758
            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1759
            found := cls ~~ newClass.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1760
            aCollection add:newClass.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1761
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1762
    ] ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1763
        aCollection keysAndValuesDo:[:idx :cls |
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1764
            |newClass|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1765
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1766
            cls notNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1767
                meta := cls isMeta.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1768
                newClass := environment at:(cls theNonMetaclass name).
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1769
                newClass isNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1770
                    newClass := cls
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1771
                ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1772
                    meta ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1773
                        newClass := newClass class
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1774
                    ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1775
                ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1776
                found := cls ~~ newClass.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1777
                aCollection at:idx put:newClass.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1778
            ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1779
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1780
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1781
    ^ found
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1782
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1783
    "Modified: / 04-08-2013 / 13:48:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1784
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1785
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1786
updateList
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1787
    |prevSelection oldList newList newSelectionIndices 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1788
     forceSelectionChange selectedClassNameIndicesHolder classList
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1789
     classesAddedToList classesRemovedFromList newSet oldSet|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1790
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1791
    newList := self listOfClasses.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1792
    classList := self classList.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1793
    oldList := classList value ? #().
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1794
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1795
    autoSelect == true ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1796
        classesRemovedFromList := OrderedCollection new.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1797
        newSet := newList asSet.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1798
        oldSet := oldList asSet.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1799
        classesAddedToList := newSet select:[:eachNewClass | (oldSet includes:eachNewClass) not].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1800
        classesRemovedFromList := oldSet select:[:eachOldClass | (newSet includes:eachOldClass) not].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1801
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1802
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1803
    (newList ~= oldList
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1804
    or:[self classNameList value isNil and:[newList size > 0]]) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1805
        prevSelection := lastSelectedClasses ? #().
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1806
        prevSelection := prevSelection select:[:each | each notNil].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1807
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1808
        (newList collect:[:each | each name]) = (oldList collect:[:each | each name]) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1809
            "/ no need to tell anybody
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1810
            classList setValue:newList.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1811
        ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1812
            classList value:newList.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1813
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1814
        self reconstructNameList.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1815
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1816
        (prevSelection size == 0 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1817
        and:[self selectedClasses value size ~~ 0]) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1818
            "/ this happens during early startup time,
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1819
            "/ when the selection is already (pre-)set,
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1820
            "/ and the classList is generated the first time
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1821
            "/ (i.e. when opened with preset selection)
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1822
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1823
            "/ do not clobber the selection in this case.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1824
            prevSelection := self selectedClasses value.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1825
            prevSelection := prevSelection select:[:cls | cls notNil].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1826
            "/ simulate a change, to force selection update in listView
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1827
            forceSelectionChange := true.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1828
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1829
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1830
        autoSelect == true ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1831
            prevSelection isNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1832
                prevSelection := OrderedCollection new
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1833
            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1834
            prevSelection := prevSelection asOrderedCollection.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1835
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1836
            classesAddedToList do:[:eachNewClass |
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1837
                (prevSelection includes:eachNewClass) ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1838
                    prevSelection add:eachNewClass.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1839
                ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1840
            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1841
            classesRemovedFromList do:[:eachOldClass |
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1842
                prevSelection remove:eachOldClass ifAbsent:[].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1843
            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1844
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1845
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1846
        newSelectionIndices := prevSelection 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1847
                            collect:[:item | 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1848
                                |cls|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1849
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1850
                                cls := environment at:item theNonMetaclass name.   
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1851
                                newList identityIndexOf:cls]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1852
                            thenSelect:[:index | index ~~ 0].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1853
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1854
        selectedClassNameIndicesHolder := self selectedClassNameIndices.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1855
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1856
        ((selectedClassNameIndicesHolder value size ~~ self selectedClasses value size)
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1857
        or:[newSelectionIndices ~= selectedClassNameIndicesHolder value])
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1858
        ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1859
            newSelectionIndices notEmpty ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1860
                "/ force change (for dependents)
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1861
                "/ selectedClassNameIndicesHolder value:newSelectionIndices.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1862
            ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1863
                prevSelection := self selectedClasses value.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1864
                newSelectionIndices := #().
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1865
            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1866
            selectedClassNameIndicesHolder value:newSelectionIndices.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1867
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1868
            prevSelection notNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1869
                lastSelectedClasses := prevSelection.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1870
            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1871
            self updateOutputGenerator.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1872
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1873
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1874
    ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1875
        "/ same classes - but name(s) could be differnet
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1876
        newList size > 0 ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1877
            self reconstructNameList
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1878
        ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1879
    ].
14862
fce6c99c72fc access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents: 14706
diff changeset
  1880
    self setListValid:true.
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1881
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1882
    "Created: / 05-02-2000 / 13:42:18 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1883
    "Modified: / 31-10-2001 / 11:35:39 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1884
    "Modified: / 24-09-2013 / 23:30:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1885
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1886
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1887
updateListsFor:aClass
15126
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
  1888
    "selective update of a single entry (avoid full rescan)"
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
  1889
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1890
    |classes found foundInSelection|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1891
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1892
    found := foundInSelection := false.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1893
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1894
    "/ update for a changed class in the classList
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1895
    (classes := classList value) size > 0 ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1896
        (self updateClassesIn:classes) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1897
            found := true
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1898
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1899
        (classes includes:nil) ifTrue:[
15126
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
  1900
            "/ self halt:'should not happen'.
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1901
            classList value:(classes := classes select:[:each | each notNil]).
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1902
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1903
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1904
    "/ possibly in the generator
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1905
    ((classes := inGeneratorHolder value) isOrderedCollection 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1906
    and:[classes size > 0]) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1907
        (self updateClassesIn:classes) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1908
            found := true
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1909
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1910
        (classes includes:nil) ifTrue:[
15126
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
  1911
            "/ self halt:'should not happen'.
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1912
            inGeneratorHolder value:(classes select:[:each | each notNil]).
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1913
        ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1914
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1915
    "/ and in the selection
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1916
    (classes := self selectedClasses value) size > 0 ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1917
        (self updateClassesIn:classes) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1918
            found := true.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1919
            foundInSelection := true.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1920
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1921
        (classes includes:nil) ifTrue:[
15126
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
  1922
            "/ self halt:'should not happen'.
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1923
            self selectedClasses value:(classes select:[:each | each notNil]).
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1924
        ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1925
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1926
    "/ and in the last selection
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1927
    (classes := lastSelectedClasses) size > 0 ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1928
        (self updateClassesIn:classes) ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1929
            found := true
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1930
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1931
        (classes includes:nil) ifTrue:[
15126
6021c9a23d4e class: Tools::ClassList
Claus Gittinger <cg@exept.de>
parents: 15070
diff changeset
  1932
            "/ self halt:'should not happen'.
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1933
            lastSelectedClasses := (classes select:[:each | each notNil]).
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1934
        ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1935
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1936
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1937
    found ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1938
        "/ could be a new class (or no-longer autolaoded one).
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1939
        listValid ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1940
            self enqueueDelayedUpdateList.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1941
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1942
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1943
    foundInSelection ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1944
        "/ force update of output generator
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1945
        self selectedClasses 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1946
            removeDependent:self;
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1947
            changed;
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1948
            addDependent:self.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1949
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1950
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1951
    "Modified: / 05-06-2012 / 23:39:25 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1952
! !
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1953
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1954
!ClassList methodsFor:'private-presentation'!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1955
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1956
colorForCoverageInformationOfClass:aClass
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1957
    |instrumented anyPartiallyCovered anyCalled anyNotCalled|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1958
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1959
    instrumented := anyPartiallyCovered := anyCalled := anyNotCalled := false.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1960
    aClass instAndClassMethodsDo:[:m |
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1961
        m category = 'documentation' ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1962
            m isInstrumented ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1963
                instrumented := true.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1964
                m hasBeenCalled ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1965
                    anyNotCalled := true.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1966
                ] ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1967
                    anyCalled := true.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1968
                    m haveAllBlocksBeenExecuted ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1969
                        anyPartiallyCovered := true.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1970
                        "/ no need to search further...
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1971
                        ^ UserPreferences current colorForInstrumentedPartiallyCoveredCode
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1972
                    ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1973
                ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1974
            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1975
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1976
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1977
    instrumented ifFalse:[ ^ nil].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1978
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1979
    anyCalled ifFalse:[ ^ UserPreferences current colorForInstrumentedNeverCalledCode ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1980
    anyNotCalled ifFalse:[ ^ UserPreferences current colorForInstrumentedFullyCoveredCode ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1981
    ^ UserPreferences current colorForInstrumentedPartiallyCoveredCode
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1982
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1983
    "Created: / 28-04-2010 / 14:05:27 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1984
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1985
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1986
iconForClass:aClass
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1987
    ^ SystemBrowser iconForClass:aClass
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1988
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1989
    "Created: / 17-08-2006 / 09:12:32 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1990
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1991
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1992
indentPerPrivacyLevel
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1993
    ^ 4
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1994
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1995
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1996
nameListEntryFor:aClass withNameSpace:useFullName
15563
12ac77d55455 Fixed class name for Java classes in default package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15425
diff changeset
  1997
    |sortByNameAndInheritanceValue nm indent owner orgMode indentString |
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1998
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1999
    aClass == (self class nameListEntryForALL) ifTrue:[ ^ aClass ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2000
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2001
    sortByNameAndInheritanceValue := self sortByNameAndInheritance value.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2002
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2003
    sortByNameAndInheritanceValue ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2004
        nm := (self nameListIndentStringFor: aClass withNameSpace: useFullName) , aClass nameInBrowser.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2005
    ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2006
        nm := aClass nameInBrowser.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2007
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2008
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2009
    aClass isLoaded ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2010
        unloadedClassesColor notNil ifTrue:[
16494
8d0f36e954ca #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16431
diff changeset
  2011
            nm := nm withColor:unloadedClassesColor
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2012
        ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2013
    ] ifTrue:[
15425
f8624988137a Added Behaviour>>methodsCount to avoid direct methodDictionary access.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15416
diff changeset
  2014
        | instMethodCount classMethodCount |   
f8624988137a Added Behaviour>>methodsCount to avoid direct methodDictionary access.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15416
diff changeset
  2015
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2016
        aClass isAbstract ifTrue:[ nm := nm allItalic ].
15425
f8624988137a Added Behaviour>>methodsCount to avoid direct methodDictionary access.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15416
diff changeset
  2017
        instMethodCount := aClass methodsCount.
f8624988137a Added Behaviour>>methodsCount to avoid direct methodDictionary access.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15416
diff changeset
  2018
        classMethodCount := aClass class methodsCount.
f8624988137a Added Behaviour>>methodsCount to avoid direct methodDictionary access.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15416
diff changeset
  2019
f8624988137a Added Behaviour>>methodsCount to avoid direct methodDictionary access.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15416
diff changeset
  2020
        (instMethodCount notNil or:[ classMethodCount notNil ]) ifTrue:[ 
16882
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  2021
            nm := nm, ((' (%1+%2) ' bindWith:(instMethodCount ? '?') with:(classMethodCount ? '?')) 
16494
8d0f36e954ca #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16431
diff changeset
  2022
                        withColor:self class pseudoEntryForegroundColor).
15425
f8624988137a Added Behaviour>>methodsCount to avoid direct methodDictionary access.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15416
diff changeset
  2023
        ]
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2024
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2025
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2026
    orgMode := organizerMode value.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2027
    orgMode == OrganizerCanvas organizerModeHierarchy ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2028
        "/ always show the full name
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2029
        ^ nm
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2030
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2031
    orgMode == OrganizerCanvas organizerModeClassHierarchy ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2032
        "/ always show the full name
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2033
        ^ nm
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2034
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2035
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2036
    aClass isJavaClass ifTrue:[
15563
12ac77d55455 Fixed class name for Java classes in default package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15425
diff changeset
  2037
        | package javaPackage |
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2038
        "/ only show the last name, unless multiple packages are shown in the list
15563
12ac77d55455 Fixed class name for Java classes in default package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15425
diff changeset
  2039
        package := aClass package.
12ac77d55455 Fixed class name for Java classes in default package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15425
diff changeset
  2040
        javaPackage := aClass javaPackage.
12ac77d55455 Fixed class name for Java classes in default package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15425
diff changeset
  2041
        javaPackage notEmptyOrNil ifTrue:[
12ac77d55455 Fixed class name for Java classes in default package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15425
diff changeset
  2042
            (self classList value contains:[:cls | cls package ~= package]) ifFalse:[ 
12ac77d55455 Fixed class name for Java classes in default package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15425
diff changeset
  2043
                | i |
15416
d2a4747c435d Fix for JBrowser: use Class>>nameInBrowser for Java classes as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15266
diff changeset
  2044
15563
12ac77d55455 Fixed class name for Java classes in default package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15425
diff changeset
  2045
                i := nm string indexOfNonSeparator.
12ac77d55455 Fixed class name for Java classes in default package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15425
diff changeset
  2046
                nm := nm copyFrom: i + (javaPackage size + 1).     
12ac77d55455 Fixed class name for Java classes in default package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15425
diff changeset
  2047
                i > 0 ifTrue:[ 
12ac77d55455 Fixed class name for Java classes in default package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15425
diff changeset
  2048
                    nm := (String new: i - 1) , nm
12ac77d55455 Fixed class name for Java classes in default package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15425
diff changeset
  2049
                ].
12ac77d55455 Fixed class name for Java classes in default package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15425
diff changeset
  2050
            ]
15416
d2a4747c435d Fix for JBrowser: use Class>>nameInBrowser for Java classes as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15266
diff changeset
  2051
        ].
d2a4747c435d Fix for JBrowser: use Class>>nameInBrowser for Java classes as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15266
diff changeset
  2052
        ^ nm
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2053
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2054
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2055
    useFullName ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2056
        aClass isPrivate ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2057
            sortByNameAndInheritanceValue ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2058
                ^ (self nameListIndentStringFor: aClass withNameSpace: useFullName) , aClass nameWithoutNameSpacePrefix 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2059
            ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2060
            ^ aClass nameWithoutNameSpacePrefix 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2061
        ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2062
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2063
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2064
    "/ full name required if owner is not in the list
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2065
    owner := aClass owningClass.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2066
    (owner isNil
16882
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  2067
     or:[(self classList value includesIdentical:owner) not]) ifFalse:[
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2068
        "/ namespace
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2069
        indent := (nm count:[:char | char == $:]) // 2.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2070
        indent > 0 ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2071
            indent := indent * self indentPerPrivacyLevel.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2072
            indentString := String new:indent withAll:Character space.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2073
            sortByNameAndInheritanceValue ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2074
                nm := (self nameListIndentStringFor:owner withNameSpace:useFullName)
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2075
                        , indentString , '::' , aClass nameWithoutPrefix.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2076
            ] ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2077
                nm := indentString , '::' , aClass nameWithoutPrefix
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2078
            ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2079
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2080
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2081
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2082
    ^ nm
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2083
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2084
    "Modified: / 04-07-2011 / 19:00:45 / cg"
15563
12ac77d55455 Fixed class name for Java classes in default package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15425
diff changeset
  2085
    "Modified: / 27-03-2015 / 16:23:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2086
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2087
16882
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  2088
nameListIndentStringFor:aClass withNameSpace:useFullName 
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  2089
    |indent indentString cls|
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2090
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2091
    indent := 0.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2092
    indentString := ''.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2093
    cls := aClass superclass.
16882
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  2094
    [self classList value includesIdentical:cls] whileTrue:[
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  2095
        indent := indent + 1.
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  2096
        cls := cls superclass
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  2097
    ].
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2098
    indent == 0 ifFalse:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2099
        indent <= 5 ifTrue:[
16882
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  2100
            indentString := #( 
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  2101
                 ''
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  2102
                 '  '
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  2103
                 '    '
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  2104
                 '      '
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  2105
                 '        '
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  2106
                 '          ' ) at:indent + 1.
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2107
        ] ifFalse:[
16882
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  2108
            indentString := String new:indent * 2 withAll:Character space.
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2109
        ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2110
    ].
16882
c8357e551003 #UI_ENHANCEMENT by stefan
Stefan Vogel <sv@exept.de>
parents: 16864
diff changeset
  2111
    ^ indentString
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2112
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2113
    "Modified: / 24-02-2000 / 17:52:28 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2114
    "Created: / 21-01-2008 / 19:02:07 / janfrog"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2115
    "Modified (format): / 04-07-2011 / 18:30:20 / cg"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2116
! !
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2117
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2118
!ClassList methodsFor:'queries'!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2119
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2120
supportsSearch
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2121
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2122
    ^(self componentAt: #List) notNil
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2123
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2124
    "Created: / 28-07-2011 / 17:46:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2125
! !
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2126
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2127
!ClassList methodsFor:'setup'!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2128
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2129
autoSelect:aBoolean
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2130
    autoSelect ~~ aBoolean ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2131
        autoSelect := aBoolean.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2132
        classList value:nil.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2133
    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2134
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2135
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2136
classFilterBlock:aBlock
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2137
    "use this to filter away unwanted packages"
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2138
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2139
    classFilterBlock := aBlock
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2140
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2141
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2142
postBuildWith:aBuilder
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2143
    |classListView|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2144
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2145
    super postBuildWith:aBuilder.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2146
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2147
    classListView := aBuilder componentAt:'List'.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2148
    classListView notNil ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2149
	classListView allowDrag:true.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2150
	classListView dragObjectConverter:[:obj | 
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2151
					    |nm class idx|
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2152
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2153
					    nm := obj theObject asString.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2154
					    idx := classNameList value indexOf:nm.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2155
					    idx == 0 ifTrue:[
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2156
						idx := classNameList value indexOf:nm string.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2157
					    ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2158
					    class := classList value at:idx.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2159
					    DropObject newClass:class.
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2160
					 ].
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2161
    ]
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2162
! !
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2163
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2164
!ClassList class methodsFor:'documentation'!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2165
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2166
version
16060
df52313e578b #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 15563
diff changeset
  2167
    ^ '$Header$'
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2168
!
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2169
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2170
version_CVS
16060
df52313e578b #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 15563
diff changeset
  2171
    ^ '$Header$'
17525
f206a20ab267 Browser: in class list, align class names of classes with and without icon
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17379
diff changeset
  2172
!
f206a20ab267 Browser: in class list, align class names of classes with and without icon
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17379
diff changeset
  2173
f206a20ab267 Browser: in class list, align class names of classes with and without icon
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17379
diff changeset
  2174
version_HG
f206a20ab267 Browser: in class list, align class names of classes with and without icon
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17379
diff changeset
  2175
f206a20ab267 Browser: in class list, align class names of classes with and without icon
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17379
diff changeset
  2176
    ^ '$Changeset: <not expanded> $'
14116
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2177
! !
018db473c8c5 Fixes bug in class list shown in inspector 2 tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  2178