Tools__ClassCategoryList.st
author Jan Vrany <jan.vrany@labware.com>
Wed, 15 Sep 2021 21:39:40 +0100
branchjv
changeset 19608 98f7cba0ce8c
parent 18226 346376844040
permissions -rw-r--r--
Theming: add support for theming navigation service's styles ...such as background for selected variable, selector or assignment.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
 COPYRIGHT (c) 2004 by eXept Software AG
18226
346376844040 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16571
diff changeset
     3
 COPYRIGHT (c) 2015 Jan Vrany
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
              All Rights Reserved
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
 This software is furnished under a license and may be used
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
 only in accordance with the terms of that license and with the
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
 inclusion of the above copyright notice.   This software may not
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
 be provided or otherwise made available to, or used by, any
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
 other person.  No title to or ownership of the software is
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
 hereby transferred.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
"
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
"{ Package: 'stx:libtool' }"
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
"{ NameSpace: Tools }"
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
BrowserList subclass:#ClassCategoryList
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
	instanceVariableNames:'categoryList classes allSelected showPseudoCategories
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
		rawCategoryList cookedCategoryList categoryListView'
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
	classVariableNames:'AdditionalEmptyCategories'
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
	poolDictionaries:''
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
	category:'Interface-Browsers-New'
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
!ClassCategoryList class methodsFor:'documentation'!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
copyright
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
"
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
 COPYRIGHT (c) 2004 by eXept Software AG
18226
346376844040 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16571
diff changeset
    30
 COPYRIGHT (c) 2015 Jan Vrany
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
              All Rights Reserved
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
 This software is furnished under a license and may be used
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
 only in accordance with the terms of that license and with the
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
 inclusion of the above copyright notice.   This software may not
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
 be provided or otherwise made available to, or used by, any
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
 other person.  No title to or ownership of the software is
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
 hereby transferred.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
"
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
documentation
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
"
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
    embeddable application displaying the class-categories.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
    Provides an outputGenerator, which enumerates the classes in
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
    the selected categories.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
    [author:]
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
	Claus Gittinger (cg@exept.de)
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
"
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
! !
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
!ClassCategoryList class methodsFor:'interface specs'!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
singleCategoryWindowSpec
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
    "This resource specification was automatically generated
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
     by the UIPainter of ST/X."
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
    "Do not manually edit this!! If it is corrupted,
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
     the UIPainter may not be able to read the specification."
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
    "
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
     UIPainter new openOnClass:ClassCategoryList andSelector:#singleCategoryWindowSpec
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
     ClassCategoryList new openInterface:#singleCategoryWindowSpec
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
    "
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
    <resource: #canvas>
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
    ^ 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
     #(#FullSpec
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
	#name: #singleCategoryWindowSpec
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
	#window: 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
       #(#WindowSpec
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
	  #label: 'ClassCategoryList'
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
	  #name: 'ClassCategoryList'
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
	  #min: #(#Point 0 0)
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
	  #max: #(#Point 1024 721)
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
	  #bounds: #(#Rectangle 218 175 518 475)
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
	)
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
	#component: 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
       #(#SpecCollection
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
	  #collection: #(
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
	   #(#LabelSpec
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
	      #label: 'ClassCategoryName'
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
	      #name: 'ClassCategoryLabel'
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
	      #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 25 0)
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
	      #translateLabel: true
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
	      #labelChannel: #classCategoryLabelHolder
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
	      #menu: #menuHolder
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
	    )
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
	   )
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
         
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
	)
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
      )
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
windowSpec
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
    "This resource specification was automatically generated
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
     by the UIPainter of ST/X."
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
    "Do not manually edit this!! If it is corrupted,
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
     the UIPainter may not be able to read the specification."
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
    "
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
     UIPainter new openOnClass:Tools::ClassCategoryList andSelector:#windowSpec
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
     Tools::ClassCategoryList new openInterface:#windowSpec
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
     Tools::ClassCategoryList open
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
    "
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
    <resource: #canvas>
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
    ^ 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
     #(FullSpec
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
        name: windowSpec
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
        window: 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
       (WindowSpec
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
          label: 'ClassCategoryList'
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
          name: 'ClassCategoryList'
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
          min: (Point 0 0)
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
          bounds: (Rectangle 0 0 300 300)
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
        )
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
        component: 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
       (SpecCollection
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
          collection: (
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
           (SequenceViewSpec
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
              name: 'List'
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
              layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
              tabable: true
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
              model: selectedCategories
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
              menu: menuHolder
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
              hasHorizontalScrollBar: true
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
              hasVerticalScrollBar: true
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
              miniScrollerHorizontal: true
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
              isMultiSelect: true
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
              valueChangeSelector: selectionChangedByClick
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
              useIndex: false
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
              sequenceList: categoryList
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
              doubleClickChannel: doubleClickChannel
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
              properties: 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
             (PropertyListDictionary
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
                canDropSelector: canDropContext:
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
                dragArgument: nil
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
                dropArgument: nil
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
                dropSelector: doDropContext:
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
              )
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
              postBuildCallback: postBuildCategoryListView:
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
            )
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
           )
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
         
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
        )
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
      )
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   152
! !
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
!ClassCategoryList class methodsFor:'plugIn spec'!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   156
aspectSelectors
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   157
    "This resource specification was automatically generated
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   158
     by the UIPainter of ST/X."
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
    "Do not manually edit this. If it is corrupted,
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
     the UIPainter may not be able to read the specification."
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   163
    "Return a description of exported aspects;
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
     these can be connected to aspects of an embedding application
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
     (if this app is embedded in a subCanvas)."
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   166
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   167
    ^ #(
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
        environmentHolder
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   169
        #(doubleClickChannel action)
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
        #forceGeneratorTrigger
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
        #hideUnloadedClasses
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   172
        #immediateUpdate
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
        #inGeneratorHolder
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   174
        #menuHolder
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   175
        #nameSpaceFilter
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
        #organizerMode
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
        #outGeneratorHolder
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178
        #packageFilter
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
        #selectedCategories
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
        #selectionChangeCondition
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
        #showCoverageInformation
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
        #slaveMode
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   183
        #updateTrigger
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   184
      ).
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   185
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   186
    "Modified: / 24-02-2014 / 10:37:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   187
