Tools_ClassCategoryList.st
author Claus Gittinger <cg@exept.de>
Fri, 11 Jun 2004 17:20:09 +0200
changeset 5909 95cd2d9822b3
parent 5592 d9730a8d7c52
child 5914 acbd0265429f
permissions -rw-r--r--
commonPostBuild
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
     1
"{ Package: 'stx:libtool' }"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
"{ NameSpace: Tools }"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
BrowserList subclass:#ClassCategoryList
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	instanceVariableNames:'categoryList classes allSelected'
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	classVariableNames:'AdditionalEmptyCategories'
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
	poolDictionaries:''
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
	category:'Interface-Browsers-New'
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
!ClassCategoryList class methodsFor:'documentation'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
documentation
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
    embeddable application displaying the class-categories.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
    Provides an outputGenerator, which enumerates the classes in
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
    the selected categories.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
    [author:]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
	Claus Gittinger (cg@exept.de)
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
!ClassCategoryList class methodsFor:'interface specs'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
singleCategoryWindowSpec
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
    "This resource specification was automatically generated
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
     by the UIPainter of ST/X."
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
    "Do not manually edit this!! If it is corrupted,
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
     the UIPainter may not be able to read the specification."
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
    "
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
     UIPainter new openOnClass:ClassCategoryList andSelector:#singleCategoryWindowSpec
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
     ClassCategoryList new openInterface:#singleCategoryWindowSpec
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
    "
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
    <resource: #canvas>
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
    ^ 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
     #(#FullSpec
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    43
	#name: #singleCategoryWindowSpec
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    44
	#window: 
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
       #(#WindowSpec
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    46
	  #label: 'ClassCategoryList'
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    47
	  #name: 'ClassCategoryList'
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    48
	  #min: #(#Point 0 0)
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    49
	  #max: #(#Point 1024 721)
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    50
	  #bounds: #(#Rectangle 218 175 518 475)
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    51
	)
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    52
	#component: 
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
       #(#SpecCollection
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    54
	  #collection: #(
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    55
	   #(#LabelSpec
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    56
	      #label: 'ClassCategoryName'
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    57
	      #name: 'ClassCategoryLabel'
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    58
	      #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 25 0)
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    59
	      #translateLabel: true
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    60
	      #labelChannel: #classCategoryLabelHolder
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    61
	      #menu: #menuHolder
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    62
	    )
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    63
	   )
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
         
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    65
	)
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
      )
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
windowSpec
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
    "This resource specification was automatically generated
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
     by the UIPainter of ST/X."
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
    "Do not manually edit this!! If it is corrupted,
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
     the UIPainter may not be able to read the specification."
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
    "
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
     UIPainter new openOnClass:ClassCategoryList andSelector:#windowSpec
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
     ClassCategoryList new openInterface:#windowSpec
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
     ClassCategoryList open
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
    "
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
    <resource: #canvas>
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
    ^ 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
     #(#FullSpec
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    86
	#name: #windowSpec
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    87
	#window: 
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
       #(#WindowSpec
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    89
	  #label: 'ClassCategoryList'
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    90
	  #name: 'ClassCategoryList'
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    91
	  #min: #(#Point 0 0)
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    92
	  #max: #(#Point 1024 721)
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    93
	  #bounds: #(#Rectangle 13 23 313 323)
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    94
	)
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    95
	#component: 
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
       #(#SpecCollection
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    97
	  #collection: #(
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    98
	   #(#SequenceViewSpec
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    99
	      #name: 'List'
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   100
	      #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   101
	      #tabable: true
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   102
	      #model: #selectedCategories
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   103
	      #menu: #menuHolder
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   104
	      #hasHorizontalScrollBar: true
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   105
	      #hasVerticalScrollBar: true
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   106
	      #miniScrollerHorizontal: true
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   107
	      #isMultiSelect: true
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   108
	      #valueChangeSelector: #selectionChangedByClick
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   109
	      #useIndex: false
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   110
	      #sequenceList: #categoryList
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   111
	      #doubleClickChannel: #doubleClickChannel
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   112
	      #properties: 
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   113
	     #(#PropertyListDictionary
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   114
		#dragArgument: nil
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   115
		#dropArgument: nil
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   116
		#canDropSelector: #canDrop:
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   117
		#dropSelector: #doDrop:
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   118
	      )
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   119
	    )
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   120
	   )
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
         
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   122
	)
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
      )
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
    "Created: / 5.2.2000 / 13:42:11 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
    "Modified: / 18.8.2000 / 20:11:49 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
