Tools_ClassCategoryList.st
author Stefan Vogel <sv@exept.de>
Fri, 17 May 2019 17:11:44 +0200
changeset 18767 0478d93cdb75
parent 14026 4c197be9097f
child 15566 184cea584be5
permissions -rw-r--r--
#REFACTORING by stefan Sanitize BlockValues class: Tools::Inspector2 changed: #toolbarBackgroundHolder
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6179
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6067
diff changeset
     1
"
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6067
diff changeset
     2
 COPYRIGHT (c) 2004 by eXept Software AG
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6067
diff changeset
     3
              All Rights Reserved
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6067
diff changeset
     4
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6067
diff changeset
     5
 This software is furnished under a license and may be used
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6067
diff changeset
     6
 only in accordance with the terms of that license and with the
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6067
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6067
diff changeset
     8
 be provided or otherwise made available to, or used by, any
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6067
diff changeset
     9
 other person.  No title to or ownership of the software is
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6067
diff changeset
    10
 hereby transferred.
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6067
diff changeset
    11
"
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    12
"{ Package: 'stx:libtool' }"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
"{ NameSpace: Tools }"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
BrowserList subclass:#ClassCategoryList
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
    17
	instanceVariableNames:'categoryList classes allSelected showPseudoCategories
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
    18
		rawCategoryList cookedCategoryList categoryListView'
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
	classVariableNames:'AdditionalEmptyCategories'
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	poolDictionaries:''
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
	category:'Interface-Browsers-New'
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
!ClassCategoryList class methodsFor:'documentation'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
6179
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6067
diff changeset
    26
copyright
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6067
diff changeset
    27
"
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6067
diff changeset
    28
 COPYRIGHT (c) 2004 by eXept Software AG
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6067
diff changeset
    29
              All Rights Reserved
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6067
diff changeset
    30
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6067
diff changeset
    31
 This software is furnished under a license and may be used
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6067
diff changeset
    32
 only in accordance with the terms of that license and with the
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6067
diff changeset
    33
 inclusion of the above copyright notice.   This software may not
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6067
diff changeset
    34
 be provided or otherwise made available to, or used by, any
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6067
diff changeset
    35
 other person.  No title to or ownership of the software is
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6067
diff changeset
    36
 hereby transferred.
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6067
diff changeset
    37
"
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6067
diff changeset
    38
!
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6067
diff changeset
    39
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
documentation
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
    embeddable application displaying the class-categories.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
    Provides an outputGenerator, which enumerates the classes in
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
    the selected categories.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
    [author:]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
	Claus Gittinger (cg@exept.de)
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
!ClassCategoryList class methodsFor:'interface specs'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
singleCategoryWindowSpec
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
    "This resource specification was automatically generated
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
     by the UIPainter of ST/X."
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
    "Do not manually edit this!! If it is corrupted,
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
     the UIPainter may not be able to read the specification."
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
    "
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
     UIPainter new openOnClass:ClassCategoryList andSelector:#singleCategoryWindowSpec
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
     ClassCategoryList new openInterface:#singleCategoryWindowSpec
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
    "
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
    <resource: #canvas>
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
     #(#FullSpec
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    69
	#name: #singleCategoryWindowSpec
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    70
	#window: 
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
       #(#WindowSpec
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    72
	  #label: 'ClassCategoryList'
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    73
	  #name: 'ClassCategoryList'
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    74
	  #min: #(#Point 0 0)
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    75
	  #max: #(#Point 1024 721)
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    76
	  #bounds: #(#Rectangle 218 175 518 475)
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    77
	)
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    78
	#component: 
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
       #(#SpecCollection
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    80
	  #collection: #(
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    81
	   #(#LabelSpec
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    82
	      #label: 'ClassCategoryName'
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    83
	      #name: 'ClassCategoryLabel'
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    84
	      #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
    85
	      #translateLabel: true
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    86
	      #labelChannel: #classCategoryLabelHolder
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    87
	      #menu: #menuHolder
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    88
	    )
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    89
	   )
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
         
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    91
	)
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
      )
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
windowSpec
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
    "This resource specification was automatically generated
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
     by the UIPainter of ST/X."
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
    "Do not manually edit this!! If it is corrupted,
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
     the UIPainter may not be able to read the specification."
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
    "
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   103
     UIPainter new openOnClass:Tools::ClassCategoryList andSelector:#windowSpec
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   104
     Tools::ClassCategoryList new openInterface:#windowSpec
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   105
     Tools::ClassCategoryList open
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
    "
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
    <resource: #canvas>
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
    ^ 
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   111
     #(FullSpec
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   112
        name: windowSpec
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   113
        window: 
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   114
       (WindowSpec
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   115
          label: 'ClassCategoryList'
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   116
          name: 'ClassCategoryList'
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   117
          min: (Point 0 0)
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   118
          bounds: (Rectangle 0 0 300 300)
6468
8047fc185bd8 drag and drop cleanup
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
   119
        )
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   120
        component: 
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   121
       (SpecCollection
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   122
          collection: (
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   123
           (SequenceViewSpec
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   124
              name: 'List'
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   125
              layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   126
              tabable: true
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   127
              model: selectedCategories
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   128
              menu: menuHolder
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   129
              hasHorizontalScrollBar: true
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   130
              hasVerticalScrollBar: true
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   131
              miniScrollerHorizontal: true
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   132
              isMultiSelect: true
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   133
              valueChangeSelector: selectionChangedByClick
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   134
              useIndex: false
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   135
              sequenceList: categoryList
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   136
              doubleClickChannel: doubleClickChannel
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   137
              properties: 
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   138
             (PropertyListDictionary
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   139
                canDropSelector: canDropContext:
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   140
                dragArgument: nil
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   141
                dropArgument: nil
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   142
                dropSelector: doDropContext:
6468
8047fc185bd8 drag and drop cleanup
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
   143
              )
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   144
              postBuildCallback: postBuildCategoryListView:
6468
8047fc185bd8 drag and drop cleanup
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
   145
            )
8047fc185bd8 drag and drop cleanup
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
   146
           )
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
         
6468
8047fc185bd8 drag and drop cleanup
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
   148
        )
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
      )
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
!ClassCategoryList class methodsFor:'plugIn spec'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
aspectSelectors
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
    "This resource specification was automatically generated
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
     by the UIPainter of ST/X."
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
    "Do not manually edit this. If it is corrupted,
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
     the UIPainter may not be able to read the specification."
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
    "Return a description of exported aspects;
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
     these can be connected to aspects of an embedding application
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
     (if this app is embedded in a subCanvas)."
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
    ^ #(
14026
4c197be9097f Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13498
diff changeset
   166
        environmentHolder
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   167
        #(doubleClickChannel action)
8700
368b61ebdad3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8446
diff changeset
   168
        #forceGeneratorTrigger
368b61ebdad3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8446
diff changeset
   169
        #hideUnloadedClasses
368b61ebdad3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8446
diff changeset
   170
        #immediateUpdate
368b61ebdad3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8446
diff changeset
   171
        #inGeneratorHolder
368b61ebdad3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8446
diff changeset
   172
        #menuHolder
368b61ebdad3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8446
diff changeset
   173
        #nameSpaceFilter
368b61ebdad3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8446
diff changeset
   174
        #organizerMode
368b61ebdad3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8446
diff changeset
   175
        #outGeneratorHolder
368b61ebdad3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8446
diff changeset
   176
        #packageFilter
368b61ebdad3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8446
diff changeset
   177
        #selectedCategories
368b61ebdad3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8446
diff changeset
   178
        #selectionChangeCondition
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   179
        #showCoverageInformation
8700
368b61ebdad3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8446
diff changeset
   180
        #slaveMode
368b61ebdad3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8446
diff changeset
   181
        #updateTrigger
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
      ).
10351
fc931f04ae12 changed: #aspectSelectors
Claus Gittinger <cg@exept.de>
parents: 9463
diff changeset
   183
14026
4c197be9097f Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13498
diff changeset
   184
    "Modified: / 24-02-2014 / 10:37:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