! !
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   188
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   189
!ClassCategoryList class methodsFor:'special'!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   190
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   191
addAdditionalCategory:aCategory
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
    "/ those are simulated - in ST/X, empty categories do not
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   193
    "/ really exist; however, during browsing, it makes sense.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   194
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   195
    AdditionalEmptyCategories isNil ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   196
        AdditionalEmptyCategories := Set new.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   197
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   198
    AdditionalEmptyCategories add:aCategory.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   199
    Smalltalk changed:#organization with:(nil -> aCategory).  "/ not really ... to force update
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   200
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   201
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   202
removeAdditionalCategories:aListOfCategories
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   203
    "/ those are simulated - in ST/X, empty categories do not
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   204
    "/ really exist; however, during browsing, it makes sense.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   205
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   206
    AdditionalEmptyCategories isNil ifTrue:[^ self].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   207
    aListOfCategories do:[:eachCategory |
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   208
        AdditionalEmptyCategories remove:eachCategory ifAbsent:nil.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   209
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   210
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   211
    Smalltalk changed:#organization   "/ not really ... to force update
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   212
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   213
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   214
removeAllAdditionalCategories
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   215
    "/ those are simulated - in ST/X, empty categories do not
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   216
    "/ really exist; however, during browsing, it makes sense.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   217
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   218
    AdditionalEmptyCategories := nil
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   219
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   220
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   221
renameAdditionalCategories:oldNames to:newName
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   222
    "/ those are simulated - in ST/X, empty categories do not
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   223
    "/ really exist; however, during browsing, it makes sense.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   224
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   225
    self removeAdditionalCategories:oldNames.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   226
    self addAdditionalCategory:newName.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   227
! !
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   228
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   229
!ClassCategoryList methodsFor:'aspects'!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   230
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   231
categoryList
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   232
    categoryList isNil ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   233
	categoryList := ValueHolder new.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   234
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   235
    ^ categoryList
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   236
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   237
    "Created: / 25.2.2000 / 02:23:08 / cg"
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   238
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   239
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   240
categoryList:aValueHolder
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   241
    categoryList notNil ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   242
	categoryList removeDependent:self
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   243
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   244
    categoryList := aValueHolder.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   245
    categoryList notNil ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   246
	categoryList addDependent:self
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   247
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   248
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   249
    "Created: / 18.8.2000 / 15:21:42 / cg"
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   250
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   251
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   252
classCategoryLabelHolder
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   253
    ^ self pseudoListLabelHolder
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   254
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   255
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   256
selectedCategories
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   257
    ^ self selectionHolder 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   258
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   259
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   260
selectedCategories:aValueHolder
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   261
    ^ self selectionHolder:aValueHolder
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   262
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   263
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   264
selectionHolder
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   265
"/    self halt.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   266
    ^ super selectionHolder
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   267
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   268
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   269
selectionHolder:aValueHolder
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   270
    "/ self halt.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   271
    super selectionHolder:aValueHolder
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   272
! !
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   273
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   274
!ClassCategoryList methodsFor:'change & update'!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   275
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   276
delayedUpdate:something with:aParameter from:changedObject
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   277
    |selectedCategories allSelectedBefore 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   278
     nameListEntryForALL cls categoryOfClass wg|
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   279
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   280
    selectedCategories := self selectedCategoriesStrings.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   281
14592
41e941cdf7aa class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14297
diff changeset
   282
    "/ if many individual method changes arrive (when loading a package or filing in),
41e941cdf7aa class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14297
diff changeset
   283
    "/ these are condensed into updates of self - updateCategoryForChangedMethod with class as param.
41e941cdf7aa class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14297
diff changeset
   284
    changedObject == self ifTrue:[
41e941cdf7aa class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14297
diff changeset
   285
        something == #updateCategoryForChangedMethod ifTrue:[
41e941cdf7aa class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14297
diff changeset
   286
            | class |
41e941cdf7aa class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14297
diff changeset
   287
41e941cdf7aa class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14297
diff changeset
   288
            class := aParameter.
41e941cdf7aa class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14297
diff changeset
   289
            categoryOfClass := class category.
41e941cdf7aa class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14297
diff changeset
   290
            (rawCategoryList includes:categoryOfClass) ifTrue:[
41e941cdf7aa class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14297
diff changeset
   291
                self colorizeCategoryAsChanged:categoryOfClass
41e941cdf7aa class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14297
diff changeset
   292
             ]. 
41e941cdf7aa class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14297
diff changeset
   293
             ^ self.
41e941cdf7aa class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14297
diff changeset
   294
        ].
41e941cdf7aa class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14297
diff changeset
   295
    ].