!ClassCategoryList class methodsFor:'plugIn spec'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
aspectSelectors
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
    "This resource specification was automatically generated
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
     by the UIPainter of ST/X."
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
    "Do not manually edit this. If it is corrupted,
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
     the UIPainter may not be able to read the specification."
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
    "Return a description of exported aspects;
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
     these can be connected to aspects of an embedding application
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
     (if this app is embedded in a subCanvas)."
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
    ^ #(
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
	#(#doubleClickChannel #action )
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
	#forceGeneratorTrigger
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
	#hideUnloadedClasses
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
	#immediateUpdate
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
	#inGeneratorHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
	#menuHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
	#nameSpaceFilter
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
	#organizerMode
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
	#outGeneratorHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
	#packageFilter
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
	#selectedCategories
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
	#selectionChangeCondition
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
	#slaveMode
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
	#updateTrigger
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
      ).
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
!ClassCategoryList methodsFor:'aspects'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
categoryList
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
    categoryList isNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
	categoryList := ValueHolder new.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
    ^ categoryList
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
    "Created: / 25.2.2000 / 02:23:08 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
categoryList:aValueHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
    categoryList notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
	categoryList removeDependent:self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
    categoryList := aValueHolder.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
    categoryList notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
	categoryList addDependent:self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
    "Created: / 18.8.2000 / 15:21:42 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
classCategoryLabelHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
    ^ self pseudoListLabelHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
selectedCategories
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
    ^ self selectionHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
selectedCategories:aValueHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
    ^ self selectionHolder:aValueHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