8373
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   187
!ClassCategoryList class methodsFor:'special'!
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   188
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   189
addAdditionalCategory:aCategory
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   190
    "/ those are simulated - in ST/X, empty categories do not
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   191
    "/ really exist; however, during browsing, it makes sense.
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   192
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   193
    AdditionalEmptyCategories isNil ifTrue:[
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   194
        AdditionalEmptyCategories := Set new.
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   195
    ].
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   196
    AdditionalEmptyCategories add:aCategory.
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   197
    Smalltalk changed:#organization with:(nil -> aCategory).  "/ not really ... to force update
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   198
!
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   199
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   200
removeAdditionalCategories:aListOfCategories
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   201
    "/ those are simulated - in ST/X, empty categories do not
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   202
    "/ really exist; however, during browsing, it makes sense.
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   203
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   204
    AdditionalEmptyCategories isNil ifTrue:[^ self].
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   205
    aListOfCategories do:[:eachCategory |
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   206
        AdditionalEmptyCategories remove:eachCategory ifAbsent:nil.
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   207
    ].
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   208
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   209
    Smalltalk changed:#organization   "/ not really ... to force update
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   210
!
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   211
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   212
removeAllAdditionalCategories
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   213
    "/ those are simulated - in ST/X, empty categories do not
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   214
    "/ really exist; however, during browsing, it makes sense.
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   215
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   216
    AdditionalEmptyCategories := nil
8446
42de63700611 category rename
Claus Gittinger <cg@exept.de>
parents: 8373
diff changeset
   217
!
42de63700611 category rename
Claus Gittinger <cg@exept.de>
parents: 8373
diff changeset
   218
42de63700611 category rename
Claus Gittinger <cg@exept.de>
parents: 8373
diff changeset
   219
renameAdditionalCategories:oldNames to:newName
42de63700611 category rename
Claus Gittinger <cg@exept.de>
parents: 8373
diff changeset
   220
    "/ those are simulated - in ST/X, empty categories do not
42de63700611 category rename
Claus Gittinger <cg@exept.de>
parents: 8373
diff changeset
   221
    "/ really exist; however, during browsing, it makes sense.
42de63700611 category rename
Claus Gittinger <cg@exept.de>
parents: 8373
diff changeset
   222
42de63700611 category rename
Claus Gittinger <cg@exept.de>
parents: 8373
diff changeset
   223
    self removeAdditionalCategories:oldNames.
42de63700611 category rename
Claus Gittinger <cg@exept.de>
parents: 8373
diff changeset
   224
    self addAdditionalCategory:newName.
8373
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   225
! !
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   226
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
!ClassCategoryList methodsFor:'aspects'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
categoryList
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
    categoryList isNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
	categoryList := ValueHolder new.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
    ^ categoryList
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
    "Created: / 25.2.2000 / 02:23:08 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
categoryList:aValueHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
    categoryList notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
	categoryList removeDependent:self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
    categoryList := aValueHolder.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
    categoryList notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
	categoryList addDependent:self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
    "Created: / 18.8.2000 / 15:21:42 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
classCategoryLabelHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
    ^ self pseudoListLabelHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
selectedCategories
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   255
    ^ self selectionHolder 
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   258
selectedCategories:aValueHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   259
    ^ self selectionHolder:aValueHolder
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   260
!
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   261
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   262
selectionHolder
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   263
"/    self halt.
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   264
    ^ super selectionHolder
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   265
!
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   266
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   267
selectionHolder:aValueHolder
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   268
    "/ self halt.
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   269
    super selectionHolder:aValueHolder
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   270
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   271
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   272
!ClassCategoryList methodsFor:'change & update'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   273
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   274
delayedUpdate:something with:aParameter from:changedObject
6702
0f4c00e8eecc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6677
diff changeset
   275
    |selectedCategories allSelectedBefore 
12520
b00df8bffe99 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12487
diff changeset
   276
     nameListEntryForALL cls categoryOfClass wg|
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   277
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   278
    selectedCategories := self selectedCategoriesStrings.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   279