41e941cdf7aa class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14297
diff changeset
   296
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   297
    changedObject == environment ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   298
        (something == #methodDictionary
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   299
        or:[ something == #methodInClass 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   300
        or:[ something == #classComment
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   301
        or:[ something == #methodInClassRemoved ]]]) ifTrue:[ 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   302
            "/ Class has been modified, must update list (color & boldness)
14592
41e941cdf7aa class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14297
diff changeset
   303
            "/ send another delayed update, so all notifications for a single class
41e941cdf7aa class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14297
diff changeset
   304
            "/ will be condensed into a single update.
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   305
            | class |
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   306
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   307
            class := aParameter isArray ifTrue:[ aParameter first ] ifFalse:[ aParameter ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   308
            class isBehavior ifFalse:[ 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   309
                self breakPoint: #jv.
14592
41e941cdf7aa class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14297
diff changeset
   310
            ] ifTrue:[
14865
8665cc1a0047 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14860
diff changeset
   311
                listValid == false ifTrue:[
8665cc1a0047 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14860
diff changeset
   312
                    ^ self
8665cc1a0047 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14860
diff changeset
   313
                ].
8665cc1a0047 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14860
diff changeset
   314
                self window sensor userEventCount > 100 ifTrue:[
8665cc1a0047 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14860
diff changeset
   315
                    self invalidateList.
8665cc1a0047 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14860
diff changeset
   316
                    ^ self
8665cc1a0047 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14860
diff changeset
   317
                ].
14592
41e941cdf7aa class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14297
diff changeset
   318
                self enqueueDelayedUpdate:#updateCategoryForChangedMethod with:class from:self.
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   319
            ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   320
             ^ self.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   321
        ].
14167
dff727655208 Fix for condensing current changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14163
diff changeset
   322
        "/ Care for condensing current changeset.
dff727655208 Fix for condensing current changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14163
diff changeset
   323
        (something == #currentChangeSet) ifTrue:[
dff727655208 Fix for condensing current changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14163
diff changeset
   324
            "/ List of categories does not change, so all we have
dff727655208 Fix for condensing current changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14163
diff changeset
   325
            "/ to do is to update cookedCategoryList and redraw.
dff727655208 Fix for condensing current changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14163
diff changeset
   326
dff727655208 Fix for condensing current changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14163
diff changeset
   327
            self listOfCategories. "/ This has the sideeffect to update cookedCategoryList.
dff727655208 Fix for condensing current changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14163
diff changeset
   328
            categoryListView notNil ifTrue:[
dff727655208 Fix for condensing current changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14163
diff changeset
   329
                categoryListView invalidate.
dff727655208 Fix for condensing current changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14163
diff changeset
   330
            ]
dff727655208 Fix for condensing current changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14163
diff changeset
   331
        ].
dff727655208 Fix for condensing current changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14163
diff changeset
   332
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   333
        ((something == #classVariables) 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   334
        or:[something == #classDefinition]) ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   335
            listValid == true ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   336
                categoryOfClass := aParameter category.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   337
                (rawCategoryList includes:categoryOfClass) ifFalse:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   338
                    self invalidateList.                
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   339
                ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   340
                slaveMode value ~~ true ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   341
                    (selectedCategories includes:categoryOfClass) ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   342
                        "/ a selected class has changed
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   343
                        "/ in order to give others a chance to update their list before,
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   344
                        "/ this one is always enqueued for delayed update (even if immediateUpdate is true)
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   345
                        "/ self enqueueDelayedUpdateOutputGenerator
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   346
                        self enqueueMessage:#updateOutputGenerator for:self arguments:#()
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   347
                    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   348
                ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   349
            ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   350
            ^ self
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   351
        ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   352
        something == #newClass ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   353
            categoryOfClass := aParameter category.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   354
            listValid == false ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   355
                ^ self
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   356
            ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   357
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   358
            (rawCategoryList includes:categoryOfClass) ifFalse:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   359
                self invalidateList.                
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   360
            ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   361
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   362
            slaveMode value ~~ true ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   363
                (selectedCategories includes:categoryOfClass) ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   364
                    self enqueueDelayedUpdateOutputGenerator
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   365
                ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   366
            ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   367
            ^ self
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   368
        ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   369
        something == #projectOrganization ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   370
            listValid == false ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   371
                ^ self
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   372
            ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   373
            aParameter isNil ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   374
                self invalidateList.                
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   375
                slaveMode value ~~ true ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   376
                    selectedCategories notEmptyOrNil ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   377
                        self enqueueDelayedUpdateOutputGenerator
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   378
                    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   379
                ]
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   380
            ] ifFalse:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   381
                cls := aParameter first.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   382
                categoryOfClass := cls category.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   383
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   384
                (rawCategoryList includes:categoryOfClass) ifFalse:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   385
                    self invalidateList.                
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   386
                ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   387
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   388
                slaveMode value ~~ true ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   389
                    (selectedCategories includes:categoryOfClass) ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   390
                        self enqueueDelayedUpdateOutputGenerator
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   391
                    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   392
                ]
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   393
            ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   394
            ^ self
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   395
        ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   396
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   397
        self invalidateList.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   398
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   399
        (something == #classRemove 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   400
        or:[something == #projectOrganization 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   401
        or:[something == #organization]]) ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   402
            slaveMode value ~~ true ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   403
                "/ sorry: cannot filter on category (already changed to #removed)
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   404
                self enqueueDelayedUpdateOutputGenerator
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   405
            ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   406
        ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   407
        ^ self
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   408
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   409
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   410
    changedObject == ChangeSet ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   411
        "/ remove all other change notifications from the eventQueue
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   412
        wg := self windowGroup.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   413
        wg isNil ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   414
            "/ oops - should no longer be dependent...
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   415
            changedObject removeDependent:self.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   416
        ] ifFalse:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   417
            wg sensor 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   418
                flushEventsFor:self 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   419
                where:[:ev | ev isMessageSendEvent 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   420
                             and:[ev selector == #delayedUpdate:with:from:
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   421
                             and:[(ev arguments at:3) == ChangeSet]]].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   422
        ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   423
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   424
        something == #addChange: ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   425
            "/ only need to invalidate, if that change changes my emphasis 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   426
            "/ (i.e. if its a new methodChange)
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   427
            self window topView shown ifFalse:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   428
                self invalidateList.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   429
                ^ self
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   430
            ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   431
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   432
            aParameter isMethodChange ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   433
                aParameter changeClass notNil ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   434
                    (ChangeSet current 
15290
aa8047773c89 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15223
diff changeset
   435
                        count:[:chg | chg notNil 
aa8047773c89 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15223
diff changeset
   436
                                      and:[chg isMethodChange
aa8047773c89 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15223
diff changeset
   437
                                      and:[ chg className = aParameter className ]]]) == 1 
aa8047773c89 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15223
diff changeset
   438
                    ifTrue:[
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   439
                        "/ that methodChange is the first for this method.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   440
                        self colorizeCategoryAsChanged:(aParameter changeClass category).
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   441
                    ]
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   442
                ]
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   443
            ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   444
            ^ self
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   445
        ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   446
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   447
        self invalidateList.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   448
        ^ self
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   449
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   450
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   451
    changedObject == nameSpaceFilter ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   452
        "/ all might be more or less than before ...
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   453
        allSelected := false.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   454
        "/ self invalidateList - done in super
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   455
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   456
    changedObject == packageFilter ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   457
        "/ all might be more or less than before ...
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   458
        allSelected := false.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   459
        "/ self invalidateList - done in super
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   460
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   461
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   462
    changedObject == self selectedCategories ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   463
        listValid ifFalse:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   464
            "/ oops - hurry up
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   465
            self invalidateList.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   466
        ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   467
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   468
        nameListEntryForALL := self class nameListEntryForALL.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   469
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   470
        selectedCategories size > 1 ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   471
            (selectedCategories includes:nameListEntryForALL) ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   472
                self makeSelectionOtherThanAllVisible.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   473
            ]
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   474
        ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   475
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   476
        "/ if all selected before AND allSelected after, no need to update the output generator
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   477
        allSelectedBefore := allSelected ? false.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   478
        allSelected := selectedCategories includes:nameListEntryForALL.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   479
        (allSelectedBefore and:[allSelected]) ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   480
            ^ self
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   481
        ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   482
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   483
    changedObject == categoryList ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   484
        self breakPoint:#cg.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   485
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   486
    super delayedUpdate:something with:aParameter from:changedObject
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   487
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   488
    "Created: / 05-02-2000 / 13:42:12 / cg"
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   489
    "Modified: / 12-11-2001 / 19:36:16 / cg"
14167
dff727655208 Fix for condensing current changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14163
diff changeset
   490
    "Modified: / 27-03-2014 / 11:16:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   491
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   492
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   493
forceUpdateList
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   494
    self categoryList setValue:#().
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   495
    self updateList.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   496
    self categoryList changed.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   497
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   498
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   499
selectionChangedByClick
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   500
    "we are not interested in that - get another notification
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   501
     via the changed valueHolder"
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   502
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   503
    "Created: / 11.2.2000 / 11:39:48 / cg"
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   504
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   505
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   506
update:something with:aParameter from:changedObject
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   507
    |categoryOfClass|
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   508
15223
41651c18f0b4 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15160
diff changeset
   509
    loadInProgress ifTrue:[
41651c18f0b4 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15160
diff changeset
   510
        something == #newClass ifTrue:[
16202
f7f182723df6 #BUGFIX
Claus Gittinger <cg@exept.de>
parents: 15647
diff changeset
   511
            rawCategoryList isNil ifTrue:[
f7f182723df6 #BUGFIX
Claus Gittinger <cg@exept.de>
parents: 15647
diff changeset
   512
                "/ may affect me
f7f182723df6 #BUGFIX
Claus Gittinger <cg@exept.de>
parents: 15647
diff changeset
   513
                self invalidateList.
f7f182723df6 #BUGFIX
Claus Gittinger <cg@exept.de>
parents: 15647
diff changeset
   514
                ^ self.
f7f182723df6 #BUGFIX
Claus Gittinger <cg@exept.de>
parents: 15647
diff changeset
   515
            ].
f7f182723df6 #BUGFIX
Claus Gittinger <cg@exept.de>
parents: 15647
diff changeset
   516
15223
41651c18f0b4 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15160
diff changeset
   517
            categoryOfClass := aParameter category.
41651c18f0b4 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15160
diff changeset
   518
            (self selectedCategoriesStrings includes:categoryOfClass) ifTrue:[
41651c18f0b4 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15160
diff changeset
   519
                "/ affects me
41651c18f0b4 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15160
diff changeset
   520
                self enqueueMessage:#updateOutputGenerator for:self arguments:nil.
41651c18f0b4 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15160
diff changeset
   521
                ^ self.
41651c18f0b4 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15160
diff changeset
   522
            ].
15599
a602fe160939 Fix in ClassCategoryList>>update:with:from: - care for cases when category list is not yet created but event arrives.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15566
diff changeset
   523
            ((rawCategoryList ? #()) includes:categoryOfClass) ifTrue:[
15223
41651c18f0b4 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15160
diff changeset
   524
                ^ self
41651c18f0b4 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15160
diff changeset
   525
            ].
41651c18f0b4 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15160
diff changeset
   526
            self invalidateList.
41651c18f0b4 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15160
diff changeset
   527
            ^ self
41651c18f0b4 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15160
diff changeset
   528
        ].
41651c18f0b4 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15160
diff changeset
   529
        something == #projectOrganization ifTrue:[
41651c18f0b4 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15160
diff changeset
   530
            ^ self
41651c18f0b4 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15160
diff changeset
   531
        ].
41651c18f0b4 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15160
diff changeset
   532
"/ self halt.
41651c18f0b4 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15160
diff changeset
   533
    ].
41651c18f0b4 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15160
diff changeset
   534
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   535
    changedObject == environment ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   536
        (something == #methodTrap
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   537
        or:[ something == #methodCoverageInfo
15073
f7104d787a17 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14914
diff changeset
   538
        or:[ something == #lastTestRunResult
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   539
"/        or:[ something == #methodDictionary
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   540
"/        or:[ something == #methodInClass 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   541
"/        or:[ something == #classComment
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   542
"/        or:[ something == #methodInClassRemoved ]]]]
15073
f7104d787a17 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14914
diff changeset
   543
        ]]) ifTrue:[
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   544
            ^ self
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   545
        ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   546
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   547
        (something == #classVariables
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   548
        or:[something == #classDefinition]) ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   549
            categoryOfClass := aParameter category.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   550
            (self selectedCategoriesStrings includes:categoryOfClass) ifTrue:[
15160
70278cf21fbe class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15127
diff changeset
   551
                "/ self halt.
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   552
                self updateOutputGenerator.                
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   553
            ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   554
        ].
15509
8d6cda3f5135 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15290
diff changeset
   555
"/        something == #prePackageLoad ifTrue:[
8d6cda3f5135 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15290
diff changeset
   556
"/            "/ self halt.
8d6cda3f5135 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15290
diff changeset
   557
"/            ^ self
8d6cda3f5135 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15290
diff changeset
   558
"/        ].
8d6cda3f5135 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15290
diff changeset
   559
"/        something == #postPackageLoad ifTrue:[
8d6cda3f5135 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15290
diff changeset
   560
"/            "/ self halt.
8d6cda3f5135 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15290
diff changeset
   561
"/            ^ self
8d6cda3f5135 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15290
diff changeset
   562
"/        ].
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   563
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   564
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   565
"/    changedObject == ChangeSet ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   566
"/        something == #addChange: ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   567
"/            ^ self
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   568
"/        ]
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   569
"/    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   570
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   571
    super update:something with:aParameter from:changedObject
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   572
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   573
    "Modified: / 20-07-2011 / 18:50:04 / cg"
15599
a602fe160939 Fix in ClassCategoryList>>update:with:from: - care for cases when category list is not yet created but event arrives.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15566
diff changeset
   574
    "Modified: / 23-04-2015 / 11:55:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   575
! !
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   576
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   577
!ClassCategoryList methodsFor:'drag & drop'!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   578
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   579
canDropContext:aDropContext
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   580
    |cat objects droppedClasses|
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   581
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   582
    objects := aDropContext dropObjects collect:[:obj | obj theObject].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   583
    (self objectsAreClassFiles:objects) ifTrue:[^ true].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   584
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   585
    (objects conform:[:aClass | aClass isClass]) ifFalse:[^ false].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   586
    droppedClasses := objects.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   587
    (droppedClasses contains:[:aClass | aClass isPrivate not]) ifFalse:[^ false].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   588
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   589
    cat := self categoryAtTargetPointOf:aDropContext.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   590
    (cat isNil 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   591
      or:[ (cat = '* obsolete *')
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   592
      or:[ (cat = #'* as yet unknown category *')
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   593
      or:[ self class isPseudoCategory:cat ]]])
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   594
        ifTrue:[ ^  false ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   595
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   596
    (droppedClasses contains:[:aClass | aClass category ~= cat]) ifFalse:[^ false].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   597
    ^ true.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   598
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   599
    "Modified: / 17-10-2006 / 18:28:04 / cg"
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   600
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   601
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   602
categoryAtTargetPointOf:aDropContext
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   603
    |p categoryListView lineNr cat|
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   604
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   605
    p := aDropContext targetPoint.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   606
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   607
    categoryListView := aDropContext targetWidget.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   608
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   609
    lineNr := categoryListView lineAtY:p y.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   610
    lineNr isNil ifTrue:[^ nil].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   611
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   612
    cat := rawCategoryList at:lineNr.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   613
    cat := cat string.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   614
    cat = self class nameListEntryForALL ifTrue:[^ nil].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   615
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   616
    (cat endsWith:(self stringForExtensions)) ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   617
        cat := cat copyButLast:(self stringForExtensions size)
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   618
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   619
    ^ cat
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   620
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   621
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   622
doDropContext:aDropContext
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   623
    |cat objects|
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   624
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   625
    objects := aDropContext dropObjects collect:[:aDropObject | aDropObject theObject].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   626
    (objects conform:[:something | something isClass]) ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   627
        cat := self categoryAtTargetPointOf:aDropContext.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   628
        (cat isNil 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   629
          or:[ (cat = '* obsolete *')
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   630
          or:[ self class isPseudoCategory:cat ]])
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   631
        ifFalse:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   632
            self masterApplication moveClasses:objects toCategory:cat.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   633
        ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   634
        ^ self
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   635
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   636
    (objects conform:[:something | something isFilename]) ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   637
        self dropClassFiles:objects.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   638
        ^ self
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   639
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   640
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   641
    "Modified: / 17-10-2006 / 18:29:25 / cg"
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   642
! !
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   643
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   644
!ClassCategoryList methodsFor:'generators'!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   645
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   646
makeGenerator
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   647
    "return a generator which enumerates the classes from the selected category."
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   648
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   649
    |cats hideUnloadedClasses allName nameSpaceFilter packageFilter 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   650
     showChangedClasses showUnloaded showUndocumented showExtendedClasses inclusionTest changedClasses|
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   651
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   652
    cats := self selectedCategoriesStrings.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   653
    cats size == 0 ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   654
        ^ #()
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   655
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   656
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   657
    allName := self class nameListEntryForALL.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   658
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   659
    (cats includes:allName) ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   660
        inGeneratorHolder value isOrderedCollection ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   661
            cats := rawCategoryList copyWithout:allName.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   662
        ]
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   663
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   664
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   665
    showChangedClasses := cats includes:(self class nameListEntryForChanged).
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   666
    showUnloaded := cats includes:(self class nameListEntryForUnloaded).
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   667
    showUndocumented := cats includes:(self class nameListEntryForUndocumented).
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   668
    showExtendedClasses := cats includes:(self class nameListEntryForExtendedClasses).
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   669
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   670
    hideUnloadedClasses := self hideUnloadedClasses value ? false.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   671
    nameSpaceFilter := self nameSpaceFilter value.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   672
    nameSpaceFilter notNil ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   673
        (nameSpaceFilter includes:allName) ifTrue:[nameSpaceFilter := nil].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   674
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   675
    packageFilter := self packageFilter value.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   676
    packageFilter notNil ifTrue:[
15647
b61948575952 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15509
diff changeset
   677
        packageFilter := packageFilter collect:[:p | p withoutSeparators].
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   678
        (packageFilter includes:allName) ifTrue:[packageFilter := nil].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   679
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   680
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   681
    (cats includes:allName) ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   682
        hideUnloadedClasses ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   683
            inclusionTest := [:cls | cls isLoaded].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   684
        ] ifFalse:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   685
            inclusionTest := [:cls | true].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   686
        ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   687
    ] ifFalse:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   688
        inclusionTest := 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   689
            [:cls | 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   690
                |cat isLoaded included|
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   691
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   692
                isLoaded := cls isLoaded.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   693
                included := isLoaded not and:[ showUnloaded ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   694
                included ifFalse:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   695
                    (hideUnloadedClasses not or:[isLoaded]) ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   696
                        cat := cls category ? '* no category *'.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   697
                        included := cats includes:cat.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   698
                        included ifFalse:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   699
                            included := showChangedClasses 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   700
                                        and:[ (changedClasses includes:cls theNonMetaclass)
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   701
                                                or:[(changedClasses includes:cls theMetaclass)] ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   702
                            included ifFalse:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   703
                                included := showUndocumented 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   704
                                            and:[ isLoaded 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   705
                                            and:[ cls isPrivate not    
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   706
                                            and:[ (cls theMetaclass includesSelector:#documentation) not ]]].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   707
                                included ifFalse:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   708
                                    included := showExtendedClasses
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   709
                                                and:[ cls hasExtensions ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   710
                                ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   711
                            ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   712
                        ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   713
                    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   714
                ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   715
                included
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   716
            ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   717
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   718
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   719
    ^ Iterator on:[:whatToDo |
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   720
            showChangedClasses ifTrue:[ changedClasses := ChangeSet current changedClasses ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   721
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   722
            environment allClassesDo:[:cls |
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   723
                (cls isRealNameSpace) ifFalse:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   724
                    (inclusionTest value:cls) ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   725
                        (nameSpaceFilter isNil
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   726
                        or:[self isClass:cls shownWithNameSpaceFilter:nameSpaceFilter]) ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   727
                            (packageFilter isNil
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   728
                            or:[self isClass:cls shownWithPackageFilter:packageFilter]) ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   729
                                whatToDo value:cls
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   730
                            ]
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   731
                        ]
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   732
                    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   733
                ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   734
            ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   735
        ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   736
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   737
    "Created: / 05-02-2000 / 13:42:12 / cg"
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   738
    "Modified: / 10-11-2006 / 17:13:26 / cg"
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   739
! !
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   740
16366
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
   741
!ClassCategoryList methodsFor:'initialize-release'!
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
   742
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
   743
commonPostBuild
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
   744
    |listView|
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
   745
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
   746
    listView := self listView.
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
   747
    listView notNil ifTrue:[
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
   748
        listView scrollWhenUpdating:nil
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
   749
    ].
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
   750
    super commonPostBuild
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
   751
!
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
   752
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
   753
commonPostOpen
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
   754
    super commonPostOpen.
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
   755
    listValid ifFalse:[
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
   756
        self enqueueDelayedUpdateList.
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
   757
        self enqueueMessage:#xUpdateOutputGenerator for:self arguments:nil.
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
   758
        "/ self enqueueMessage:#updateSelectionIndexFromSelection for:self arguments:nil. "/ #().
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
   759
    ]. 
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
   760
!
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
   761
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
   762
postBuildCategoryListView:aView
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
   763
    categoryListView := aView.
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
   764
    categoryListView visualBlock:[:view :lineNr | cookedCategoryList at:lineNr].
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
   765
    categoryListView selectedVisualBlock:[:view :lineNr | (cookedCategoryList at:lineNr) "string"withoutAnyColorEmphasis]
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
   766
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
   767
    "Modified: / 26-03-2014 / 09:21:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
   768
! !
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
   769
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   770
!ClassCategoryList methodsFor:'private'!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   771
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   772
colorizeCategoryAsChanged:category
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   773
    | idx |
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   774
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   775
    idx := rawCategoryList indexOf: category.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   776
    idx ~~ 0 ifTrue:[ 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   777
        | oldEntry newEntry |
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   778
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   779
        oldEntry := cookedCategoryList at: idx.
14914
9d3e01752424 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14865
diff changeset
   780
        newEntry := self listEntryForCategory: category.
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   781
        (oldEntry sameStringAndEmphasisAs:newEntry) ifFalse:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   782
            cookedCategoryList at: idx put: newEntry.
14297
3f2d9aac889d class: Tools::ClassCategoryList
Stefan Vogel <sv@exept.de>
parents: 14167
diff changeset
   783
            categoryListView notNil ifTrue:[
3f2d9aac889d class: Tools::ClassCategoryList
Stefan Vogel <sv@exept.de>
parents: 14167
diff changeset
   784
                categoryListView invalidate.
3f2d9aac889d class: Tools::ClassCategoryList
Stefan Vogel <sv@exept.de>
parents: 14167
diff changeset
   785
            ].
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   786
        ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   787
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   788
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   789
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   790
"/ OLD CODE
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   791
"/    |colorizedCategoryItem categoryList idx|
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   792
"/
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   793
"/    colorizedCategoryItem := self colorizeForChangedCode:category copy asText.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   794
"/
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   795
"/    categoryList := self categoryList value.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   796
"/    idx := categoryList indexOf:category.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   797
"/    idx ~~ 0 ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   798
"/        ((categoryList at:idx) sameStringAndEmphasisAs:colorizedCategoryItem) ifFalse:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   799
"/            categoryList at:idx put:colorizedCategoryItem.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   800
"/            self categoryList changed.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   801
"/        ]
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   802
"/    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   803
14163
385465598cce Oops, removing leftover debugging code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14162
diff changeset
   804
    "Modified: / 26-03-2014 / 09:39:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   805
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   806
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   807
listOfCategories
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   808
    |categories categoriesBag hideUnloadedClassesValue generator nameSpaceFilterValue packageFilterValue allName
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   809
     categoriesWithExtensions categoriesWithChangedCode categoriesWithRemoteChangedCode
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   810
     classesInChangeSet classesInRemoteChangeSet classesWithExtensions
15127
2686ba8015cc class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15073
diff changeset
   811
     numClassesInChangeSet numUnloaded numUndocumented 
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   812
     pseudoEntryColor showCounts|
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   813
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   814
    showCounts := true.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   815
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   816
    allName := self class nameListEntryForALL.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   817
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   818
    hideUnloadedClassesValue := self hideUnloadedClasses value.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   819
    nameSpaceFilterValue := self nameSpaceFilter value.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   820
    nameSpaceFilterValue notNil ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   821
        (nameSpaceFilterValue includes:allName) ifTrue:[nameSpaceFilterValue := nil].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   822
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   823
    packageFilterValue := self packageFilter value.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   824
    packageFilterValue notNil ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   825
        (packageFilterValue includes:allName) ifTrue:[packageFilterValue := nil].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   826
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   827
15127
2686ba8015cc class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15073
diff changeset
   828
    numUndocumented := numUnloaded := numClassesInChangeSet := 0.
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   829
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   830
    categories := Set new.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   831
    categoriesBag := Bag new.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   832
    categoriesWithExtensions := Set new.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   833
    categoriesWithChangedCode := Set new.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   834
    categoriesWithRemoteChangedCode := Set new.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   835
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   836
    classesInChangeSet := ChangeSet current changedClasses.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   837
    classesInChangeSet := classesInChangeSet collect:[:eachClass | eachClass theNonMetaclass].
15127
2686ba8015cc class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15073
diff changeset
   838
    numClassesInChangeSet := classesInChangeSet size.
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   839
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   840
    classesInRemoteChangeSet := SmallTeam isNil ifTrue:[#()] ifFalse:[ SmallTeam changedClasses ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   841
    classesInRemoteChangeSet := classesInRemoteChangeSet collect:[:each | each theNonMetaclass].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   842
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   843
    classesWithExtensions := IdentitySet new.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   844
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   845
    classes := IdentitySet new.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   846
    inGeneratorHolder isNil ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   847
        environment allClassesDo:[:cls | 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   848
            |cat isLoaded|
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   849
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   850
            (cls isRealNameSpace) ifFalse:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   851
                (nameSpaceFilterValue isNil
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   852
                or:[self isClass:cls shownWithNameSpaceFilter:nameSpaceFilterValue]) ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   853
                    (packageFilterValue isNil
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   854
                    or:[self isClass:cls shownWithPackageFilter:packageFilterValue]) ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   855
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   856
                        isLoaded := cls isLoaded.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   857
                        isLoaded ifTrue:[ 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   858
                            cls isPrivate ifFalse:[  
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   859
                                (cls theMetaclass includesSelector:#documentation) ifFalse:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   860
                                    numUndocumented := numUndocumented + 1.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   861
                                ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   862
                            ].
14914
9d3e01752424 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14865
diff changeset
   863
                        ] ifFalse:[
9d3e01752424 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14865
diff changeset
   864
                            numUnloaded := numUnloaded + 1.
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   865
                        ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   866
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   867
                        (hideUnloadedClassesValue not or:[isLoaded])
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   868
                        ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   869
                            cat := cls category ? '* no category *'.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   870
                            cat isString ifFalse:[self halt:'oops - strange category'].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   871
                            categories add:cat.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   872
                            classes add:cls.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   873
                            categoriesBag add:cat.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   874
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   875
                            (classesInChangeSet includes:cls theNonMetaclass) ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   876
                                categoriesWithChangedCode add:cat
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   877
                            ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   878
                            (classesInRemoteChangeSet includes:cls theNonMetaclass) ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   879
                                categoriesWithRemoteChangedCode add:cat
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   880
                            ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   881
                            cls hasExtensions ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   882
                                categoriesWithExtensions add:cat.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   883
                                classesWithExtensions add:cls.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   884
                            ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   885
                        ]
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   886
                    ]
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   887
                ]
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   888
            ]
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   889
        ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   890
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   891
        "/ those are simulated - in ST/X, empty categories do not
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   892
        "/ really exist; however, during browsing, it makes sense.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   893
        AdditionalEmptyCategories size > 0 ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   894
            "/ remove those that are present ...
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   895
            AdditionalEmptyCategories := AdditionalEmptyCategories reject:[:cat | (categories includes:cat)].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   896
            categories addAll:AdditionalEmptyCategories.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   897
            categoriesBag addAll:AdditionalEmptyCategories withOccurrences:0.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   898
        ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   899
    ] ifFalse:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   900
        |setOfCategories|
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   901
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   902
        generator := inGeneratorHolder value.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   903
        generator isNil ifTrue:[^ #() ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   904
        setOfCategories := Set withAll:generator.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   905
        generator do:[:cat | categories add:cat string].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   906
        
14914
9d3e01752424 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14865
diff changeset
   907
        environment allClassesDo:[:eachClass |
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   908
            |cat|
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   909
14914
9d3e01752424 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14865
diff changeset
   910
            eachClass isNameSpace ifFalse:[
9d3e01752424 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14865
diff changeset
   911
                cat := eachClass category string asSymbol.
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   912
                (setOfCategories includes:cat) ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   913
                    categoriesBag add:cat.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   914
                ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   915
            ]
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   916
        ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   917
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   918
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   919
    pseudoEntryColor := self class pseudoEntryForegroundColor.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   920
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   921
    categories := categories asOrderedCollection.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   922
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   923
    categories sort.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   924
    rawCategoryList := categories.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   925
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   926
    categories := 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   927
        categories collect:[:cat |
14914
9d3e01752424 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14865
diff changeset
   928
            self listEntryForCategory: cat numClasses: (categoriesBag occurrencesOf:cat) showCounts: showCounts pseudoEntryColor: pseudoEntryColor
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   929
                hasLocalChangedCode: (categoriesWithChangedCode includes:cat) 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   930
                hasRemoteChangedCode: (categoriesWithRemoteChangedCode includes:cat) 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   931
                hasExtensions: (categoriesWithExtensions includes:cat)
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   932
        ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   933
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   934
    numUndocumented > 0 ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   935
        rawCategoryList add:self class nameListEntryForUndocumented.
16493
441d1df09f8a #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16366
diff changeset
   936
        categories add:((self class nameListEntryForUndocumentedWithCount bindWith:numUndocumented) allItalic withColor:pseudoEntryColor).
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   937
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   938
    numUnloaded > 0 ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   939
        rawCategoryList add:self class nameListEntryForUnloaded.
16493
441d1df09f8a #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16366
diff changeset
   940
        categories add:((self class nameListEntryForUnloadedWithCount bindWith:numUnloaded) allItalic withColor:pseudoEntryColor).
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   941
    ].
15127
2686ba8015cc class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15073
diff changeset
   942
    (classesWithExtensions size > 0) ifTrue:[
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   943
        rawCategoryList add:self class nameListEntryForExtendedClasses.
16493
441d1df09f8a #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16366
diff changeset
   944
        categories add:((self class nameListEntryForExtendedClassesWithCount bindWith:(classesWithExtensions size)) allItalic withColor:pseudoEntryColor).
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   945
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   946
    numClassesInChangeSet > 0 ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   947
        rawCategoryList addFirst:self class nameListEntryForChanged.
16493
441d1df09f8a #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16366
diff changeset
   948
        categories addFirst:((self class nameListEntryForChangedWithCount bindWith:numClassesInChangeSet) allItalic withColor:pseudoEntryColor).
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   949
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   950
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   951
    categories size > 0 ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   952
        categories size == 1 ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   953
            self classCategoryLabelHolder value:(categories first)
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   954
        ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   955
        rawCategoryList addFirst:self class nameListEntryForALL.
16493
441d1df09f8a #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16366
diff changeset
   956
        categories addFirst:((self class nameListEntryForALLWithCount bindWith:(classes size)) allItalic withColor:pseudoEntryColor).
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   957
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   958
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   959
    cookedCategoryList := categories.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   960
    ^ rawCategoryList.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   961
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   962
    "Created: / 05-02-2000 / 13:42:12 / cg"
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   963
    "Modified: / 27-10-2012 / 12:34:19 / cg"
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   964
    "Modified: / 26-03-2014 / 08:53:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   965
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   966
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   967
listView 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   968
    ^ self componentAt:#List
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   969
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   970
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   971
makeDependent
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   972
    environment addDependent:self.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   973
    ChangeSet addDependent:self.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   974
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   975
    "Created: / 5.2.2000 / 13:42:13 / cg"
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   976
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   977
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   978
makeIndependent
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   979
    environment removeDependent:self.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   980
    ChangeSet removeDependent:self.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   981
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   982
    "Created: / 5.2.2000 / 13:42:13 / cg"
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   983
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   984
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   985
makeItemVisible:item
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   986
    |idx listView|
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   987
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   988
    idx := categoryList value indexOf:item.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   989
    idx ~~ 0 ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   990
        (listView := self listView) notNil ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   991
            listView makeLineVisible:idx.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   992
        ]
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   993
    ]
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   994
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   995
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   996
makeSelectionOtherThanAllVisible
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   997
    |selectedCategories item|
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   998
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   999
    selectedCategories := self selectedCategoriesStrings.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1000
    "/ the first item after the *all* item
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1001
    item := (selectedCategories copy remove:self class nameListEntryForALL; yourself) first.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1002
    self makeItemVisible:item.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1003
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1004
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1005
release
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1006
    super release.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1007
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1008
    categoryList removeDependent:self.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1009
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1010
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1011
selectedCategoriesStrings
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1012
    |selectedCategories stringForExtensions|
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1013
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1014
    stringForExtensions := self stringForExtensions.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1015
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1016
    selectedCategories := self selectedCategories value ? #().
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1017
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1018
"/    selectedCategories := selectedCategories 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1019
"/                collect:[:each | 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1020
"/                                |s|
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1021
"/                                s := each string.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1022
"/                                (s endsWith:stringForExtensions) ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1023
"/                                    s := s copyWithoutLast:(stringForExtensions size).
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1024
"/                                ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1025
"/                                s
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1026
"/                        ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1027
    ^ selectedCategories
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1028
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1029
    "Modified: / 23-08-2006 / 11:38:26 / cg"
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1030
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1031
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1032
stringForExtensions
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1033
    ^ ' [ + ]'
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1034
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1035
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1036
updateList
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1037
    |oldList newList oldSelection newSelection prevClasses
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1038
     selectedCategoriesHolder|
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1039
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1040
    selectedCategoriesHolder := self selectedCategories.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1041
    oldSelection := selectedCategoriesHolder value ? #().
15127
2686ba8015cc class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15073
diff changeset
  1042
    prevClasses := classes "copy".
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1043
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1044
    newList := self listOfCategories.    "/ sigh - sideeffect of setting rawList
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1045
    oldList := (self categoryList value) ? #().
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1046
    (newList sameContentsAs:oldList whenComparedWith:[:a :b | a sameStringAndEmphasisAs: b]) 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1047
    ifFalse:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1048
        "/ a real change, or only emphasis ?
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1049
        (newList sameContentsAs:oldList whenComparedWith:[:a :b | a asString string = b asString string]) ifTrue:[
15127
2686ba8015cc class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15073
diff changeset
  1050
            "/ only emphasis 
2686ba8015cc class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15073
diff changeset
  1051
2686ba8015cc class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15073
diff changeset
  1052
            oldSelection notEmpty ifTrue:[
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1053
                selectedCategoriesHolder removeDependent:self.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1054
                selectedCategoriesHolder value:#().
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1055
                selectedCategoriesHolder addDependent:self.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1056
            ].
15127
2686ba8015cc class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15073
diff changeset
  1057
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1058
            categoryList value:newList.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1059
15127
2686ba8015cc class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15073
diff changeset
  1060
            oldSelection notEmpty ifTrue:[
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1061
                newSelection := oldSelection select:[:cat | newList includes:cat].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1062
                selectedCategoriesHolder value:newSelection.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1063
            ]
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1064
        ] ifFalse:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1065
            "/ a real change
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1066
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1067
            categoryList value:newList.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1068
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1069
            "/ in case the same categories are present, but classes have changed ...
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1070
            (prevClasses isNil or:[(classes identicalContentsAs:prevClasses) not]) ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1071
                self updateOutputGenerator.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1072
            ]
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1073
        ]
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1074
    ] ifTrue:[
15127
2686ba8015cc class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15073
diff changeset
  1075
        "/ in case the same categories are present, but classes have changed,
2686ba8015cc class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 15073
diff changeset
  1076
        "/ we still have to update the outputGenerator, to get a new classList...
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1077
        (prevClasses isNil or:[(classes identicalContentsAs:prevClasses) not]) ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1078
            self updateOutputGenerator.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1079
        ]
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1080
    ].
14860
dd8d85a294c5 access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents: 14592
diff changeset
  1081
    self setListValid:true.
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1082
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1083
    "Created: / 05-02-2000 / 13:42:13 / cg"
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1084
    "Modified: / 17-08-2011 / 09:52:13 / cg"
16366
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
  1085
!
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
  1086
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
  1087
xUpdateOutputGenerator
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
  1088
    "/ self updateOutputGenerator
943f8dfaa647 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16202
diff changeset
  1089
self enqueueDelayedUpdateOutputGenerator
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1090
! !
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1091
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1092
!ClassCategoryList methodsFor:'private-presentation'!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1093
14914
9d3e01752424 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14865
diff changeset
  1094
listEntryForCategory: cat
9d3e01752424 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14865
diff changeset
  1095
    "only called after an individual method's change,
9d3e01752424 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14865
diff changeset
  1096
     and this is the very first change for that class, to update the list entry.
9d3e01752424 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14865
diff changeset
  1097
     Don't ever call this for every category to avoid O(n^2) behavior on the number of classes,
9d3e01752424 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14865
diff changeset
  1098
     because this method enumerates all classes in the environment"
9d3e01752424 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14865
diff changeset
  1099
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1100
    | showCounts numClasses hideUnloadedClassesValue nameSpaceFilterValue packageFilterValue allName 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1101
      hasLocalChangedCode hasRemoteChangedCode hasExtensions classesInChangeSet classesInRemoteChangeSet |
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1102
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1103
    showCounts := true.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1104
    allName := self class nameListEntryForALL.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1105
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1106
    hideUnloadedClassesValue := self hideUnloadedClasses value.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1107
    nameSpaceFilterValue := self nameSpaceFilter value.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1108
    nameSpaceFilterValue notNil ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1109
        (nameSpaceFilterValue includes:allName) ifTrue:[nameSpaceFilterValue := nil].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1110
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1111
    packageFilterValue := self packageFilter value.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1112
    packageFilterValue notNil ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1113
        (packageFilterValue includes:allName) ifTrue:[packageFilterValue := nil].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1114
    ].    
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1115
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1116
    classesInChangeSet := ChangeSet current changedClasses.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1117
    classesInChangeSet := classesInChangeSet collect:[:eachClass | eachClass theNonMetaclass].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1118
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1119
    classesInRemoteChangeSet := SmallTeam isNil ifTrue:[#()] ifFalse:[ SmallTeam changedClasses ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1120
    classesInRemoteChangeSet := classesInRemoteChangeSet collect:[:each | each theNonMetaclass].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1121
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1122
    numClasses := 0.
14914
9d3e01752424 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14865
diff changeset
  1123
    hasLocalChangedCode := false.
9d3e01752424 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14865
diff changeset
  1124
    hasRemoteChangedCode := false.
9d3e01752424 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14865
diff changeset
  1125
    hasExtensions := false.
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1126
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1127
    environment allClassesDo:[:cls | 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1128
        | isLoaded |
14914
9d3e01752424 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14865
diff changeset
  1129
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1130
        cls category = cat ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1131
            (cls isRealNameSpace) ifFalse:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1132
                (nameSpaceFilterValue isNil
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1133
                or:[self isClass:cls shownWithNameSpaceFilter:nameSpaceFilterValue]) ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1134
                    (packageFilterValue isNil
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1135
                    or:[self isClass:cls shownWithPackageFilter:packageFilterValue]) ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1136
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1137
                        isLoaded := cls isLoaded.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1138
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1139
                        (hideUnloadedClassesValue not or:[isLoaded])
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1140
                        ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1141
                            numClasses := numClasses + 1.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1142
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1143
                            hasLocalChangedCode := hasLocalChangedCode or:[classesInChangeSet includes:cls theNonMetaclass].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1144
                            hasRemoteChangedCode := hasRemoteChangedCode or:[classesInRemoteChangeSet includes:cls theNonMetaclass].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1145
                            hasExtensions := hasExtensions or:[cls hasExtensions].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1146
                        ]
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1147
                    ]
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1148
                ]
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1149
            ]
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1150
        ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1151
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1152
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1153
14914
9d3e01752424 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14865
diff changeset
  1154
    ^ self listEntryForCategory: cat numClasses: numClasses showCounts: showCounts pseudoEntryColor: self class pseudoEntryForegroundColor
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1155
                hasLocalChangedCode: hasLocalChangedCode 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1156
                hasRemoteChangedCode: hasRemoteChangedCode 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1157
                hasExtensions: hasExtensions
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1158
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1159
    "Created: / 26-03-2014 / 09:12:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1160
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1161
14914
9d3e01752424 class: Tools::ClassCategoryList
Claus Gittinger <cg@exept.de>
parents: 14865
diff changeset
  1162
listEntryForCategory: cat numClasses: numClasses showCounts: showCounts pseudoEntryColor: pseudoEntryColor
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1163
    hasLocalChangedCode: isInLocalChangeSet 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1164
    hasRemoteChangedCode: isInRemoteChangeSet 
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1165
    hasExtensions: hasExtensions
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1166
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1167
    |item |
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1168
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1169
    isInLocalChangeSet ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1170
         item := self colorizeForChangedCode:cat copy asText
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1171
    ] ifFalse:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1172
        hasExtensions ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1173
             item := self colorizeForDifferentPackage:cat copy asText
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1174
             "/ cannot add a + here - need separate list for presentation and filter
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1175
             "/ cat , (self colorizeForDifferentPackage:self stringForExtensions)
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1176
        ] ifFalse:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1177
            isInRemoteChangeSet ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1178
                 item := self colorizeForChangedCodeInSmallTeam:cat copy asText
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1179
            ] ifFalse:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1180
                 item := cat
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1181
            ]
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1182
        ]
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1183
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1184
    showCounts ifTrue:[
16493
441d1df09f8a #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16366
diff changeset
  1185
        item := item , 
441d1df09f8a #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16366
diff changeset
  1186
                    ((' (%1)' bindWith:numClasses) 
441d1df09f8a #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16366
diff changeset
  1187
                            withColor:pseudoEntryColor).
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1188
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1189
    isInLocalChangeSet ifTrue:[
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1190
        item := item , self class markForBeingInChangeList
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1191
    ].
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1192
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1193
    ^ item
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1194
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1195
    "Created: / 26-03-2014 / 08:51:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1196
! !
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1197
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1198
!ClassCategoryList methodsFor:'special'!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1199
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1200
addAdditionalCategory:aCategory
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1201
    "/ those are simulated - in ST/X, empty categories do not
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1202
    "/ really exist; however, during browsing, it makes sense.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1203
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1204
    self class addAdditionalCategory:aCategory
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1205
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1206
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1207
removeAdditionalCategories:aListOfCategories
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1208
    self class removeAdditionalCategories:aListOfCategories
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1209
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1210
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1211
removeAllAdditionalCategories
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1212
    self class removeAllAdditionalCategories
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1213
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1214
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1215
renameAdditionalCategories:oldNames to:newName
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1216
    "/ those are simulated - in ST/X, empty categories do not
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1217
    "/ really exist; however, during browsing, it makes sense.
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1218
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1219
    self class renameAdditionalCategories:oldNames to:newName
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1220
! !
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1221
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1222
!ClassCategoryList class methodsFor:'documentation'!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1223
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1224
version
16202
f7f182723df6 #BUGFIX
Claus Gittinger <cg@exept.de>
parents: 15647
diff changeset
  1225
    ^ '$Header$'
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1226
!
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1227
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1228
version_CVS
16202
f7f182723df6 #BUGFIX
Claus Gittinger <cg@exept.de>
parents: 15647
diff changeset
  1229
    ^ '$Header$'
15599
a602fe160939 Fix in ClassCategoryList>>update:with:from: - care for cases when category list is not yet created but event arrives.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15566
diff changeset
  1230
!
a602fe160939 Fix in ClassCategoryList>>update:with:from: - care for cases when category list is not yet created but event arrives.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15566
diff changeset
  1231
a602fe160939 Fix in ClassCategoryList>>update:with:from: - care for cases when category list is not yet created but event arrives.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15566
diff changeset
  1232
version_HG
a602fe160939 Fix in ClassCategoryList>>update:with:from: - care for cases when category list is not yet created but event arrives.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15566
diff changeset
  1233
a602fe160939 Fix in ClassCategoryList>>update:with:from: - care for cases when category list is not yet created but event arrives.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15566
diff changeset
  1234
    ^ '$Changeset: <not expanded> $'
14162
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1235
! !
298676530297 Fix for bug #13 - Class category is not updated when class changes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1236