!ClassCategoryList methodsFor:'change & update'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
delayedUpdate:something with:aParameter from:changedObject
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
    |selectedCategoriesHolder selectedCategories allSelectedBefore 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
     nameListEntryForALL categoryOfClass wg|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
    selectedCategories := self selectedCategoriesStrings.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
    changedObject == Smalltalk ifTrue:[
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   205
	((something == #classVariables) 
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   206
	or:[something == #classDefinition]) ifTrue:[
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   207
	    listValid == true ifTrue:[
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   208
		categoryOfClass := aParameter category.
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   209
		(categoryList value includes:categoryOfClass) ifFalse:[
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   210
		    self invalidateList.                
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   211
		].
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   212
		slaveMode value ~~ true ifTrue:[
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   213
		    (selectedCategories includes:categoryOfClass) ifTrue:[
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   214
			"/ a selected class has changed
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   215
			"/ in order to give others a chance to update their list before,
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   216
			"/ this one is always enqueued for delayed update (even if immediateUpdate is true)
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   217
			"/ self enqueueDelayedUpdateOutputGenerator
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   218
			self enqueueMessage:#updateOutputGenerator for:self arguments:#()
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   219
		    ].
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   220
		].
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   221
	    ].
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   222
	    ^ self
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   223
	].
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   224
	something == #newClass ifTrue:[
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   225
	    categoryOfClass := aParameter category.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
"/            listValid == true ifTrue:[
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   227
		(categoryList value includes:categoryOfClass) ifFalse:[
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   228
		    self invalidateList.                
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   229
		].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
"/            ].
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   231
	    slaveMode value ~~ true ifTrue:[
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   232
		(selectedCategories includes:categoryOfClass) ifTrue:[
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   233
		    self enqueueDelayedUpdateOutputGenerator
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   234
		].
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   235
	    ].
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   236
	    ^ self
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   237
	].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   239
	self invalidateList.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   241
	(something == #classRemove 
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   242
	or:[something == #projectOrganization 
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   243
	or:[something == #organization]]) ifTrue:[
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   244
	    slaveMode value ~~ true ifTrue:[
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   245
		"/ sorry: cannot filter on category (already changed to #removed)
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   246
		self enqueueDelayedUpdateOutputGenerator
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   247
	    ].
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   248
	].
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   249
	^ self
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
    changedObject == ChangeSet ifTrue:[
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   253
	"/ remove all other change notifications from the eventQueue
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   254
	wg := self windowGroup.
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   255
	wg isNil ifTrue:[
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   256
	    "/ oops - should no longer be dependent...
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   257
	    changedObject removeDependent:self.
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   258
	] ifFalse:[
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   259
	    wg sensor 
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   260
		flushEventsFor:self 
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   261
		where:[:ev | ev isMessageSendEvent 
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   262
			     and:[ev selector == #delayedUpdate:with:from:
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   263
			     and:[(ev arguments at:3) == ChangeSet]]].
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   264
	].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   265
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   266
	something == #addChange: ifTrue:[
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   267
	    "/ only need to invalidate, if that change changes my emphasis 
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   268
	    "/ (i.e. if its a new methodChange)
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
"/            self invalidateList.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   270
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   271
	    aParameter isMethodChange ifTrue:[
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   272
		(ChangeSet current 
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   273
		    count:[:chg | chg notNil and:[chg isMethodChange
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   274
				  and:[ chg className = aParameter className ]]])
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   275
		== 1 ifTrue:[
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   276
		    "/ that methodChange is the first for this method.
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   277
		    aParameter changeClass ifNotNil:[
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   278
			self colorizeCategoryAsChanged:(aParameter changeClass category).
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   279
		    ]
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   280
		]
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   281
	    ].
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   282
	    ^ self
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   283
	].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   284
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   285
	self invalidateList.
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   286
	^ self
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   287
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
    changedObject == nameSpaceFilter ifTrue:[
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   290
	"/ all might be more or less than before ...
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   291
	allSelected := false.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   292
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   293
    changedObject == packageFilter ifTrue:[
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   294
	"/ all might be more or less than before ...
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   295
	allSelected := false.    
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   296
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   297
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   298
    selectedCategoriesHolder := self selectedCategories.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   299
    changedObject == selectedCategoriesHolder ifTrue:[
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   300
	categoryList isNil ifTrue:[
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   301
	    "/ oops - hurry up
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   302
	    self invalidateList.
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   303
	].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   305
	nameListEntryForALL := self class nameListEntryForALL.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   306
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   307
	selectedCategories size > 1 ifTrue:[
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   308
	    (selectedCategories includes:nameListEntryForALL) ifTrue:[
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   309
		self makeSelectionOtherThanAllVisible.
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   310
	    ]
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   311
	].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   312
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   313
	"/ if all selected before AND allSelected after, no need to update the output generator
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   314
	allSelectedBefore := allSelected ? false.
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   315
	allSelected := selectedCategories includes:nameListEntryForALL.
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   316
	(allSelectedBefore and:[allSelected]) ifTrue:[
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   317
	    ^ self
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
   318
	].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   319
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   320
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   321
    super delayedUpdate:something with:aParameter from:changedObject
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   322
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   323
    "Created: / 5.2.2000 / 13:42:12 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   324
    "Modified: / 12.11.2001 / 19:36:16 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   325
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   326
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   327
forceUpdateList
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   328
    self categoryList setValue:#().
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   329
    self updateList.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   330
    self categoryList changed.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   332
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   333
selectionChangedByClick
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   334
    "we are not interested in that - get another notification
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   335
     via the changed valueHolder"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   336
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   337
    "Created: / 11.2.2000 / 11:39:48 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   338
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   339
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   340
update:something with:aParameter from:changedObject
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   341
    |categoryOfClass|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   342
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   343
    changedObject == Smalltalk ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   344
	something == #methodDictionary ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   345
	    ^ self 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   346
	].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   347
	something == #classComment ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   348
	    ^ self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   349
	].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   350
	(something == #classVariables
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   351
	or:[something == #classDefinition]) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   352
	    categoryOfClass := aParameter category.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   353
	    ((self selectedCategories value ? #()) includes:categoryOfClass) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   354
"/ self halt.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   355
		self updateOutputGenerator.                
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   356
	    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   357
	].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   358
	something == #methodTrap ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   359
	    ^ self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   360
	].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   361
	something == #methodInClass ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   362
	    ^ self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   363
	].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   364
	something == #methodInClassRemoved ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   365
	    ^ self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   366
	].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   367
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   368
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   369
"/    changedObject == ChangeSet ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   370
"/        something == #addChange: ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   371
"/            ^ self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   372
"/        ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   373
"/    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   374
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   375
    super update:something with:aParameter from:changedObject
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   376
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   377
    "Modified: / 5.11.2001 / 14:31:18 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   378
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   379
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   380
!ClassCategoryList methodsFor:'drag & drop'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   381
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   382
canDrop:aDropContext
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   383
    |cat classes|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   384
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   385
    classes := aDropContext dropObjects collect:[:obj | obj theObject].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   386
    (classes contains:[:aClass | aClass isClass not]) ifTrue:[^ false].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   387
    (classes contains:[:aClass | aClass isPrivate not]) ifFalse:[^ false].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   388
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   389
    cat := self categoryAtTargetPointOf:aDropContext.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   390
    cat isNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   391
	^ false
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   392
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   393
    cat = '* obsolete *' ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   394
	^  false
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   395
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   396
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   397
    (classes contains:[:aClass | aClass category ~= cat]) ifFalse:[^ false].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   398
    ^ true.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   399
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   400
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   401
categoryAtTargetPointOf:aDropContext
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   402
    |p categoryListView lineNr cat|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   403
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   404
    p := aDropContext targetPoint.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   405
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   406
    categoryListView := aDropContext targetWidget.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   407
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   408
    lineNr := categoryListView lineAtY:p y.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   409
    lineNr isNil ifTrue:[^ nil].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   410
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   411
    cat := categoryList value at:lineNr.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   412
    cat := cat string.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   413
    cat = self class nameListEntryForALL ifTrue:[^ nil].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   414
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   415
    ^ cat
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   416
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   417
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   418
doDrop:aDropContext
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   419
    |cat classes|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   420
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   421
    classes := aDropContext dropObjects collect:[:aDropObject | aDropObject theObject].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   422
    (classes contains:[:something | something isClass not]) ifTrue:[^ self].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   423
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   424
    cat := self categoryAtTargetPointOf:aDropContext.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   425
    cat notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   426
	self masterApplication moveClasses:classes toCategory:cat.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   427
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   428
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   429
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   430
!ClassCategoryList methodsFor:'generators'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   431
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   432
makeGenerator
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   433
    "return a generator which enumerates the classes from the selected category."
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   434
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   435
    |cats hideUnloadedClasses allName nameSpaceFilter packageFilter|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   436
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   437
    cats := self selectedCategories value.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   438
    cats size == 0 ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   439
	^ #()
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   440
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   441
    cats := cats collect:[:each | each string].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   442
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   443
    allName := self class nameListEntryForALL.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   444
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   445
    hideUnloadedClasses := self hideUnloadedClasses value ? false.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   446
    nameSpaceFilter := self nameSpaceFilter value.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   447
    nameSpaceFilter notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   448
	(nameSpaceFilter includes:allName) ifTrue:[nameSpaceFilter := nil].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   449
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   450
    packageFilter := self packageFilter value.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   451
    packageFilter notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   452
	(packageFilter includes:allName) ifTrue:[packageFilter := nil].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   453
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   454
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   455
    (cats includes:allName) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   456
	hideUnloadedClasses ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   457
	    ^ Iterator on:[:whatToDo |
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   458
			       Smalltalk allClassesDo:[:cls |
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   459
				   cls isLoaded ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   460
				       (cls isNameSpace not or:[cls == Smalltalk]) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   461
					   (nameSpaceFilter isNil
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   462
					   or:[self isClass:cls shownWithNameSpaceFilter:nameSpaceFilter]) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   463
					       (packageFilter isNil
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   464
					       or:[self isClass:cls shownWithPackageFilter:packageFilter]) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   465
						   whatToDo value:cls
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   466
					       ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   467
					   ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   468
				       ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   469
				   ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   470
			       ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   471
			  ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   472
	].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   473
	^ Iterator on:[:whatToDo | 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   474
			   Smalltalk allClassesDo:[:cls |
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   475
			       (cls isNameSpace not or:[cls == Smalltalk]) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   476
				    (nameSpaceFilter isNil
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   477
				    or:[self isClass:cls shownWithNameSpaceFilter:nameSpaceFilter]) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   478
					(packageFilter isNil
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   479
					or:[self isClass:cls shownWithPackageFilter:packageFilter]) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   480
					    whatToDo value:cls
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   481
					]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   482
				    ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   483
			       ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   484
			   ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   485
		      ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   486
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   487
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   488
    ^ Iterator on:[:whatToDo | 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   489
		       Smalltalk allClassesDo:[:cls |
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   490
			   (hideUnloadedClasses not or:[cls isLoaded]) 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   491
			   ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   492
			       (cls isNameSpace not or:[cls == Smalltalk]) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   493
				   (cats includes:cls category) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   494
				       (nameSpaceFilter isNil
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   495
				       or:[self isClass:cls shownWithNameSpaceFilter:nameSpaceFilter]) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   496
					   (packageFilter isNil
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   497
					   or:[self isClass:cls shownWithPackageFilter:packageFilter]) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   498
					       whatToDo value:cls
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   499
					   ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   500
				       ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   501
				   ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   502
			       ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   503
			   ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   504
		       ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   505
		  ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   506
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   507
    "Created: / 5.2.2000 / 13:42:12 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   508
    "Modified: / 18.8.2000 / 15:52:41 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   509
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   510
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   511
!ClassCategoryList methodsFor:'private'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   512
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   513
colorizeCategoryAsChanged:category
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   514
    |colorizedCategoryItem categoryList idx|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   515
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   516
    colorizedCategoryItem := self colorizeForChangedCode:category copy asText.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   517
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   518
    categoryList := self categoryList value.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   519
    idx := categoryList indexOf:category.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   520
    idx ~~ 0 ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   521
	((categoryList at:idx) sameStringAndEmphasisAs:colorizedCategoryItem) ifFalse:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   522
	    categoryList at:idx put:colorizedCategoryItem.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   523
	    self categoryList changed.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   524
	]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   525
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   526
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   527
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   528
listOfCategories
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   529
    |categories hideUnloadedClasses generator nameSpaceFilter packageFilter allName
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   530
     categoriesWithExtensions categoriesWithChangedCode classesInCangeSet|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   531
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   532
    allName := self class nameListEntryForALL.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   533
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   534
    hideUnloadedClasses := self hideUnloadedClasses value.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   535
    nameSpaceFilter := self nameSpaceFilter value.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   536
    nameSpaceFilter notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   537
	(nameSpaceFilter includes:allName) ifTrue:[nameSpaceFilter := nil].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   538
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   539
    packageFilter := self packageFilter value.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   540
    packageFilter notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   541
	(packageFilter includes:allName) ifTrue:[packageFilter := nil].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   542
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   543
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   544
    categories := Set new.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   545
    categoriesWithExtensions := Set new.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   546
    categoriesWithChangedCode := Set new.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   547
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   548
    classesInCangeSet := ChangeSet current changedClasses.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   549
    classesInCangeSet := classesInCangeSet collect:[:eachClass | eachClass theNonMetaclass].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   550
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   551
    classes := IdentitySet new.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   552
    inGeneratorHolder isNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   553
	Smalltalk allClassesDo:[:cls | 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   554
	    |cat|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   555
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   556
	    (hideUnloadedClasses not or:[cls isLoaded])
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   557
	    ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   558
		(cls isNameSpace not
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   559
		or:[cls == Smalltalk]) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   560
		    (nameSpaceFilter isNil
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   561
		    or:[self isClass:cls shownWithNameSpaceFilter:nameSpaceFilter]) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   562
			(packageFilter isNil
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   563
			or:[self isClass:cls shownWithPackageFilter:packageFilter]) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   564
			    cat := cls category.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   565
			    cat isString ifFalse:[self halt:'oops - strange category'].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   566
			    categories add:cat.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   567
			    classes add:cls.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   568
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   569
			    (classesInCangeSet includes:cls theNonMetaclass) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   570
				categoriesWithChangedCode add:cat
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   571
			    ] ifFalse:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   572
				cls hasExtensions ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   573
				    categoriesWithExtensions add:cat
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   574
				]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   575
			    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   576
			]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   577
		    ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   578
		]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   579
	    ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   580
	].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   581
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   582
	"/ those are simulated - in ST/X, empty categories do not
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   583
	"/ really exist; however, during browsing, it makes sense.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   584
	AdditionalEmptyCategories size > 0 ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   585
	    "/ remove those that are present ...
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   586
	    AdditionalEmptyCategories := AdditionalEmptyCategories select:[:cat | (categories includes:cat) not].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   587
	    categories addAll:AdditionalEmptyCategories.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   588
	].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   589
    ] ifFalse:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   590
	generator := inGeneratorHolder value.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   591
	generator isNil ifTrue:[^ #() ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   592
	generator do:[:cat | categories add:cat].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   593
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   594
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   595
    categories := categories asOrderedCollection.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   596
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   597
    categories sort.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   598
    categories := categories collect:[:cat | 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   599
					    (categoriesWithChangedCode includes:cat) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   600
						 (self colorizeForChangedCode:cat copy asText).
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   601
						 "/ cannot add a + here - need separate list for presentation and filter
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   602
					    ] ifFalse:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   603
						(categoriesWithExtensions includes:cat) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   604
						     (self colorizeForDifferentPackage:cat copy asText)
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   605
						     "/ cannot add a + here - need separate list for presentation and filter
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   606
						] ifFalse:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   607
						     cat
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   608
						]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   609
					    ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   610
				     ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   611
    categories size == 1 ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   612
	self classCategoryLabelHolder value:(categories first)
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   613
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   614
    categories size == 0 ifFalse:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   615
	categories addFirst:(self class nameListEntryForALL).
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   616
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   617
    ^ categories
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   618
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   619
    "Created: / 5.2.2000 / 13:42:12 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   620
    "Modified: / 13.11.2001 / 11:32:36 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   621
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   622
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   623
listView 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   624
    ^ self builder componentAt:#List
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   625
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   626
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   627
makeDependent
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   628
    Smalltalk addDependent:self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   629
    ChangeSet addDependent:self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   630
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   631
    "Created: / 5.2.2000 / 13:42:13 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   632
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   633
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   634
makeIndependent
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   635
    Smalltalk removeDependent:self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   636
    ChangeSet removeDependent:self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   637
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   638
    "Created: / 5.2.2000 / 13:42:13 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   639
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   640
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   641
makeItemVisible:item
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   642
    |idx listView|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   643
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   644
    idx := categoryList value indexOf:item.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   645
    idx ~~ 0 ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   646
	(listView := self listView) notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   647
	    listView makeLineVisible:idx.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   648
	]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   649
    ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   650
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   651
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   652
makeSelectionOtherThanAllVisible
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   653
    |selectedCategories item|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   654
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   655
    selectedCategories := self selectedCategoriesStrings.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   656
    "/ the first item after the *all* item
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   657
    item := (selectedCategories copy remove:self class nameListEntryForALL; yourself) first.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   658
    self makeItemVisible:item.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   659
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   660
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   661
release
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   662
    super release.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   663
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   664
    categoryList removeDependent:self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   665
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   666
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   667
selectedCategoriesStrings
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   668
    |selectedCategoriesHolder selectedCategories|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   669
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   670
    selectedCategoriesHolder := self selectedCategories.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   671
    selectedCategories := selectedCategoriesHolder value ? #().
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   672
    selectedCategories := selectedCategories collect:[:each | each string].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   673
    ^ selectedCategories
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   674
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   675
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   676
updateList
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   677
    |oldList newList oldSelection newSelection prevClasses
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   678
     selectedCategoriesHolder|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   679
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   680
    selectedCategoriesHolder := self selectedCategories.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   681
    oldSelection := selectedCategoriesHolder value ? #().
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   682
    prevClasses := classes copy.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   683
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   684
    newList := self listOfCategories.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   685
    oldList := (self categoryList value) ? #().
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   686
    (newList sameContentsAs:oldList whenComparedWith:[:a :b | a sameStringAndEmphasisAs: b]) 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   687
    ifFalse:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   688
	oldSelection size > 0 ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   689
	    selectedCategoriesHolder removeDependent:self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   690
	    selectedCategoriesHolder value:#().
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   691
	    selectedCategoriesHolder addDependent:self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   692
	].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   693
	categoryList value:newList.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   694
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   695
	oldSelection size > 0 ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   696
	    newSelection := oldSelection select:[:cat | newList includes:cat].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   697
	    selectedCategoriesHolder value:newSelection.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   698
	]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   699
    ] ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   700
	"/ in case the same categories are present, but classes have changed ...
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   701
	(prevClasses isNil or:[(classes identicalContentsAs:prevClasses) not]) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   702
	    self updateOutputGenerator.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   703
	]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   704
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   705
    listValid := true.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   706
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   707
    "Created: / 5.2.2000 / 13:42:13 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   708
    "Modified: / 18.8.2000 / 15:52:22 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   709
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   710
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   711
!ClassCategoryList methodsFor:'setup'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   712
5909
95cd2d9822b3 commonPostBuild
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   713
commonPostBuild
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   714
    |listView|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   715
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   716
    listView := self listView.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   717
    listView notNil ifTrue:[
5909
95cd2d9822b3 commonPostBuild
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   718
        listView scrollWhenUpdating:nil
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   719
    ].