13498
b8d845e42988 Added `environment` instance variable to Tools__NewSystemBrowser and
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13193
diff changeset
   280
    changedObject == environment ifTrue:[
6677
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   281
        ((something == #classVariables) 
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   282
        or:[something == #classDefinition]) ifTrue:[
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   283
            listValid == true ifTrue:[
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   284
                categoryOfClass := aParameter category.
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   285
                (rawCategoryList includes:categoryOfClass) ifFalse:[
6677
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   286
                    self invalidateList.                
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   287
                ].
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   288
                slaveMode value ~~ true ifTrue:[
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   289
                    (selectedCategories includes:categoryOfClass) ifTrue:[
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   290
                        "/ a selected class has changed
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   291
                        "/ in order to give others a chance to update their list before,
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   292
                        "/ this one is always enqueued for delayed update (even if immediateUpdate is true)
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   293
                        "/ self enqueueDelayedUpdateOutputGenerator
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   294
                        self enqueueMessage:#updateOutputGenerator for:self arguments:#()
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   295
                    ].
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   296
                ].
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   297
            ].
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   298
            ^ self
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   299
        ].
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   300
        something == #newClass ifTrue:[
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   301
            categoryOfClass := aParameter category.
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   302
            listValid == false ifTrue:[
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   303
                ^ self
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   304
            ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   305
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   306
            (rawCategoryList includes:categoryOfClass) ifFalse:[
6677
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   307
                self invalidateList.                
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   308
            ].
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   309
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   310
            slaveMode value ~~ true ifTrue:[
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   311
                (selectedCategories includes:categoryOfClass) ifTrue:[
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   312
                    self enqueueDelayedUpdateOutputGenerator
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   313
                ].
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   314
            ].
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   315
            ^ self
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   316
        ].
12520
b00df8bffe99 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12487
diff changeset
   317
        something == #projectOrganization ifTrue:[
b00df8bffe99 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12487
diff changeset
   318
            listValid == false ifTrue:[
b00df8bffe99 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12487
diff changeset
   319
                ^ self
b00df8bffe99 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12487
diff changeset
   320
            ].
12524
b01bf4e76194 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12520
diff changeset
   321
            aParameter isNil ifTrue:[
12520
b00df8bffe99 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12487
diff changeset
   322
                self invalidateList.                
12524
b01bf4e76194 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12520
diff changeset
   323
                slaveMode value ~~ true ifTrue:[
b01bf4e76194 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12520
diff changeset
   324
                    selectedCategories notEmptyOrNil ifTrue:[
b01bf4e76194 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12520
diff changeset
   325
                        self enqueueDelayedUpdateOutputGenerator
b01bf4e76194 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12520
diff changeset
   326
                    ].
b01bf4e76194 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12520
diff changeset
   327
                ]
b01bf4e76194 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12520
diff changeset
   328
            ] ifFalse:[
b01bf4e76194 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12520
diff changeset
   329
                cls := aParameter first.
b01bf4e76194 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12520
diff changeset
   330
                categoryOfClass := cls category.
12520
b00df8bffe99 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12487
diff changeset
   331
12524
b01bf4e76194 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12520
diff changeset
   332
                (rawCategoryList includes:categoryOfClass) ifFalse:[
b01bf4e76194 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12520
diff changeset
   333
                    self invalidateList.                
12520
b00df8bffe99 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12487
diff changeset
   334
                ].
12524
b01bf4e76194 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12520
diff changeset
   335
b01bf4e76194 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12520
diff changeset
   336
                slaveMode value ~~ true ifTrue:[
b01bf4e76194 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12520
diff changeset
   337
                    (selectedCategories includes:categoryOfClass) ifTrue:[
b01bf4e76194 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12520
diff changeset
   338
                        self enqueueDelayedUpdateOutputGenerator
b01bf4e76194 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12520
diff changeset
   339
                    ].
b01bf4e76194 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12520
diff changeset
   340
                ]
12520
b00df8bffe99 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12487
diff changeset
   341
            ].
b00df8bffe99 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12487
diff changeset
   342
            ^ self
b00df8bffe99 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12487
diff changeset
   343
        ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   344
6677
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   345
        self invalidateList.
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   346
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   347
        (something == #classRemove 
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   348
        or:[something == #projectOrganization 
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   349
        or:[something == #organization]]) ifTrue:[
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   350
            slaveMode value ~~ true ifTrue:[
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   351
                "/ sorry: cannot filter on category (already changed to #removed)
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   352
                self enqueueDelayedUpdateOutputGenerator
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   353
            ].
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   354
        ].
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   355
        ^ self
5591
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
    changedObject == ChangeSet ifTrue:[
6677
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   359
        "/ remove all other change notifications from the eventQueue
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   360
        wg := self windowGroup.
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   361
        wg isNil ifTrue:[
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   362
            "/ oops - should no longer be dependent...
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   363
            changedObject removeDependent:self.
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   364
        ] ifFalse:[
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   365
            wg sensor 
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   366
                flushEventsFor:self 
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   367
                where:[:ev | ev isMessageSendEvent 
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   368
                             and:[ev selector == #delayedUpdate:with:from:
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   369
                             and:[(ev arguments at:3) == ChangeSet]]].
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   370
        ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   371
6677
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   372
        something == #addChange: ifTrue:[
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   373
            "/ only need to invalidate, if that change changes my emphasis 
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   374
            "/ (i.e. if its a new methodChange)
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   375
            self window topView shown ifFalse:[
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   376
                self invalidateList.
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   377
                ^ self
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   378
            ].
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   379
        
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   380
"/            self invalidateList.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   381
6677
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   382
            aParameter isMethodChange ifTrue:[
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   383
                aParameter changeClass notNil ifTrue:[
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   384
                    (ChangeSet current 
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   385
                        count:[:chg | chg notNil and:[chg isMethodChange
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   386
                                      and:[ chg className = aParameter className ]]])
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   387
                    == 1 ifTrue:[
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   388
                        "/ that methodChange is the first for this method.
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   389
                        self colorizeCategoryAsChanged:(aParameter changeClass category).
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   390
                    ]
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   391
                ]
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   392
            ].
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   393
            ^ self
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   394
        ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   395
6677
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   396
        self invalidateList.
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   397
        ^ self
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   398
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   399
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   400
    changedObject == nameSpaceFilter ifTrue:[
6677
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   401
        "/ all might be more or less than before ...
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   402
        allSelected := false.
11917
4abec96d769d fixes to allow viewing all vs extensions in a
Claus Gittinger <cg@exept.de>
parents: 11907
diff changeset
   403
        "/ self invalidateList - done in super
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   404
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   405
    changedObject == packageFilter ifTrue:[
6677
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   406
        "/ all might be more or less than before ...
11917
4abec96d769d fixes to allow viewing all vs extensions in a
Claus Gittinger <cg@exept.de>
parents: 11907
diff changeset
   407
        allSelected := false.
4abec96d769d fixes to allow viewing all vs extensions in a
Claus Gittinger <cg@exept.de>
parents: 11907
diff changeset
   408
        "/ self invalidateList - done in super
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   409
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   410
6702
0f4c00e8eecc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6677
diff changeset
   411
    changedObject == self selectedCategories ifTrue:[
11917
4abec96d769d fixes to allow viewing all vs extensions in a
Claus Gittinger <cg@exept.de>
parents: 11907
diff changeset
   412
        listValid ifFalse:[
6677
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   413
            "/ oops - hurry up
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   414
            self invalidateList.
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   415
        ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   416
6677
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   417
        nameListEntryForALL := self class nameListEntryForALL.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   418
6677
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   419
        selectedCategories size > 1 ifTrue:[
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   420
            (selectedCategories includes:nameListEntryForALL) ifTrue:[
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   421
                self makeSelectionOtherThanAllVisible.
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   422
            ]
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   423
        ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   424
6677
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   425
        "/ if all selected before AND allSelected after, no need to update the output generator
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   426
        allSelectedBefore := allSelected ? false.
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   427
        allSelected := selectedCategories includes:nameListEntryForALL.
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   428
        (allSelectedBefore and:[allSelected]) ifTrue:[
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   429
            ^ self
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   430
        ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   431
    ].
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   432
    changedObject == categoryList ifTrue:[
12944
486b9808a1cb class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12718
diff changeset
   433
        self breakPoint:#cg.
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   434
    ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   435
    super delayedUpdate:something with:aParameter from:changedObject
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   436
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   437
    "Created: / 5.2.2000 / 13:42:12 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   438
    "Modified: / 12.11.2001 / 19:36:16 / cg"
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
forceUpdateList
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   442
    self categoryList setValue:#().
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   443
    self updateList.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   444
    self categoryList changed.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   445
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   446
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   447
selectionChangedByClick
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   448
    "we are not interested in that - get another notification
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   449
     via the changed valueHolder"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   450
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   451
    "Created: / 11.2.2000 / 11:39:48 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   452
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   453
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   454
update:something with:aParameter from:changedObject
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   455
    |categoryOfClass|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   456
13498
b8d845e42988 Added `environment` instance variable to Tools__NewSystemBrowser and
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13193
diff changeset
   457
    changedObject == environment ifTrue:[
8751
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   458
        (something == #methodInClass 
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   459
        or:[ something == #classComment
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   460
        or:[ something == #methodDictionary
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   461
        or:[ something == #methodTrap
10365
08529ca9558a changed:
Claus Gittinger <cg@exept.de>
parents: 10351
diff changeset
   462
        or:[ something == #methodCoverageInfo
08529ca9558a changed:
Claus Gittinger <cg@exept.de>
parents: 10351
diff changeset
   463
        or:[ something == #methodInClassRemoved ]]]]]) ifTrue:[
6677
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   464
            ^ self
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   465
        ].
8751
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   466
6677
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   467
        (something == #classVariables
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   468
        or:[something == #classDefinition]) ifTrue:[
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   469
            categoryOfClass := aParameter category.
6702
0f4c00e8eecc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6677
diff changeset
   470
            (self selectedCategoriesStrings includes:categoryOfClass) ifTrue:[
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   471
"/ self halt.
6677
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   472
                self updateOutputGenerator.                
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   473
            ].
bae57592a094 ignore some updates - speedup
Claus Gittinger <cg@exept.de>
parents: 6492
diff changeset
   474
        ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   475
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   476
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   477
"/    changedObject == ChangeSet ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   478
"/        something == #addChange: ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   479
"/            ^ self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   480
"/        ]
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
    super update:something with:aParameter from:changedObject
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   484
10365
08529ca9558a changed:
Claus Gittinger <cg@exept.de>
parents: 10351
diff changeset
   485
    "Modified: / 20-07-2011 / 18:50:04 / cg"
5591
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
!ClassCategoryList methodsFor:'drag & drop'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   489
6468
8047fc185bd8 drag and drop cleanup
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
   490
canDropContext:aDropContext
7425
9e029102ef55 drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 7119
diff changeset
   491
    |cat objects droppedClasses|
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   492
7425
9e029102ef55 drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 7119
diff changeset
   493
    objects := aDropContext dropObjects collect:[:obj | obj theObject].
9e029102ef55 drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 7119
diff changeset
   494
    (self objectsAreClassFiles:objects) ifTrue:[^ true].
9e029102ef55 drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 7119
diff changeset
   495
9e029102ef55 drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 7119
diff changeset
   496
    (objects conform:[:aClass | aClass isClass]) ifFalse:[^ false].
9e029102ef55 drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 7119
diff changeset
   497
    droppedClasses := objects.
6468
8047fc185bd8 drag and drop cleanup
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
   498
    (droppedClasses contains:[:aClass | aClass isPrivate not]) ifFalse:[^ false].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   499
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   500
    cat := self categoryAtTargetPointOf:aDropContext.
13193
4dbbf330a6af class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12944
diff changeset
   501
    (cat isNil 
4dbbf330a6af class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12944
diff changeset
   502
      or:[ (cat = '* obsolete *')
4dbbf330a6af class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12944
diff changeset
   503
      or:[ (cat = #'* as yet unknown category *')
4dbbf330a6af class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12944
diff changeset
   504
      or:[ self class isPseudoCategory:cat ]]])
4dbbf330a6af class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12944
diff changeset
   505
        ifTrue:[ ^  false ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   506
6468
8047fc185bd8 drag and drop cleanup
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
   507
    (droppedClasses contains:[:aClass | aClass category ~= cat]) ifFalse:[^ false].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   508
    ^ true.
7119
ae1ad5c150c7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6978
diff changeset
   509
7425
9e029102ef55 drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 7119
diff changeset
   510
    "Modified: / 17-10-2006 / 18:28:04 / cg"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   511
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   512
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   513
categoryAtTargetPointOf:aDropContext
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   514
    |p categoryListView lineNr cat|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   515
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   516
    p := aDropContext targetPoint.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   517
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   518
    categoryListView := aDropContext targetWidget.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   519
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   520
    lineNr := categoryListView lineAtY:p y.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   521
    lineNr isNil ifTrue:[^ nil].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   522
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   523
    cat := rawCategoryList at:lineNr.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   524
    cat := cat string.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   525
    cat = self class nameListEntryForALL ifTrue:[^ nil].
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   526
6702
0f4c00e8eecc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6677
diff changeset
   527
    (cat endsWith:(self stringForExtensions)) ifTrue:[
12718
73d137def59c Changed usage of deprecated #copyWithoutLast: to #copyButLast:
Stefan Vogel <sv@exept.de>
parents: 12610
diff changeset
   528
        cat := cat copyButLast:(self stringForExtensions size)
6702
0f4c00e8eecc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6677
diff changeset
   529
    ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   530
    ^ cat
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   531
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   532
6468
8047fc185bd8 drag and drop cleanup
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
   533
doDropContext:aDropContext
7425
9e029102ef55 drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 7119
diff changeset
   534
    |cat objects|
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   535
7425
9e029102ef55 drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 7119
diff changeset
   536
    objects := aDropContext dropObjects collect:[:aDropObject | aDropObject theObject].
9e029102ef55 drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 7119
diff changeset
   537
    (objects conform:[:something | something isClass]) ifTrue:[
9e029102ef55 drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 7119
diff changeset
   538
        cat := self categoryAtTargetPointOf:aDropContext.
13193
4dbbf330a6af class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12944
diff changeset
   539
        (cat isNil 
4dbbf330a6af class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12944
diff changeset
   540
          or:[ (cat = '* obsolete *')
4dbbf330a6af class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12944
diff changeset
   541
          or:[ self class isPseudoCategory:cat ]])
4dbbf330a6af class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12944
diff changeset
   542
        ifFalse:[
7425
9e029102ef55 drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 7119
diff changeset
   543
            self masterApplication moveClasses:objects toCategory:cat.
9e029102ef55 drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 7119
diff changeset
   544
        ].
9e029102ef55 drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 7119
diff changeset
   545
        ^ self
9e029102ef55 drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 7119
diff changeset
   546
    ].
9e029102ef55 drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 7119
diff changeset
   547
    (objects conform:[:something | something isFilename]) ifTrue:[
9e029102ef55 drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 7119
diff changeset
   548
        self dropClassFiles:objects.
9e029102ef55 drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 7119
diff changeset
   549
        ^ self
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   550
    ].
7119
ae1ad5c150c7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6978
diff changeset
   551
7425
9e029102ef55 drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 7119
diff changeset
   552
    "Modified: / 17-10-2006 / 18:29:25 / cg"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   553
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   554
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   555
!ClassCategoryList methodsFor:'generators'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   556
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   557
makeGenerator
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   558
    "return a generator which enumerates the classes from the selected category."
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   559
8751
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   560
    |cats hideUnloadedClasses allName nameSpaceFilter packageFilter 
12043
9419417e0b19 classes with extensions
Claus Gittinger <cg@exept.de>
parents: 11944
diff changeset
   561
     showChangedClasses showUnloaded showUndocumented showExtendedClasses inclusionTest changedClasses|
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   562
6702
0f4c00e8eecc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6677
diff changeset
   563
    cats := self selectedCategoriesStrings.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   564
    cats size == 0 ifTrue:[
6066
dbc820318498 care for nil-category in classes
Claus Gittinger <cg@exept.de>
parents: 5950
diff changeset
   565
        ^ #()
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   566
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   567
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   568
    allName := self class nameListEntryForALL.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   569
8345
b2e8f543ec50 being a categoryList with a fixed given list
Claus Gittinger <cg@exept.de>
parents: 7504
diff changeset
   570
    (cats includes:allName) ifTrue:[
b2e8f543ec50 being a categoryList with a fixed given list
Claus Gittinger <cg@exept.de>
parents: 7504
diff changeset
   571
        inGeneratorHolder value isOrderedCollection ifTrue:[
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   572
            cats := rawCategoryList copyWithout:allName.
8345
b2e8f543ec50 being a categoryList with a fixed given list
Claus Gittinger <cg@exept.de>
parents: 7504
diff changeset
   573
        ]
b2e8f543ec50 being a categoryList with a fixed given list
Claus Gittinger <cg@exept.de>
parents: 7504
diff changeset
   574
    ].
b2e8f543ec50 being a categoryList with a fixed given list
Claus Gittinger <cg@exept.de>
parents: 7504
diff changeset
   575
8734
d34b06b82112 + pseudo changed entry
Claus Gittinger <cg@exept.de>
parents: 8700
diff changeset
   576
    showChangedClasses := cats includes:(self class nameListEntryForChanged).
8751
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   577
    showUnloaded := cats includes:(self class nameListEntryForUnloaded).
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   578
    showUndocumented := cats includes:(self class nameListEntryForUndocumented).
12043
9419417e0b19 classes with extensions
Claus Gittinger <cg@exept.de>
parents: 11944
diff changeset
   579
    showExtendedClasses := cats includes:(self class nameListEntryForExtendedClasses).
8734
d34b06b82112 + pseudo changed entry
Claus Gittinger <cg@exept.de>
parents: 8700
diff changeset
   580
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   581
    hideUnloadedClasses := self hideUnloadedClasses value ? false.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   582
    nameSpaceFilter := self nameSpaceFilter value.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   583
    nameSpaceFilter notNil ifTrue:[
6066
dbc820318498 care for nil-category in classes
Claus Gittinger <cg@exept.de>
parents: 5950
diff changeset
   584
        (nameSpaceFilter includes:allName) ifTrue:[nameSpaceFilter := nil].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   585
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   586
    packageFilter := self packageFilter value.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   587
    packageFilter notNil ifTrue:[
6066
dbc820318498 care for nil-category in classes
Claus Gittinger <cg@exept.de>
parents: 5950
diff changeset
   588
        (packageFilter includes:allName) ifTrue:[packageFilter := nil].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   589
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   590
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   591
    (cats includes:allName) ifTrue:[
6066
dbc820318498 care for nil-category in classes
Claus Gittinger <cg@exept.de>
parents: 5950
diff changeset
   592
        hideUnloadedClasses ifTrue:[
8751
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   593
            inclusionTest := [:cls | cls isLoaded].
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   594
        ] ifFalse:[
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   595
            inclusionTest := [:cls | true].
6066
dbc820318498 care for nil-category in classes
Claus Gittinger <cg@exept.de>
parents: 5950
diff changeset
   596
        ].
8751
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   597
    ] ifFalse:[
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   598
        inclusionTest := 
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   599
            [:cls | 
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   600
                |cat isLoaded included|
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   601
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   602
                isLoaded := cls isLoaded.
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   603
                included := isLoaded not and:[ showUnloaded ].
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   604
                included ifFalse:[
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   605
                    (hideUnloadedClasses not or:[isLoaded]) ifTrue:[
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   606
                        cat := cls category ? '* no category *'.
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   607
                        included := cats includes:cat.
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   608
                        included ifFalse:[
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   609
                            included := showChangedClasses 
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   610
                                        and:[ (changedClasses includes:cls theNonMetaclass)
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   611
                                                or:[(changedClasses includes:cls theMetaclass)] ].
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   612
                            included ifFalse:[
11880
7b506ebc8ef8 changed:
Claus Gittinger <cg@exept.de>
parents: 11860
diff changeset
   613
                                included := showUndocumented 
7b506ebc8ef8 changed:
Claus Gittinger <cg@exept.de>
parents: 11860
diff changeset
   614
                                            and:[ isLoaded 
7b506ebc8ef8 changed:
Claus Gittinger <cg@exept.de>
parents: 11860
diff changeset
   615
                                            and:[ cls isPrivate not    
7b506ebc8ef8 changed:
Claus Gittinger <cg@exept.de>
parents: 11860
diff changeset
   616
                                            and:[ (cls theMetaclass includesSelector:#documentation) not ]]].
12043
9419417e0b19 classes with extensions
Claus Gittinger <cg@exept.de>
parents: 11944
diff changeset
   617
                                included ifFalse:[
9419417e0b19 classes with extensions
Claus Gittinger <cg@exept.de>
parents: 11944
diff changeset
   618
                                    included := showExtendedClasses
9419417e0b19 classes with extensions
Claus Gittinger <cg@exept.de>
parents: 11944
diff changeset
   619
                                                and:[ cls hasExtensions ].
9419417e0b19 classes with extensions
Claus Gittinger <cg@exept.de>
parents: 11944
diff changeset
   620
                                ].
8751
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   621
                            ].
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   622
                        ].
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   623
                    ].
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   624
                ].
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   625
                included
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   626
            ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   627
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   628
8748
5abc96ba76eb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8741
diff changeset
   629
    ^ Iterator on:[:whatToDo |
8751
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   630
            showChangedClasses ifTrue:[ changedClasses := ChangeSet current changedClasses ].
8734
d34b06b82112 + pseudo changed entry
Claus Gittinger <cg@exept.de>
parents: 8700
diff changeset
   631
13498
b8d845e42988 Added `environment` instance variable to Tools__NewSystemBrowser and
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13193
diff changeset
   632
            environment allClassesDo:[:cls |
8751
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   633
                (cls isRealNameSpace) ifFalse:[
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   634
                    (inclusionTest value:cls) ifTrue:[
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   635
                        (nameSpaceFilter isNil
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   636
                        or:[self isClass:cls shownWithNameSpaceFilter:nameSpaceFilter]) ifTrue:[
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   637
                            (packageFilter isNil
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   638
                            or:[self isClass:cls shownWithPackageFilter:packageFilter]) ifTrue:[
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   639
                                whatToDo value:cls
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   640
                            ]
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   641
                        ]
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   642
                    ].
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   643
                ].
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   644
            ].
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   645
        ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   646
7504
34ab937df8de preps for SmallTeam
Claus Gittinger <cg@exept.de>
parents: 7425
diff changeset
   647
    "Created: / 05-02-2000 / 13:42:12 / cg"
34ab937df8de preps for SmallTeam
Claus Gittinger <cg@exept.de>
parents: 7425
diff changeset
   648
    "Modified: / 10-11-2006 / 17:13:26 / cg"
5591
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
!ClassCategoryList methodsFor:'private'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   652
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   653
colorizeCategoryAsChanged:category
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   654
    |colorizedCategoryItem categoryList idx|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   655
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   656
    colorizedCategoryItem := self colorizeForChangedCode:category copy asText.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   657
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   658
    categoryList := self categoryList value.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   659
    idx := categoryList indexOf:category.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   660
    idx ~~ 0 ifTrue:[
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   661
        ((categoryList at:idx) sameStringAndEmphasisAs:colorizedCategoryItem) ifFalse:[
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   662
            categoryList at:idx put:colorizedCategoryItem.
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   663
            self categoryList changed.
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   664
        ]
5591
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
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   668
listOfCategories
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   669
    |categories categoriesBag hideUnloadedClasses generator nameSpaceFilter packageFilter allName
7504
34ab937df8de preps for SmallTeam
Claus Gittinger <cg@exept.de>
parents: 7425
diff changeset
   670
     categoriesWithExtensions categoriesWithChangedCode categoriesWithRemoteChangedCode
12043
9419417e0b19 classes with extensions
Claus Gittinger <cg@exept.de>
parents: 11944
diff changeset
   671
     classesInChangeSet classesInRemoteChangeSet classesWithExtensions
12487
f36cda6765a9 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12465
diff changeset
   672
     numClassesInChangeSet numClasses numUnloaded numUndocumented numExtendedClasses 
f36cda6765a9 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12465
diff changeset
   673
     pseudoEntryColor showCounts|
f36cda6765a9 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12465
diff changeset
   674
f36cda6765a9 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12465
diff changeset
   675
    showCounts := true.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   676
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   677
    allName := self class nameListEntryForALL.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   678
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   679
    hideUnloadedClasses := self hideUnloadedClasses value.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   680
    nameSpaceFilter := self nameSpaceFilter value.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   681
    nameSpaceFilter notNil ifTrue:[
5950
6bcc39c4e1ea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5914
diff changeset
   682
        (nameSpaceFilter includes:allName) ifTrue:[nameSpaceFilter := nil].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   683
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   684
    packageFilter := self packageFilter value.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   685
    packageFilter notNil ifTrue:[
5950
6bcc39c4e1ea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5914
diff changeset
   686
        (packageFilter includes:allName) ifTrue:[packageFilter := nil].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   687
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   688
12043
9419417e0b19 classes with extensions
Claus Gittinger <cg@exept.de>
parents: 11944
diff changeset
   689
    numClasses := numUndocumented := numUnloaded := numClassesInChangeSet := numExtendedClasses := 0.
8734
d34b06b82112 + pseudo changed entry
Claus Gittinger <cg@exept.de>
parents: 8700
diff changeset
   690
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   691
    categories := Set new.
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   692
    categoriesBag := Bag new.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   693
    categoriesWithExtensions := Set new.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   694
    categoriesWithChangedCode := Set new.
7504
34ab937df8de preps for SmallTeam
Claus Gittinger <cg@exept.de>
parents: 7425
diff changeset
   695
    categoriesWithRemoteChangedCode := Set new.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   696
6978
6d2a2365dde8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6962
diff changeset
   697
    classesInChangeSet := ChangeSet current changedClasses.
6d2a2365dde8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6962
diff changeset
   698
    classesInChangeSet := classesInChangeSet collect:[:eachClass | eachClass theNonMetaclass].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   699
7504
34ab937df8de preps for SmallTeam
Claus Gittinger <cg@exept.de>
parents: 7425
diff changeset
   700
    classesInRemoteChangeSet := SmallTeam isNil ifTrue:[#()] ifFalse:[ SmallTeam changedClasses ].
34ab937df8de preps for SmallTeam
Claus Gittinger <cg@exept.de>
parents: 7425
diff changeset
   701
    classesInRemoteChangeSet := classesInRemoteChangeSet collect:[:each | each theNonMetaclass].
34ab937df8de preps for SmallTeam
Claus Gittinger <cg@exept.de>
parents: 7425
diff changeset
   702
12043
9419417e0b19 classes with extensions
Claus Gittinger <cg@exept.de>
parents: 11944
diff changeset
   703
    classesWithExtensions := IdentitySet new.
9419417e0b19 classes with extensions
Claus Gittinger <cg@exept.de>
parents: 11944
diff changeset
   704
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   705
    classes := IdentitySet new.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   706
    inGeneratorHolder isNil ifTrue:[
13498
b8d845e42988 Added `environment` instance variable to Tools__NewSystemBrowser and
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13193
diff changeset
   707
        environment allClassesDo:[:cls | 
8751
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   708
            |cat isLoaded|
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   709
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   710
            (cls isRealNameSpace) ifFalse:[
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   711
                (nameSpaceFilter isNil
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   712
                or:[self isClass:cls shownWithNameSpaceFilter:nameSpaceFilter]) ifTrue:[
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   713
                    (packageFilter isNil
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   714
                    or:[self isClass:cls shownWithPackageFilter:packageFilter]) ifTrue:[
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   715
8751
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   716
                        isLoaded := cls isLoaded.
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   717
                        isLoaded ifTrue:[ 
11880
7b506ebc8ef8 changed:
Claus Gittinger <cg@exept.de>
parents: 11860
diff changeset
   718
                            numUnloaded := numUnloaded + 1.
7b506ebc8ef8 changed:
Claus Gittinger <cg@exept.de>
parents: 11860
diff changeset
   719
                            cls isPrivate ifFalse:[  
7b506ebc8ef8 changed:
Claus Gittinger <cg@exept.de>
parents: 11860
diff changeset
   720
                                (cls theMetaclass includesSelector:#documentation) ifFalse:[
7b506ebc8ef8 changed:
Claus Gittinger <cg@exept.de>
parents: 11860
diff changeset
   721
                                    numUndocumented := numUndocumented + 1.
7b506ebc8ef8 changed:
Claus Gittinger <cg@exept.de>
parents: 11860
diff changeset
   722
                                ].
8751
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   723
                            ].
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   724
                        ].
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   725
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   726
                        (hideUnloadedClasses not or:[isLoaded])
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   727
                        ifTrue:[
8734
d34b06b82112 + pseudo changed entry
Claus Gittinger <cg@exept.de>
parents: 8700
diff changeset
   728
                            numClasses := numClasses + 1.
d34b06b82112 + pseudo changed entry
Claus Gittinger <cg@exept.de>
parents: 8700
diff changeset
   729
6066
dbc820318498 care for nil-category in classes
Claus Gittinger <cg@exept.de>
parents: 5950
diff changeset
   730
                            cat := cls category ? '* no category *'.
5950
6bcc39c4e1ea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5914
diff changeset
   731
                            cat isString ifFalse:[self halt:'oops - strange category'].
6bcc39c4e1ea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5914
diff changeset
   732
                            categories add:cat.
6bcc39c4e1ea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5914
diff changeset
   733
                            classes add:cls.
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   734
                            categoriesBag add:cat.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   735
6978
6d2a2365dde8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6962
diff changeset
   736
                            (classesInChangeSet includes:cls theNonMetaclass) ifTrue:[
5950
6bcc39c4e1ea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5914
diff changeset
   737
                                categoriesWithChangedCode add:cat
7504
34ab937df8de preps for SmallTeam
Claus Gittinger <cg@exept.de>
parents: 7425
diff changeset
   738
                            ].
34ab937df8de preps for SmallTeam
Claus Gittinger <cg@exept.de>
parents: 7425
diff changeset
   739
                            (classesInRemoteChangeSet includes:cls theNonMetaclass) ifTrue:[
34ab937df8de preps for SmallTeam
Claus Gittinger <cg@exept.de>
parents: 7425
diff changeset
   740
                                categoriesWithRemoteChangedCode add:cat
34ab937df8de preps for SmallTeam
Claus Gittinger <cg@exept.de>
parents: 7425
diff changeset
   741
                            ].
34ab937df8de preps for SmallTeam
Claus Gittinger <cg@exept.de>
parents: 7425
diff changeset
   742
                            cls hasExtensions ifTrue:[
12043
9419417e0b19 classes with extensions
Claus Gittinger <cg@exept.de>
parents: 11944
diff changeset
   743
                                categoriesWithExtensions add:cat.
9419417e0b19 classes with extensions
Claus Gittinger <cg@exept.de>
parents: 11944
diff changeset
   744
                                classesWithExtensions add:cls.
9419417e0b19 classes with extensions
Claus Gittinger <cg@exept.de>
parents: 11944
diff changeset
   745
                                numExtendedClasses := numExtendedClasses + 1.
5950
6bcc39c4e1ea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5914
diff changeset
   746
                            ].
6bcc39c4e1ea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5914
diff changeset
   747
                        ]
6bcc39c4e1ea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5914
diff changeset
   748
                    ]
6bcc39c4e1ea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5914
diff changeset
   749
                ]
6bcc39c4e1ea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5914
diff changeset
   750
            ]
6bcc39c4e1ea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5914
diff changeset
   751
        ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   752
5950
6bcc39c4e1ea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5914
diff changeset
   753
        "/ those are simulated - in ST/X, empty categories do not
6bcc39c4e1ea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5914
diff changeset
   754
        "/ really exist; however, during browsing, it makes sense.
6bcc39c4e1ea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5914
diff changeset
   755
        AdditionalEmptyCategories size > 0 ifTrue:[
6bcc39c4e1ea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5914
diff changeset
   756
            "/ remove those that are present ...
12944
486b9808a1cb class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12718
diff changeset
   757
            AdditionalEmptyCategories := AdditionalEmptyCategories reject:[:cat | (categories includes:cat)].
5950
6bcc39c4e1ea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5914
diff changeset
   758
            categories addAll:AdditionalEmptyCategories.
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   759
            categoriesBag addAll:AdditionalEmptyCategories withOccurrences:0.
5950
6bcc39c4e1ea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5914
diff changeset
   760
        ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   761
    ] ifFalse:[
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   762
        |setOfCategories|
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   763
5950
6bcc39c4e1ea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5914
diff changeset
   764
        generator := inGeneratorHolder value.
6bcc39c4e1ea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5914
diff changeset
   765
        generator isNil ifTrue:[^ #() ].
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   766
        setOfCategories := Set withAll:generator.
8345
b2e8f543ec50 being a categoryList with a fixed given list
Claus Gittinger <cg@exept.de>
parents: 7504
diff changeset
   767
        generator do:[:cat | categories add:cat string].
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   768
        
13498
b8d845e42988 Added `environment` instance variable to Tools__NewSystemBrowser and
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13193
diff changeset
   769
        environment allClassesDo:[:each |
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   770
            |cat|
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   771
11927
ee03bf5d5548 changed: #listOfCategories
Claus Gittinger <cg@exept.de>
parents: 11917
diff changeset
   772
            each isNameSpace ifFalse:[
11900
4d1f5bd0a4df changed: #listOfCategories
Claus Gittinger <cg@exept.de>
parents: 11880
diff changeset
   773
                cat := each category string asSymbol.
4d1f5bd0a4df changed: #listOfCategories
Claus Gittinger <cg@exept.de>
parents: 11880
diff changeset
   774
                (setOfCategories includes:cat) ifTrue:[
4d1f5bd0a4df changed: #listOfCategories
Claus Gittinger <cg@exept.de>
parents: 11880
diff changeset
   775
                    categoriesBag add:cat.
4d1f5bd0a4df changed: #listOfCategories
Claus Gittinger <cg@exept.de>
parents: 11880
diff changeset
   776
                ].
4d1f5bd0a4df changed: #listOfCategories
Claus Gittinger <cg@exept.de>
parents: 11880
diff changeset
   777
            ]
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   778
        ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   779
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   780
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   781
    pseudoEntryColor := self class pseudoEntryForegroundColor.
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   782
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   783
    categories := categories asOrderedCollection.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   784
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   785
    categories sort.
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   786
    rawCategoryList := categories.
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   787
5950
6bcc39c4e1ea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5914
diff changeset
   788
    categories := 
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   789
        categories collect:[:cat |
11944
98b10d0e2fd3 changed: #listOfCategories
Claus Gittinger <cg@exept.de>
parents: 11927
diff changeset
   790
            |item isInChangeSet|
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   791
11944
98b10d0e2fd3 changed: #listOfCategories
Claus Gittinger <cg@exept.de>
parents: 11927
diff changeset
   792
            isInChangeSet := categoriesWithChangedCode includes:cat.
98b10d0e2fd3 changed: #listOfCategories
Claus Gittinger <cg@exept.de>
parents: 11927
diff changeset
   793
            isInChangeSet ifTrue:[
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   794
                 item := self colorizeForChangedCode:cat copy asText
5950
6bcc39c4e1ea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5914
diff changeset
   795
            ] ifFalse:[
6bcc39c4e1ea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5914
diff changeset
   796
                (categoriesWithExtensions includes:cat) ifTrue:[
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   797
                     item := self colorizeForDifferentPackage:cat copy asText
5950
6bcc39c4e1ea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5914
diff changeset
   798
                     "/ cannot add a + here - need separate list for presentation and filter
6702
0f4c00e8eecc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6677
diff changeset
   799
                     "/ cat , (self colorizeForDifferentPackage:self stringForExtensions)
5950
6bcc39c4e1ea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5914
diff changeset
   800
                ] ifFalse:[
7504
34ab937df8de preps for SmallTeam
Claus Gittinger <cg@exept.de>
parents: 7425
diff changeset
   801
                    (categoriesWithRemoteChangedCode includes:cat) ifTrue:[
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   802
                         item := self colorizeForChangedCodeInSmallTeam:cat copy asText
7504
34ab937df8de preps for SmallTeam
Claus Gittinger <cg@exept.de>
parents: 7425
diff changeset
   803
                    ] ifFalse:[
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   804
                         item := cat
7504
34ab937df8de preps for SmallTeam
Claus Gittinger <cg@exept.de>
parents: 7425
diff changeset
   805
                    ]
5950
6bcc39c4e1ea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5914
diff changeset
   806
                ]
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   807
            ].
12487
f36cda6765a9 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12465
diff changeset
   808
            showCounts ifTrue:[
f36cda6765a9 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12465
diff changeset
   809
                item := item , ((' (%1)' bindWith:(categoriesBag occurrencesOf:cat)) 
f36cda6765a9 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12465
diff changeset
   810
                                    colorizeAllWith:pseudoEntryColor).
f36cda6765a9 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12465
diff changeset
   811
            ].
11944
98b10d0e2fd3 changed: #listOfCategories
Claus Gittinger <cg@exept.de>
parents: 11927
diff changeset
   812
            isInChangeSet ifTrue:[
98b10d0e2fd3 changed: #listOfCategories
Claus Gittinger <cg@exept.de>
parents: 11927
diff changeset
   813
                item := item , self class markForBeingInChangeList
98b10d0e2fd3 changed: #listOfCategories
Claus Gittinger <cg@exept.de>
parents: 11927
diff changeset
   814
            ].
98b10d0e2fd3 changed: #listOfCategories
Claus Gittinger <cg@exept.de>
parents: 11927
diff changeset
   815
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   816
            item        
5950
6bcc39c4e1ea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5914
diff changeset
   817
        ].
8734
d34b06b82112 + pseudo changed entry
Claus Gittinger <cg@exept.de>
parents: 8700
diff changeset
   818
11907
6aa533944c59 changed: #listOfCategories
Claus Gittinger <cg@exept.de>
parents: 11900
diff changeset
   819
    numUndocumented > 0 ifTrue:[
6aa533944c59 changed: #listOfCategories
Claus Gittinger <cg@exept.de>
parents: 11900
diff changeset
   820
        rawCategoryList add:self class nameListEntryForUndocumented.
6aa533944c59 changed: #listOfCategories
Claus Gittinger <cg@exept.de>
parents: 11900
diff changeset
   821
        categories add:((self class nameListEntryForUndocumentedWithCount bindWith:numUndocumented) allItalic colorizeAllWith:pseudoEntryColor).
8751
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   822
    ].
11907
6aa533944c59 changed: #listOfCategories
Claus Gittinger <cg@exept.de>
parents: 11900
diff changeset
   823
    numUnloaded > 0 ifTrue:[
6aa533944c59 changed: #listOfCategories
Claus Gittinger <cg@exept.de>
parents: 11900
diff changeset
   824
        rawCategoryList add:self class nameListEntryForUnloaded.
6aa533944c59 changed: #listOfCategories
Claus Gittinger <cg@exept.de>
parents: 11900
diff changeset
   825
        categories add:((self class nameListEntryForUnloadedWithCount bindWith:numUnloaded) allItalic colorizeAllWith:pseudoEntryColor).
8751
2cd8c5f2536c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8748
diff changeset
   826
    ].
12043
9419417e0b19 classes with extensions
Claus Gittinger <cg@exept.de>
parents: 11944
diff changeset
   827
    numExtendedClasses > 0 ifTrue:[
9419417e0b19 classes with extensions
Claus Gittinger <cg@exept.de>
parents: 11944
diff changeset
   828
        rawCategoryList add:self class nameListEntryForExtendedClasses.
9419417e0b19 classes with extensions
Claus Gittinger <cg@exept.de>
parents: 11944
diff changeset
   829
        categories add:((self class nameListEntryForExtendedClassesWithCount bindWith:numExtendedClasses) allItalic colorizeAllWith:pseudoEntryColor).
9419417e0b19 classes with extensions
Claus Gittinger <cg@exept.de>
parents: 11944
diff changeset
   830
    ].
12610
73fc860bcfbe Refactoring:
Stefan Vogel <sv@exept.de>
parents: 12524
diff changeset
   831
    numClassesInChangeSet := (ChangeSet current changedClasses collect:[:c | c theNonMetaclass] as:Set) size.
8734
d34b06b82112 + pseudo changed entry
Claus Gittinger <cg@exept.de>
parents: 8700
diff changeset
   832
    numClassesInChangeSet > 0 ifTrue:[
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   833
        rawCategoryList addFirst:self class nameListEntryForChanged.
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   834
        categories addFirst:((self class nameListEntryForChangedWithCount bindWith:numClassesInChangeSet) allItalic colorizeAllWith:pseudoEntryColor).
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   835
    ].
8734
d34b06b82112 + pseudo changed entry
Claus Gittinger <cg@exept.de>
parents: 8700
diff changeset
   836
d34b06b82112 + pseudo changed entry
Claus Gittinger <cg@exept.de>
parents: 8700
diff changeset
   837
    categories size > 0 ifTrue:[
d34b06b82112 + pseudo changed entry
Claus Gittinger <cg@exept.de>
parents: 8700
diff changeset
   838
        categories size == 1 ifTrue:[
d34b06b82112 + pseudo changed entry
Claus Gittinger <cg@exept.de>
parents: 8700
diff changeset
   839
            self classCategoryLabelHolder value:(categories first)
d34b06b82112 + pseudo changed entry
Claus Gittinger <cg@exept.de>
parents: 8700
diff changeset
   840
        ].
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   841
        rawCategoryList addFirst:self class nameListEntryForALL.
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   842
        categories addFirst:((self class nameListEntryForALLWithCount bindWith:numClasses) allItalic colorizeAllWith:pseudoEntryColor).
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   843
    ].
8734
d34b06b82112 + pseudo changed entry
Claus Gittinger <cg@exept.de>
parents: 8700
diff changeset
   844
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   845
    cookedCategoryList := categories.
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   846
    ^ rawCategoryList.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   847
6950
0d03f8c9a9ad *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6702
diff changeset
   848
    "Created: / 05-02-2000 / 13:42:12 / cg"
11944
98b10d0e2fd3 changed: #listOfCategories
Claus Gittinger <cg@exept.de>
parents: 11927
diff changeset
   849
    "Modified: / 27-10-2012 / 12:34:19 / cg"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   850
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   851
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   852
listView 
8741
75ab2cc4dd56 cleanup
Claus Gittinger <cg@exept.de>
parents: 8734
diff changeset
   853
    ^ self componentAt:#List
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   854
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   855
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   856
makeDependent
13498
b8d845e42988 Added `environment` instance variable to Tools__NewSystemBrowser and
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13193
diff changeset
   857
    environment addDependent:self.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   858
    ChangeSet addDependent:self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   859
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   860
    "Created: / 5.2.2000 / 13:42:13 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   861
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   862
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   863
makeIndependent
13498
b8d845e42988 Added `environment` instance variable to Tools__NewSystemBrowser and
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13193
diff changeset
   864
    environment removeDependent:self.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   865
    ChangeSet removeDependent:self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   866
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   867
    "Created: / 5.2.2000 / 13:42:13 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   868
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   869
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   870
makeItemVisible:item
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   871
    |idx listView|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   872
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   873
    idx := categoryList value indexOf:item.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   874
    idx ~~ 0 ifTrue:[
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   875
        (listView := self listView) notNil ifTrue:[
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   876
            listView makeLineVisible:idx.
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   877
        ]
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   878
    ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   879
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   880
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   881
makeSelectionOtherThanAllVisible
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   882
    |selectedCategories item|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   883
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   884
    selectedCategories := self selectedCategoriesStrings.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   885
    "/ the first item after the *all* item
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   886
    item := (selectedCategories copy remove:self class nameListEntryForALL; yourself) first.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   887
    self makeItemVisible:item.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   888
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   889
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   890
release
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   891
    super release.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   892
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   893
    categoryList removeDependent:self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   894
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   895
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   896
selectedCategoriesStrings
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   897
    |selectedCategories stringForExtensions|
6950
0d03f8c9a9ad *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6702
diff changeset
   898
0d03f8c9a9ad *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6702
diff changeset
   899
    stringForExtensions := self stringForExtensions.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   900
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   901
    selectedCategories := self selectedCategories value ? #().
6950
0d03f8c9a9ad *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6702
diff changeset
   902
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   903
"/    selectedCategories := selectedCategories 
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   904
"/                collect:[:each | 
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   905
"/                                |s|
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   906
"/                                s := each string.
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   907
"/                                (s endsWith:stringForExtensions) ifTrue:[
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   908
"/                                    s := s copyWithoutLast:(stringForExtensions size).
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   909
"/                                ].
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   910
"/                                s
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   911
"/                        ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   912
    ^ selectedCategories
6950
0d03f8c9a9ad *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6702
diff changeset
   913
0d03f8c9a9ad *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6702
diff changeset
   914
    "Modified: / 23-08-2006 / 11:38:26 / cg"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   915
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   916
6702
0f4c00e8eecc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6677
diff changeset
   917
stringForExtensions
0f4c00e8eecc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6677
diff changeset
   918
    ^ ' [ + ]'
0f4c00e8eecc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6677
diff changeset
   919
!
0f4c00e8eecc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6677
diff changeset
   920
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   921
updateList
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   922
    |oldList newList oldSelection newSelection prevClasses
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   923
     selectedCategoriesHolder|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   924
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   925
    selectedCategoriesHolder := self selectedCategories.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   926
    oldSelection := selectedCategoriesHolder value ? #().
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   927
    prevClasses := classes copy.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   928
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   929
    newList := self listOfCategories.    "/ sigh - sideeffect of setting rawList
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   930
    oldList := (self categoryList value) ? #().
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   931
    (newList sameContentsAs:oldList whenComparedWith:[:a :b | a sameStringAndEmphasisAs: b]) 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   932
    ifFalse:[
10580
05d94191950a changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10365
diff changeset
   933
        "/ a real change, or only emphasis ?
05d94191950a changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10365
diff changeset
   934
        (newList sameContentsAs:oldList whenComparedWith:[:a :b | a asString string = b asString string]) ifTrue:[
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   935
            "/ only emphasis
10580
05d94191950a changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10365
diff changeset
   936
            oldSelection size > 0 ifTrue:[
05d94191950a changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10365
diff changeset
   937
                selectedCategoriesHolder removeDependent:self.
05d94191950a changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10365
diff changeset
   938
                selectedCategoriesHolder value:#().
05d94191950a changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10365
diff changeset
   939
                selectedCategoriesHolder addDependent:self.
05d94191950a changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10365
diff changeset
   940
            ].
05d94191950a changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10365
diff changeset
   941
            categoryList value:newList.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   942
10580
05d94191950a changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10365
diff changeset
   943
            oldSelection size > 0 ifTrue:[
05d94191950a changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10365
diff changeset
   944
                newSelection := oldSelection select:[:cat | newList includes:cat].
05d94191950a changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10365
diff changeset
   945
                selectedCategoriesHolder value:newSelection.
05d94191950a changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10365
diff changeset
   946
            ]
05d94191950a changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10365
diff changeset
   947
        ] ifFalse:[
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   948
            "/ a real change
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   949
10580
05d94191950a changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10365
diff changeset
   950
            categoryList value:newList.
05d94191950a changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10365
diff changeset
   951
05d94191950a changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10365
diff changeset
   952
            "/ in case the same categories are present, but classes have changed ...
05d94191950a changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10365
diff changeset
   953
            (prevClasses isNil or:[(classes identicalContentsAs:prevClasses) not]) ifTrue:[
05d94191950a changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10365
diff changeset
   954
                self updateOutputGenerator.
05d94191950a changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10365
diff changeset
   955
            ]
05d94191950a changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10365
diff changeset
   956
        ]
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   957
    ] ifTrue:[
10580
05d94191950a changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10365
diff changeset
   958
        "/ in case the same categories are present, but classes have changed ...
05d94191950a changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10365
diff changeset
   959
        (prevClasses isNil or:[(classes identicalContentsAs:prevClasses) not]) ifTrue:[
05d94191950a changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10365
diff changeset
   960
            self updateOutputGenerator.
05d94191950a changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10365
diff changeset
   961
        ]
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   962
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   963
    listValid := true.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   964
10580
05d94191950a changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10365
diff changeset
   965
    "Created: / 05-02-2000 / 13:42:13 / cg"
05d94191950a changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10365
diff changeset
   966
    "Modified: / 17-08-2011 / 09:52:13 / cg"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   967
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   968
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   969
!ClassCategoryList methodsFor:'setup'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   970
5909
95cd2d9822b3 commonPostBuild
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   971
commonPostBuild
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   972
    |listView|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   973
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   974
    listView := self listView.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   975
    listView notNil ifTrue:[
5909
95cd2d9822b3 commonPostBuild
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   976
        listView scrollWhenUpdating:nil
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   977
    ].
5909
95cd2d9822b3 commonPostBuild
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   978
    super commonPostBuild
11860
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   979
!
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   980
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   981
postBuildCategoryListView:aView
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   982
    categoryListView := aView.
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   983
    categoryListView visualBlock:[:view :lineNr | cookedCategoryList at:lineNr].
7049aeccbf41 show the number of classes per category
Claus Gittinger <cg@exept.de>
parents: 10580
diff changeset
   984
    categoryListView selectedVisualBlock:[:view :lineNr | (cookedCategoryList at:lineNr) string]
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   985
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   986
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   987
!ClassCategoryList methodsFor:'special'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   988
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   989
addAdditionalCategory:aCategory
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   990
    "/ those are simulated - in ST/X, empty categories do not
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   991
    "/ really exist; however, during browsing, it makes sense.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   992
8373
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   993
    self class addAdditionalCategory:aCategory
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   994
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   995
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   996
removeAdditionalCategories:aListOfCategories
8373
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
   997
    self class removeAdditionalCategories:aListOfCategories
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   998
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   999
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1000
removeAllAdditionalCategories
8373
be8e0f309373 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8345
diff changeset
  1001
    self class removeAllAdditionalCategories
8446
42de63700611 category rename
Claus Gittinger <cg@exept.de>
parents: 8373
diff changeset
  1002
!
42de63700611 category rename
Claus Gittinger <cg@exept.de>
parents: 8373
diff changeset
  1003
42de63700611 category rename
Claus Gittinger <cg@exept.de>
parents: 8373
diff changeset
  1004
renameAdditionalCategories:oldNames to:newName
42de63700611 category rename
Claus Gittinger <cg@exept.de>
parents: 8373
diff changeset
  1005
    "/ those are simulated - in ST/X, empty categories do not
42de63700611 category rename
Claus Gittinger <cg@exept.de>
parents: 8373
diff changeset
  1006
    "/ really exist; however, during browsing, it makes sense.
42de63700611 category rename
Claus Gittinger <cg@exept.de>
parents: 8373
diff changeset
  1007
42de63700611 category rename
Claus Gittinger <cg@exept.de>
parents: 8373
diff changeset
  1008
    self class renameAdditionalCategories:oldNames to:newName
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1009
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1010
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1011
!ClassCategoryList class methodsFor:'documentation'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1012
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1013
version
14026
4c197be9097f Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13498
diff changeset
  1014
    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassCategoryList.st,v 1.51 2014-02-25 10:41:34 vrany Exp $'
9005
897d90c333e7 changed:
Claus Gittinger <cg@exept.de>
parents: 8751
diff changeset
  1015
!
897d90c333e7 changed:
Claus Gittinger <cg@exept.de>
parents: 8751
diff changeset
  1016
897d90c333e7 changed:
Claus Gittinger <cg@exept.de>
parents: 8751
diff changeset
  1017
version_CVS
14026
4c197be9097f Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13498
diff changeset
  1018
    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassCategoryList.st,v 1.51 2014-02-25 10:41:34 vrany Exp $'
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1019
! !
12465
aed594275d40 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 12043
diff changeset
  1020