Tools_ClassCategoryList.st
author Claus Gittinger <cg@exept.de>
Sun, 01 Feb 2015 14:17:11 +0100
changeset 15150 940d37c7d3ac
parent 14026 4c197be9097f
child 15566 184cea584be5
permissions -rw-r--r--
class: Tools::ChangeList fixed the following redraw bug in ModelListView (which is already fixed in SelectionInListView): if a colored item is shown with selection, the color attribute should be removed (or relaxed), to avoid drawing the label invisible. I.e. if the text color is blue or grey, and the selection bg is blue. we should draw white-on-blue, instead of blue/grey on blue. For this to work, the info whether drawing a selection must be passed down through the renderer to the item's draw routine.
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