5909
95cd2d9822b3 commonPostBuild
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   720
    super commonPostBuild
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   721
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   722
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   723
!ClassCategoryList methodsFor:'special'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   724
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   725
addAdditionalCategory:aCategory
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   726
    "/ those are simulated - in ST/X, empty categories do not
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   727
    "/ really exist; however, during browsing, it makes sense.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   728
    AdditionalEmptyCategories isNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   729
	AdditionalEmptyCategories := Set new.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   730
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   731
    AdditionalEmptyCategories add:aCategory.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   732
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   733
    Smalltalk changed:#organization   "/ not really ... to force update
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   734
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   735
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   736
removeAdditionalCategories:aListOfCategories
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   737
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   738
    "/ those are simulated - in ST/X, empty categories do not
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   739
    "/ really exist; however, during browsing, it makes sense.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   740
    AdditionalEmptyCategories isNil ifTrue:[^ self].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   741
    aListOfCategories do:[:eachCategory |
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   742
	AdditionalEmptyCategories remove:eachCategory ifAbsent:nil.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   743
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   744
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   745
    Smalltalk changed:#organization   "/ not really ... to force update
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   746
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   747
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   748
removeAllAdditionalCategories
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   749
    "/ those are simulated - in ST/X, empty categories do not
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   750
    "/ really exist; however, during browsing, it makes sense.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   751
    AdditionalEmptyCategories := nil
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   752
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   753
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   754
!ClassCategoryList class methodsFor:'documentation'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   755
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   756
version
5909
95cd2d9822b3 commonPostBuild
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   757
    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassCategoryList.st,v 1.3 2004-06-11 15:20:02 cg Exp $'
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   758
! !