Tools_MethodList.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 05 Sep 2013 12:46:11 +0200
changeset 13498 b8d845e42988
parent 13384 f58933f62cf9
child 13526 a53e939bd20e
permissions -rw-r--r--
Added `environment` instance variable to Tools__NewSystemBrowser and components it uses. The environment is by default initialized to Smalltalk. This allow for displaying limited subset of classes in the browser. The classes displayed does not even have to be classes and does not have to be installed in Smalltalk dictionary.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
 COPYRIGHT (c) 2000 by eXept Software AG
10388
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
     3
              All Rights Reserved
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
 This software is furnished under a license and may be used
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
 hereby transferred.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
"{ Package: 'stx:libtool' }"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
"{ NameSpace: Tools }"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
BrowserList subclass:#MethodList
12554
79d13f7b87c0 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12541
diff changeset
    17
	instanceVariableNames:'classes selectedMethodNameIndices methodList lastSelectedMethods
79d13f7b87c0 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12541
diff changeset
    18
		browserNameList variableFilter filterClassVars updateProcess
79d13f7b87c0 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12541
diff changeset
    19
		lastShowClass lastShowCategory lastShowClassFirst
79d13f7b87c0 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12541
diff changeset
    20
		showMethodInheritance lastMethodClass lastMethodClassesSubclasses
79d13f7b87c0 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12541
diff changeset
    21
		classAndSelectorsRedefinedBySubclassesOfClass showClass
79d13f7b87c0 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12541
diff changeset
    22
		showMethodComplexity showMethodTypeIcon
79d13f7b87c0 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12541
diff changeset
    23
		showImageResourceMethodsImages'
79d13f7b87c0 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12541
diff changeset
    24
	classVariableNames:'ShowComplexityValue'
79d13f7b87c0 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12541
diff changeset
    25
	poolDictionaries:''
79d13f7b87c0 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12541
diff changeset
    26
	category:'Interface-Browsers-New'
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
!MethodList class methodsFor:'documentation'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
copyright
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
 COPYRIGHT (c) 2000 by eXept Software AG
10388
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
    34
              All Rights Reserved
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
 This software is furnished under a license and may be used
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
 only in accordance with the terms of that license and with the
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
 inclusion of the above copyright notice.   This software may not
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
 be provided or otherwise made available to, or used by, any
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
 other person.  No title to or ownership of the software is
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
 hereby transferred.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
"
11876
aa117e8388d1 added: #documentation
Claus Gittinger <cg@exept.de>
parents: 11863
diff changeset
    43
!
aa117e8388d1 added: #documentation
Claus Gittinger <cg@exept.de>
parents: 11863
diff changeset
    44
aa117e8388d1 added: #documentation
Claus Gittinger <cg@exept.de>
parents: 11863
diff changeset
    45
documentation
aa117e8388d1 added: #documentation
Claus Gittinger <cg@exept.de>
parents: 11863
diff changeset
    46
"
aa117e8388d1 added: #documentation
Claus Gittinger <cg@exept.de>
parents: 11863
diff changeset
    47
    I implement the method list in the new system browser
aa117e8388d1 added: #documentation
Claus Gittinger <cg@exept.de>
parents: 11863
diff changeset
    48
"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
!MethodList class methodsFor:'interface specs'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
singleMethodWindowSpec
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
    "This resource specification was automatically generated
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
     by the UIPainter of ST/X."
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
    "Do not manually edit this!! If it is corrupted,
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
     the UIPainter may not be able to read the specification."
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
    "
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
     UIPainter new openOnClass:MethodList andSelector:#singleMethodWindowSpec
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
     MethodList new openInterface:#singleMethodWindowSpec
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
    "
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
    <resource: #canvas>
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
    ^ 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
     #(#FullSpec
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
        #name: #singleMethodWindowSpec
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
        #window: 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
       #(#WindowSpec
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
          #label: 'SingleSelectorList'
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
          #name: 'SingleSelectorList'
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
          #min: #(#Point 0 0)
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
          #max: #(#Point 1024 721)
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
          #bounds: #(#Rectangle 12 22 312 322)
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
        )
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
        #component: 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
       #(#SpecCollection
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
          #collection: #(
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
           #(#LabelSpec
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
              #label: 'MethodName'
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
              #name: 'MethodLabel'
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
              #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 25 0)
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
              #translateLabel: true
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
              #labelChannel: #methodLabelHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
              #menu: #menuHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
           )
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
           )
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
         
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
        )
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
      )
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
    "Modified: / 1.3.2000 / 20:50:15 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
windowSpec
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
    "This resource specification was automatically generated
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
     by the UIPainter of ST/X."
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
    "Do not manually edit this!! If it is corrupted,
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
     the UIPainter may not be able to read the specification."
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
    "
10579
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   105
     UIPainter new openOnClass:Tools::MethodList andSelector:#windowSpec
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   106
     Tools::MethodList new openInterface:#windowSpec
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   107
     Tools::MethodList open
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
    "
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
    <resource: #canvas>
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
    ^ 
10579
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   113
     #(FullSpec
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   114
        name: windowSpec
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   115
        window: 
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   116
       (WindowSpec
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   117
          label: 'SelectorList'
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   118
          name: 'SelectorList'
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   119
          min: (Point 0 0)
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   120
          bounds: (Rectangle 0 0 300 300)
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
        )
10579
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   122
        component: 
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   123
       (SpecCollection
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   124
          collection: (
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   125
           (SequenceViewSpec
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   126
              name: 'List'
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   127
              layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   128
              tabable: true
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   129
              model: selectedMethodNameIndices
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   130
              menu: menuHolder
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   131
              hasHorizontalScrollBar: true
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   132
              hasVerticalScrollBar: true
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   133
              miniScrollerHorizontal: true
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   134
              isMultiSelect: true
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   135
              valueChangeSelector: selectionChangedByClick
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   136
              useIndex: true
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   137
              sequenceList: browserNameList
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   138
              doubleClickChannel: doubleClickChannel
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   139
              properties: 
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   140
             (PropertyListDictionary
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   141
                canDropSelector: canDropContext:
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   142
                dragArgument: nil
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   143
                dropArgument: nil
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   144
                dropSelector: doDropContext:
6774
ae9ed5b0b548 move method via drag and drop
Claus Gittinger <cg@exept.de>
parents: 6697
diff changeset
   145
              )
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
            )
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
           )
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
         
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
        )
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
      )
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
!MethodList class methodsFor:'plugIn spec'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
aspectSelectors
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
    "This resource specification was automatically generated
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
     by the UIPainter of ST/X."
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
    "Do not manually edit this. If it is corrupted,
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
     the UIPainter may not be able to read the specification."
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
    "Return a description of exported aspects;
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
     these can be connected to aspects of an embedding application
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
     (if this app is embedded in a subCanvas)."
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
    ^ #(
10579
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   167
        #(doubleClickChannel action)
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   168
        #filterClassVars
6259
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   169
        #forceGeneratorTrigger
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   170
        #immediateUpdate
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   171
        #inGeneratorHolder
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   172
        #menuHolder
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   173
        #methodCategoryHolder
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   174
        #packageFilter
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   175
        #selectedMethods
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   176
        #selectionChangeCondition
10579
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   177
        #showCoverageInformation
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   178
        #showImageResourceMethodsImages
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   179
        #showMethodComplexity
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   180
        #showMethodInheritance
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   181
        #showMethodTypeIcon
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   182
        #sortBy
6259
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   183
        #updateTrigger
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   184
        #variableFilter
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
      ).
9421
7f9db26667e2 changed: #aspectSelectors
Claus Gittinger <cg@exept.de>
parents: 9252
diff changeset
   186
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
!MethodList methodsFor:'aspects'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
browserNameList
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
    browserNameList isNil ifTrue:[
10388
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   193
        browserNameList := List new.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
    ^ browserNameList.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
    "Modified: / 31.1.2000 / 00:42:44 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
    "Created: / 5.2.2000 / 22:38:32 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
defaultSlaveModeValue
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
    ^ false.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
filterClassVars
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
    filterClassVars isNil ifTrue:[
10388
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   207
        filterClassVars := false asValue.
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   208
        filterClassVars addDependent:self
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
    ^  filterClassVars
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
filterClassVars:aValueHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
    filterClassVars notNil ifTrue:[
10388
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   215
        filterClassVars removeDependent:self
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
    filterClassVars := aValueHolder.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
    filterClassVars notNil ifTrue:[
10388
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   219
        filterClassVars addDependent:self
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
methodLabelHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
    ^ self pseudoListLabelHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
    "Created: / 1.3.2000 / 20:50:07 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
methodList
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
    ^ methodList
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
selectedMethodNameIndices
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
    selectedMethodNameIndices isNil ifTrue:[
10388
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   235
        selectedMethodNameIndices := ValueHolder new.
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   236
        selectedMethodNameIndices addDependent:self
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
    ^ selectedMethodNameIndices.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
    "Modified: / 5.2.2000 / 00:31:48 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
    "Created: / 5.2.2000 / 22:59:31 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
selectedMethods
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
    ^ self selectionHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
selectedMethods:aValueHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
    ^ self selectionHolder:aValueHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
8197
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
   252
showImageResourceMethodsImages
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
   253
    showImageResourceMethodsImages isNil ifTrue:[
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
   254
        showImageResourceMethodsImages := false asValue.
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
   255
        showImageResourceMethodsImages addDependent:self
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
   256
    ].
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
   257
    ^  showImageResourceMethodsImages
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
   258
!
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
   259
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
   260
showImageResourceMethodsImages:aValueHolder
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
   261
    showImageResourceMethodsImages notNil ifTrue:[
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
   262
        showImageResourceMethodsImages removeDependent:self
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
   263
    ].
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
   264
    showImageResourceMethodsImages := aValueHolder.
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
   265
    showImageResourceMethodsImages notNil ifTrue:[
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
   266
        showImageResourceMethodsImages addDependent:self
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
   267
    ].
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
   268
!
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
   269
6259
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   270
showMethodComplexity
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   271
    showMethodComplexity isNil ifTrue:[
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   272
        showMethodComplexity := false asValue.
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   273
        showMethodComplexity addDependent:self
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   274
    ].
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   275
    ^  showMethodComplexity
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   276
!
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   277
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   278
showMethodComplexity:aValueHolder
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   279
    showMethodComplexity notNil ifTrue:[
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   280
        showMethodComplexity removeDependent:self
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   281
    ].
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   282
    showMethodComplexity := aValueHolder.
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   283
    showMethodComplexity notNil ifTrue:[
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   284
        showMethodComplexity addDependent:self
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   285
    ].
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   286
!
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   287
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
showMethodInheritance
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
    showMethodInheritance isNil ifTrue:[
10388
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   290
        showMethodInheritance := false asValue.
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   291
        showMethodInheritance addDependent:self
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   292
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   293
    ^  showMethodInheritance
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   294
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   295
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   296
showMethodInheritance:aValueHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   297
    showMethodInheritance notNil ifTrue:[
10388
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   298
        showMethodInheritance removeDependent:self
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   299
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   300
    showMethodInheritance := aValueHolder.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   301
    showMethodInheritance notNil ifTrue:[
10388
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   302
        showMethodInheritance addDependent:self
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   303
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   305
6268
df63cb5277cc metrics display
Claus Gittinger <cg@exept.de>
parents: 6261
diff changeset
   306
showMethodTypeIcon
df63cb5277cc metrics display
Claus Gittinger <cg@exept.de>
parents: 6261
diff changeset
   307
    showMethodTypeIcon isNil ifTrue:[
df63cb5277cc metrics display
Claus Gittinger <cg@exept.de>
parents: 6261
diff changeset
   308
        showMethodTypeIcon := true asValue.
df63cb5277cc metrics display
Claus Gittinger <cg@exept.de>
parents: 6261
diff changeset
   309
        showMethodTypeIcon addDependent:self
df63cb5277cc metrics display
Claus Gittinger <cg@exept.de>
parents: 6261
diff changeset
   310
    ].
df63cb5277cc metrics display
Claus Gittinger <cg@exept.de>
parents: 6261
diff changeset
   311
    ^  showMethodTypeIcon
df63cb5277cc metrics display
Claus Gittinger <cg@exept.de>
parents: 6261
diff changeset
   312
!
df63cb5277cc metrics display
Claus Gittinger <cg@exept.de>
parents: 6261
diff changeset
   313
df63cb5277cc metrics display
Claus Gittinger <cg@exept.de>
parents: 6261
diff changeset
   314
showMethodTypeIcon:aValueHolder
df63cb5277cc metrics display
Claus Gittinger <cg@exept.de>
parents: 6261
diff changeset
   315
    showMethodTypeIcon notNil ifTrue:[
df63cb5277cc metrics display
Claus Gittinger <cg@exept.de>
parents: 6261
diff changeset
   316
        showMethodTypeIcon removeDependent:self
df63cb5277cc metrics display
Claus Gittinger <cg@exept.de>
parents: 6261
diff changeset
   317
    ].
df63cb5277cc metrics display
Claus Gittinger <cg@exept.de>
parents: 6261
diff changeset
   318
    showMethodTypeIcon := aValueHolder.
df63cb5277cc metrics display
Claus Gittinger <cg@exept.de>
parents: 6261
diff changeset
   319
    showMethodTypeIcon notNil ifTrue:[
df63cb5277cc metrics display
Claus Gittinger <cg@exept.de>
parents: 6261
diff changeset
   320
        showMethodTypeIcon addDependent:self
df63cb5277cc metrics display
Claus Gittinger <cg@exept.de>
parents: 6261
diff changeset
   321
    ].
df63cb5277cc metrics display
Claus Gittinger <cg@exept.de>
parents: 6261
diff changeset
   322
!
df63cb5277cc metrics display
Claus Gittinger <cg@exept.de>
parents: 6261
diff changeset
   323
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   324
variableFilter
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   325
    variableFilter isNil ifTrue:[
10388
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   326
        variableFilter := nil asValue.
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   327
        variableFilter addDependent:self
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   328
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   329
    ^  variableFilter
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   330
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   332
variableFilter:aValueHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   333
    variableFilter notNil ifTrue:[
10388
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   334
        variableFilter removeDependent:self
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   335
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   336
    variableFilter := aValueHolder.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   337
    variableFilter notNil ifTrue:[
10388
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   338
        variableFilter addDependent:self
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   339
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   340
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   341
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   342
!MethodList methodsFor:'change & update'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   343
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   344
delayedUpdate:something with:aParameter from:changedObject
12554
79d13f7b87c0 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12541
diff changeset
   345
    |cls clsName sel oldMethod newMethod methods newSelection
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   346
     selectionHolder selection needSelectionChange|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   347
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   348
    selectionHolder := self selectedMethods.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   349
    selection := selectionHolder value.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   350
13498
b8d845e42988 Added `environment` instance variable to Tools__NewSystemBrowser and
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13384
diff changeset
   351
    changedObject == environment ifTrue:[
5998
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   352
        classes notNil ifTrue:[
10388
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   353
            something == #classDefinition ifTrue:[
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   354
                cls := aParameter.
12554
79d13f7b87c0 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12541
diff changeset
   355
                clsName := cls name.        
79d13f7b87c0 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12541
diff changeset
   356
                (classes contains:[:aClass | aClass name = clsName]) ifFalse:[
79d13f7b87c0 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12541
diff changeset
   357
                    ^ self   "/ I don't care for that class
10388
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   358
                ].
13498
b8d845e42988 Added `environment` instance variable to Tools__NewSystemBrowser and
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13384
diff changeset
   359
                classes := classes collect:[:eachClass | (environment classNamed:eachClass name) ].
10388
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   360
                self invalidateList.
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   361
"/                self updateList.
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   362
                ^ self.
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   363
            ].
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   364
5998
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   365
            something == #methodCategory ifTrue:[
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   366
                "/ ignore here - methodCategoryList will tell me if required
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   367
                ^ self
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   368
            ].
6663
1453d4f33815 changed change-update aspect when changing some method category
Claus Gittinger <cg@exept.de>
parents: 6575
diff changeset
   369
            (something == #classOrganization
1453d4f33815 changed change-update aspect when changing some method category
Claus Gittinger <cg@exept.de>
parents: 6575
diff changeset
   370
            or:[ something == #methodCategoryAdded
1453d4f33815 changed change-update aspect when changing some method category
Claus Gittinger <cg@exept.de>
parents: 6575
diff changeset
   371
            or:[ something == #methodCategoryRemoved
1453d4f33815 changed change-update aspect when changing some method category
Claus Gittinger <cg@exept.de>
parents: 6575
diff changeset
   372
            or:[ something == #methodCategoriesRemoved
1453d4f33815 changed change-update aspect when changing some method category
Claus Gittinger <cg@exept.de>
parents: 6575
diff changeset
   373
            or:[ something == #methodCategoryRenamed ]]]]) ifTrue:[
5998
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   374
                "/ ignore here - methodCategoryList will tell me if required
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   375
                ^ self
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   376
            ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   377
11851
8184ad4d5930 changed: #update:with:from:
Claus Gittinger <cg@exept.de>
parents: 11639
diff changeset
   378
            (something == #methodInClass 
8184ad4d5930 changed: #update:with:from:
Claus Gittinger <cg@exept.de>
parents: 11639
diff changeset
   379
            or:[something == #methodCoverageInfo]) ifTrue:[
5998
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   380
                "/ a method has been added/changed
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   381
                cls := aParameter at:1.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   382
                (classes includesIdentical:cls) ifTrue:[
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   383
                    sel := aParameter at:2.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   384
                    oldMethod := aParameter at:3.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   385
                    newMethod := cls compiledMethodAt:sel.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   386
                    (oldMethod notNil and:[newMethod notNil]) ifTrue:[
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   387
                        "a method was changed & acccepted;
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   388
                         No need for a rescan of the methodDictionary;
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   389
                         however, ensure that the refs to the old method are updated
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   390
                        "
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   391
                        methods := selection.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   392
                        methods size > 0 ifTrue:[
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   393
                            (methods includesIdentical:oldMethod) ifTrue:[
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   394
                                needSelectionChange := true.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   395
                            ]
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   396
                        ].
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   397
                        methodList replaceAllIdentical:oldMethod with:newMethod.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   398
                        lastSelectedMethods notNil ifTrue:[
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   399
                            lastSelectedMethods replaceAllIdentical:oldMethod with:newMethod
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   400
                        ].
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   401
                        methods size > 0 ifTrue:[
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   402
                            methods := methods asOrderedCollection.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   403
                            methods replaceAllIdentical:oldMethod with:newMethod.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   404
                        ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   405
5998
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   406
                        needSelectionChange == true ifTrue:[
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   407
                            selectionHolder setValue:methods.
6575
94f336bcb07b update notifiaction from other browsers (refix)
Claus Gittinger <cg@exept.de>
parents: 6490
diff changeset
   408
                            "/ self enqueueDelayedMethodsSelectionChanged.
94f336bcb07b update notifiaction from other browsers (refix)
Claus Gittinger <cg@exept.de>
parents: 6490
diff changeset
   409
                            "/ need this to inform my browser that method was changed
94f336bcb07b update notifiaction from other browsers (refix)
Claus Gittinger <cg@exept.de>
parents: 6490
diff changeset
   410
                            "/ by someone else.
94f336bcb07b update notifiaction from other browsers (refix)
Claus Gittinger <cg@exept.de>
parents: 6490
diff changeset
   411
                            selectionHolder changed.
5998
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   412
                        ].
10376
8a61751a59fa method entry updating fixed (it is updated whenever a method is changed)
vrany
parents: 10363
diff changeset
   413
                        "/JV@2011-07-22: Update always - I need to see immediately that
8a61751a59fa method entry updating fixed (it is updated whenever a method is changed)
vrany
parents: 10363
diff changeset
   414
                        "/the method has changed. Also, add/remove breakpoint etc.
8a61751a59fa method entry updating fixed (it is updated whenever a method is changed)
vrany
parents: 10363
diff changeset
   415
8a61751a59fa method entry updating fixed (it is updated whenever a method is changed)
vrany
parents: 10363
diff changeset
   416
"/                        (variableFilter value size > 0
8a61751a59fa method entry updating fixed (it is updated whenever a method is changed)
vrany
parents: 10363
diff changeset
   417
"/                        or:[oldMethod package ~= newMethod package
8a61751a59fa method entry updating fixed (it is updated whenever a method is changed)
vrany
parents: 10363
diff changeset
   418
"/                        or:[oldMethod resources ~= newMethod resources
8a61751a59fa method entry updating fixed (it is updated whenever a method is changed)
vrany
parents: 10363
diff changeset
   419
"/                        or:[showMethodComplexity value == true]]])
11505
f6848fffd318 changed: #delayedUpdate:with:from:
Claus Gittinger <cg@exept.de>
parents: 11385
diff changeset
   420
                        self autoUpdateOnChange ifTrue:[
f6848fffd318 changed: #delayedUpdate:with:from:
Claus Gittinger <cg@exept.de>
parents: 11385
diff changeset
   421
                            "/ only update that method's entry
5998
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   422
                            self updateListEntryFor:newMethod.    
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   423
                            "/ sigh - must invalidate
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   424
                            "/ self invalidateList.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   425
                        ].
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   426
                        ^ self.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   427
                    ].
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   428
                    "/ method was added - update the methodList
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   429
                    "/ Q: is this needed (methodCategoryList should send me a new inGenerator)
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   430
                    self invalidateList.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   431
                ].
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   432
                ^ self.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   433
            ].
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   434
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   435
            something == #methodInClassRemoved ifTrue:[
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   436
                cls := aParameter at:1.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   437
                (classes includesIdentical:cls) ifTrue:[
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   438
                    sel := aParameter at:2.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   439
                    "/ method was removed - update the methodList
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   440
                    "/ Q: is this needed (methodCategoryList should send me a new inGenerator)
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   441
                    self invalidateList.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   442
                ].
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   443
                ^ self.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   444
            ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   445
10357
b3239032903c more coverage info
Claus Gittinger <cg@exept.de>
parents: 10298
diff changeset
   446
            something == #methodCoverageInfo ifTrue:[
b3239032903c more coverage info
Claus Gittinger <cg@exept.de>
parents: 10298
diff changeset
   447
                "/ already checked if it is one of my classes
11557
2b871152c1ec changed:
Claus Gittinger <cg@exept.de>
parents: 11550
diff changeset
   448
                self updateListEntryFor:aParameter.    
2b871152c1ec changed:
Claus Gittinger <cg@exept.de>
parents: 11550
diff changeset
   449
"/                self enqueueDelayedUpdateList.
2b871152c1ec changed:
Claus Gittinger <cg@exept.de>
parents: 11550
diff changeset
   450
"/                listValid == true ifTrue:[
2b871152c1ec changed:
Claus Gittinger <cg@exept.de>
parents: 11550
diff changeset
   451
"/                    self invalidateList.
2b871152c1ec changed:
Claus Gittinger <cg@exept.de>
parents: 11550
diff changeset
   452
"/                ].
10357
b3239032903c more coverage info
Claus Gittinger <cg@exept.de>
parents: 10298
diff changeset
   453
                ^ self.
b3239032903c more coverage info
Claus Gittinger <cg@exept.de>
parents: 10298
diff changeset
   454
            ].
b3239032903c more coverage info
Claus Gittinger <cg@exept.de>
parents: 10298
diff changeset
   455
5998
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   456
            (something == #methodTrap 
11550
e53cac96740a changed:
Claus Gittinger <cg@exept.de>
parents: 11505
diff changeset
   457
            or:[ something == #lastTestRunResult 
e53cac96740a changed:
Claus Gittinger <cg@exept.de>
parents: 11505
diff changeset
   458
            or:[ something == #privacyOfMethod ]]) ifTrue:[
5998
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   459
                cls := aParameter at:1.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   460
                sel := aParameter at:2.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   461
                (classes includesIdentical:cls) ifFalse:[ ^ self].
11550
e53cac96740a changed:
Claus Gittinger <cg@exept.de>
parents: 11505
diff changeset
   462
5998
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   463
                newMethod := cls compiledMethodAt:sel.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   464
                newMethod isNil ifTrue:[
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   465
                    self invalidateList.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   466
                    ^ self
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   467
                ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   468
11550
e53cac96740a changed:
Claus Gittinger <cg@exept.de>
parents: 11505
diff changeset
   469
                ((something == #privacyOfMethod) or:[something == #lastTestRunResult]) ifTrue:[
5998
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   470
                    self updateListEntryFor:newMethod.    
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   471
                ].
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   472
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   473
                (something == #methodTrap) ifTrue:[ 
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   474
                    newMethod isWrapped ifTrue:[
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   475
                        oldMethod := newMethod originalMethod
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   476
                    ] ifFalse:[
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   477
                        selection size > 0 ifTrue:[
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   478
                            oldMethod := selection detect:[:each | each isWrapped and:[each originalMethod == newMethod]] ifNone:nil.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   479
                        ]
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   480
                    ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   481
5998
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   482
                    selection size > 0 ifTrue:[
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   483
                        (selection includesIdentical:oldMethod) ifTrue:[
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   484
                            needSelectionChange := true.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   485
                        ]
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   486
                    ].
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   487
                    methodList replaceAllIdentical:oldMethod with:newMethod.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   488
                    lastSelectedMethods notNil ifTrue:[
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   489
                        lastSelectedMethods replaceAllIdentical:oldMethod with:newMethod
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   490
                    ].
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   491
                    selection size > 0 ifTrue:[
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   492
                        selection := selection asOrderedCollection.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   493
                        selection replaceAllIdentical:oldMethod with:newMethod.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   494
                    ].
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   495
                    needSelectionChange == true ifTrue:[
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   496
                        selectionHolder changed.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   497
                    ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   498
5998
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   499
                    "/ actually, could just change that single item ...
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   500
                    "/ ... might be cheaper, if list is huge.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   501
                    "/ only update that methods entry
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   502
                    self updateListEntryFor:newMethod.    
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   503
                    "/ self invalidateList.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   504
                ].
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   505
                ^ self
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   506
            ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   507
6846
b7d2d17e4ae5 testresult indicators
Claus Gittinger <cg@exept.de>
parents: 6841
diff changeset
   508
            (something == #projectOrganization
b7d2d17e4ae5 testresult indicators
Claus Gittinger <cg@exept.de>
parents: 6841
diff changeset
   509
            or:[something == #lastTestRunResult]) ifTrue:[
5998
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   510
                aParameter notNil ifTrue:[
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   511
                    cls := aParameter at:1.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   512
                    cls notNil ifTrue:[
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   513
                        ((classes includesIdentical:cls theNonMetaclass)
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   514
                        or:[(classes includesIdentical:cls theMetaclass)]) ifTrue:[
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   515
                            self invalidateList.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   516
                        ].
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   517
                    ].
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   518
                ] ifFalse:[
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   519
                    self invalidateList.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   520
                ].
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   521
                ^ self
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   522
            ].
6846
b7d2d17e4ae5 testresult indicators
Claus Gittinger <cg@exept.de>
parents: 6841
diff changeset
   523
5998
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   524
            "/ everything else is ignored
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   525
            "/ self halt.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   526
        ].
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   527
        ^ self
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   528
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   529
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   530
"/    something == #organization ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   531
"/self halt:'no longer'.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   532
"/^ self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   533
"/        "/ a methods cateory has changed
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   534
"/        (classes includesIdentical:changedObject) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   535
"/            aParameter isSymbol ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   536
"/                "/ a method with a new category
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   537
"/                (self methodList includesIdentical:(changedObject compiledMethodAt:aParameter)) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   538
"/                    self invalidateList.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   539
"/                ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   540
"/                ^ self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   541
"/            ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   542
"/            "/ a new category (no method yet)
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   543
"/            self invalidateList
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   544
"/        ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   545
"/        ^ self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   546
"/    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   547
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   548
"/    something == #methodDictionary ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   549
"/self halt:'no longer'.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   550
"/^ self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   551
"/        "/ a method has been added/removed
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   552
"/        (classes includesIdentical:changedObject) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   553
"/            aParameter isArray ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   554
"/                sel := aParameter at:1.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   555
"/                oldMethod := aParameter at:2.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   556
"/                newMethod := changedObject compiledMethodAt:sel.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   557
"/                oldMethod notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   558
"/                    "a method was changed & acccepted;
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   559
"/                     No need for a rescan of the methodDictionary;
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   560
"/                     however, ensure that the refs to the old method are updated
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   561
"/                    "
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   562
"/                    methods := selection.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   563
"/                    methods size > 0 ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   564
"/                        (methods includesIdentical:oldMethod) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   565
"/                            needSelectionChange := true.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   566
"/                        ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   567
"/                    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   568
"/                    methodList replaceAllIdentical:oldMethod with:newMethod.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   569
"/                    lastSelectedMethods notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   570
"/                        lastSelectedMethods replaceAllIdentical:oldMethod with:newMethod
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   571
"/                    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   572
"/                    methods size > 0 ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   573
"/                        methods := methods asOrderedCollection.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   574
"/                        methods replaceAllIdentical:oldMethod with:newMethod.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   575
"/                    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   576
"/                    needSelectionChange == true ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   577
"/                        selectionHolder setValue:methods.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   578
"/                        selectionHolder changed.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   579
"/                    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   580
"/                    ^ self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   581
"/                ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   582
"/            ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   583
"/            "/ class has changed must update the methodList
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   584
"/            self invalidateList.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   585
"/        ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   586
"/        ^ self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   587
"/    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   588
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   589
"/    something == #projectOrganization ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   590
"/        ((classes includesIdentical:changedObject theNonMetaclass)
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   591
"/        or:[(classes includesIdentical:changedObject theMetaclass)]) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   592
"/            self invalidateList.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   593
"/        ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   594
"/        ^ self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   595
"/    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   596
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   597
    changedObject == sortBy ifTrue:[
5998
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   598
        listValid ~~ true ifTrue:[  "/ could be nil
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   599
            inGeneratorHolder value isNil ifTrue:[
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   600
                "/ ok, no need to react on that one 
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   601
                "/ (will invalidate anyway, once I have more info at hand)
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   602
                ^ self
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   603
            ].
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   604
        ].
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   605
        self invalidateList.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   606
        ^ self
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   607
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   608
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   609
    (changedObject == variableFilter
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   610
    or:[changedObject == filterClassVars
6259
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   611
    or:[changedObject == showMethodInheritance
e440c14b02aa experimental display of method complexity
Claus Gittinger <cg@exept.de>
parents: 5998
diff changeset
   612
    or:[changedObject == showMethodComplexity]]]) ifTrue:[
5998
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   613
        self invalidateList.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   614
        ^  self
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   615
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   616
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   617
    changedObject == selectedMethodNameIndices ifTrue:[
5998
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   618
        newSelection := self selectedMethodNameIndices value collect:[:idx | methodList at:idx].
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   619
        newSelection ~= selection ifTrue:[
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   620
            selectionHolder value:newSelection.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   621
            lastSelectedMethods := newSelection.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   622
            lastSelectedMethods notNil ifTrue:[
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   623
                lastSelectedMethods := lastSelectedMethods asOrderedCollection
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   624
            ].
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   625
        ] ifFalse:[
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   626
            "/ a reselect - force update
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   627
"/            selection size == 1 ifTrue:[
5998
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   628
                selectionHolder setValue:newSelection.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   629
                selectionHolder changed:#value.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   630
"/            ].
5998
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   631
        ].
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   632
        ^ self 
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   633
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   634
    changedObject == selectionHolder ifTrue:[
5998
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   635
        self selectedMethodsChanged.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   636
        lastSelectedMethods := selectionHolder value.
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   637
        lastSelectedMethods notNil ifTrue:[
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   638
            lastSelectedMethods := lastSelectedMethods asOrderedCollection
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   639
        ].
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   640
        ^ self
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   641
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   642
"/    something == #methodTrap ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   643
"/self halt:'no longer'.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   644
"/^ self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   645
"/        (classes includesIdentical:changedObject) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   646
"/            newMethod := changedObject compiledMethodAt:aParameter.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   647
"/            newMethod isNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   648
"/                self invalidateList.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   649
"/                ^ self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   650
"/            ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   651
"/            newMethod isWrapped ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   652
"/                oldMethod := newMethod originalMethod
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   653
"/            ] ifFalse:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   654
"/                selection size > 0 ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   655
"/                    oldMethod := selection detect:[:each | each isWrapped and:[each originalMethod == newMethod]] ifNone:nil.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   656
"/                ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   657
"/            ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   658
"/
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   659
"/            selection size > 0 ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   660
"/                (selection includesIdentical:oldMethod) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   661
"/                    needSelectionChange := true.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   662
"/                ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   663
"/            ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   664
"/"/            methodList replaceAllIdentical:oldMethod with:newMethod.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   665
"/            lastSelectedMethods notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   666
"/                lastSelectedMethods replaceAllIdentical:oldMethod with:newMethod
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   667
"/            ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   668
"/            selection size > 0 ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   669
"/                selection := selection asOrderedCollection.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   670
"/                selection replaceAllIdentical:oldMethod with:newMethod.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   671
"/            ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   672
"/            needSelectionChange == true ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   673
"/                selectionHolder changed.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   674
"/            ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   675
"/            self invalidateList.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   676
"/            ^ self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   677
"/        ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   678
"/        ^ self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   679
"/    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   680
    super delayedUpdate:something with:aParameter from:changedObject
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   681
6846
b7d2d17e4ae5 testresult indicators
Claus Gittinger <cg@exept.de>
parents: 6841
diff changeset
   682
    "Created: / 05-02-2000 / 13:42:14 / cg"
10376
8a61751a59fa method entry updating fixed (it is updated whenever a method is changed)
vrany
parents: 10363
diff changeset
   683
    "Modified: / 22-07-2011 / 18:12:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11557
2b871152c1ec changed:
Claus Gittinger <cg@exept.de>
parents: 11550
diff changeset
   684
    "Modified: / 05-06-2012 / 23:47:15 / cg"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   685
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   686
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   687
selectedMethodsChanged
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   688
    "the set of selected methods has changed;
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   689
     update the selection-index collection (for the selectionInListView)"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   690
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   691
    |indices methods reverseMap 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   692
     selectedMethodsHolder selectedMethods selectedMethodNameIndicesHolder|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   693
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   694
    methods := methodList ? #().
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   695
    methods size == 0 ifTrue:[
10388
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   696
        "/ this may happen during early startup, 
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   697
        "/ when invoked with a preset methodSelection,
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   698
        "/ and the methodGenerator has not yet been setup
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   699
        "/ to not clobber the selection, defer the update
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   700
        "/ until the methodList arrives ...
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   701
        ^ self
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   702
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   703
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   704
    selectedMethodsHolder := self selectedMethods.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   705
    selectedMethods := selectedMethodsHolder value.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   706
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   707
    "/ check if all is selected (likely)
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   708
    ((selectedMethods size == methodList size)
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   709
    and:[selectedMethods = methodList]) ifTrue:[
10388
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   710
        indices := (1 to:selectedMethods size)
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   711
    ] ifFalse:[
10388
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   712
        selectedMethods size > 100 ifTrue:[
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   713
            "/ check if all is selected (likely)
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   714
            ((selectedMethods size == methodList size)
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   715
            and:[selectedMethods = methodList]) ifTrue:[
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   716
                indices := (1 to:selectedMethods size)
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   717
            ] ifFalse:[
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   718
                "/ for big collections, generate a reverse map
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   719
                reverseMap := IdentityDictionary new.
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   720
                methods keysAndValuesDo:[:idx :mthd | reverseMap at:mthd put:idx].
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   721
                indices := selectedMethods collect:[:eachSelectedMethod |
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   722
                    reverseMap at:eachSelectedMethod ifAbsent:0
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   723
                ]
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   724
            ]
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   725
        ] ifFalse:[
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   726
            indices := (selectedMethods ? #()) collect:[:eachSelectedMethod |
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   727
                methods identityIndexOf:eachSelectedMethod.
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   728
            ]
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   729
        ].
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   730
        indices := indices select:[:idx | idx ~= 0].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   731
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   732
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   733
    selectedMethodNameIndicesHolder := self selectedMethodNameIndices.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   734
    selectedMethodNameIndicesHolder value ~= indices ifTrue:[
10388
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   735
        selectedMethodNameIndicesHolder value:indices.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   736
    ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   737
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   738
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   739
selectionChanged
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   740
    |methods|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   741
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   742
    methods := ((self selectedMethodNameIndices value) ? #()) collect:[:idx | methodList at:idx].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   743
    methods notEmpty ifTrue:[
10388
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   744
        lastSelectedMethods := methods asOrderedCollection.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   745
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   746
    "/ to allow reselect, change my valueHolder, even if the same collection
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   747
"/    self selectedMethods value ~= methods ifTrue:[
10388
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   748
        self selectedMethods value:methods
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   749
"/    ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   750
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   751
    "Created: / 5.2.2000 / 13:42:14 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   752
    "Modified: / 5.2.2000 / 23:32:20 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   753
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   754
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   755
selectionChangedByClick
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   756
    "we are not interested in that - get another notification
12541
f2e96c5e6d41 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12535
diff changeset
   757
     via the changed valueHolder "
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   758
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   759
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   760
update:something with:aParameter from:changedObject
12554
79d13f7b87c0 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12541
diff changeset
   761
    |cls clsName sel mthd mustFlushInheritanceInfo|
12047
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
   762
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
   763
    mustFlushInheritanceInfo := true.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   764
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   765
    "/ some can be ignored immediately
13498
b8d845e42988 Added `environment` instance variable to Tools__NewSystemBrowser and
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13384
diff changeset
   766
    changedObject == environment ifTrue:[
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   767
        classes isNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   768
            ^ self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   769
        ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   770
        something isNil ifTrue:[
13498
b8d845e42988 Added `environment` instance variable to Tools__NewSystemBrowser and
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13384
diff changeset
   771
            "/ self halt "/ huh - environment changed - so what ?
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   772
            ^ self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   773
        ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   774
        something == #classComment ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   775
            ^ self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   776
        ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   777
        something == #classVariables ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   778
            ^ self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   779
        ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   780
        something == #organization ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   781
            ^ self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   782
        ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   783
        something == #methodCategory ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   784
            "/ ignore here - methodCategoryList will tell me if required
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   785
            ^ self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   786
        ].
6663
1453d4f33815 changed change-update aspect when changing some method category
Claus Gittinger <cg@exept.de>
parents: 6575
diff changeset
   787
        (something == #classOrganization
1453d4f33815 changed change-update aspect when changing some method category
Claus Gittinger <cg@exept.de>
parents: 6575
diff changeset
   788
        or:[ something == #methodCategoryAdded
1453d4f33815 changed change-update aspect when changing some method category
Claus Gittinger <cg@exept.de>
parents: 6575
diff changeset
   789
        or:[ something == #methodCategoryRemoved
1453d4f33815 changed change-update aspect when changing some method category
Claus Gittinger <cg@exept.de>
parents: 6575
diff changeset
   790
        or:[ something == #methodCategoriesRemoved
1453d4f33815 changed change-update aspect when changing some method category
Claus Gittinger <cg@exept.de>
parents: 6575
diff changeset
   791
        or:[ something == #methodCategoryRenamed ]]]]) ifTrue:[
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   792
            "/ ignore here - methodCategoryList will tell me if required
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   793
            ^ self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   794
        ].
10357
b3239032903c more coverage info
Claus Gittinger <cg@exept.de>
parents: 10298
diff changeset
   795
b3239032903c more coverage info
Claus Gittinger <cg@exept.de>
parents: 10298
diff changeset
   796
        something == #methodCoverageInfo ifTrue:[
b3239032903c more coverage info
Claus Gittinger <cg@exept.de>
parents: 10298
diff changeset
   797
            self showCoverageInformation value ifFalse:[^ self].
b3239032903c more coverage info
Claus Gittinger <cg@exept.de>
parents: 10298
diff changeset
   798
            mthd := aParameter.
b3239032903c more coverage info
Claus Gittinger <cg@exept.de>
parents: 10298
diff changeset
   799
            (classes notNil and:[classes includesIdentical:mthd mclass]) ifFalse:[
11851
8184ad4d5930 changed: #update:with:from:
Claus Gittinger <cg@exept.de>
parents: 11639
diff changeset
   800
                ^ self   "/ I don't care for that class
10357
b3239032903c more coverage info
Claus Gittinger <cg@exept.de>
parents: 10298
diff changeset
   801
            ].
12047
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
   802
            mustFlushInheritanceInfo := false.    
10357
b3239032903c more coverage info
Claus Gittinger <cg@exept.de>
parents: 10298
diff changeset
   803
        ].
b3239032903c more coverage info
Claus Gittinger <cg@exept.de>
parents: 10298
diff changeset
   804
5998
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   805
        (something == #methodTrap 
6846
b7d2d17e4ae5 testresult indicators
Claus Gittinger <cg@exept.de>
parents: 6841
diff changeset
   806
        or:[ something == #methodPrivacy
b7d2d17e4ae5 testresult indicators
Claus Gittinger <cg@exept.de>
parents: 6841
diff changeset
   807
        or:[ something == #lastTestRunResult] ]) ifTrue:[
5998
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   808
            self window shown ifFalse:[
10861
253c00821956 changed:
vrany
parents: 10674
diff changeset
   809
                "JV@2011-11-17: Do not break the dependency here,
253c00821956 changed:
vrany
parents: 10674
diff changeset
   810
                 because then the window won't get updates once
12505
4aa49cb74a22 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12091
diff changeset
   811
                 deiconified -> leads to confusing behavior
4aa49cb74a22 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12091
diff changeset
   812
                 (browser shows obsolete info)"
10861
253c00821956 changed:
vrany
parents: 10674
diff changeset
   813
                "/changedObject removeDependent:self. "/ ?????
13384
f58933f62cf9 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 13058
diff changeset
   814
                listValid := false.
f58933f62cf9 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 13058
diff changeset
   815
                "/ self invalidateList.
5998
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   816
                ^ self
6e40a20b361a icons & privacy update
Claus Gittinger <cg@exept.de>
parents: 5885
diff changeset
   817
            ].
12541
f2e96c5e6d41 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12535
diff changeset
   818
            cls := aParameter at:1.
12505
4aa49cb74a22 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12091
diff changeset
   819
            sel := aParameter at:2.
4aa49cb74a22 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12091
diff changeset
   820
            mthd := cls compiledMethodAt:sel.
12649
d10969f7655a class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12647
diff changeset
   821
            (mthd notNil and:[mthd isWrapped or:[mthd isMethodWithBreakpoints]]) ifTrue:[
12505
4aa49cb74a22 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12091
diff changeset
   822
                (methodList includes:mthd originalMethod) ifTrue:[
4aa49cb74a22 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12091
diff changeset
   823
                    methodList replaceAll:mthd originalMethod with:mthd.
12673
cfeafdc3f22d class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12649
diff changeset
   824
                    lastSelectedMethods notNil ifTrue:[
cfeafdc3f22d class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12649
diff changeset
   825
                        lastSelectedMethods replaceAll:mthd originalMethod with:mthd.
cfeafdc3f22d class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12649
diff changeset
   826
                    ].
12505
4aa49cb74a22 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12091
diff changeset
   827
                ]
4aa49cb74a22 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12091
diff changeset
   828
            ].
12047
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
   829
            mustFlushInheritanceInfo := false.    
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
   830
        ].
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
   831
        something == #newClass ifTrue:[
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
   832
            ^ self.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   833
        ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   834
12047
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
   835
        (something == #methodInClass 
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
   836
        or:[ something == #methodInClassRemoved ]) ifTrue:[
12530
41e431093ed3 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12505
diff changeset
   837
            cls := aParameter first.
12554
79d13f7b87c0 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12541
diff changeset
   838
            clsName := cls name.    
79d13f7b87c0 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12541
diff changeset
   839
            (classes contains:[:aClass | aClass name = clsName]) ifFalse:[
12530
41e431093ed3 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12505
diff changeset
   840
                ^ self   "/ I dont care for that class
41e431093ed3 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12505
diff changeset
   841
            ].
12554
79d13f7b87c0 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12541
diff changeset
   842
            sel := aParameter second.
12091
98485deb39c2 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12052
diff changeset
   843
            (methodList contains:[:mthd | mthd getMclass notNil and:[mthd selector = sel]]) ifFalse:[
12047
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
   844
                mustFlushInheritanceInfo := false.
12091
98485deb39c2 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12052
diff changeset
   845
                self window topView hasFocus ifFalse:[
98485deb39c2 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12052
diff changeset
   846
                    self enqueueDelayedUpdate:something with:aParameter from:changedObject.
98485deb39c2 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12052
diff changeset
   847
                    ^ self.
98485deb39c2 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12052
diff changeset
   848
                ].
12047
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
   849
            ].
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
   850
        ].
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
   851
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
   852
        mustFlushInheritanceInfo ifTrue:[
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
   853
            "/ as the organisation changes, flush my remembered redefinition-cache-info
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
   854
            classAndSelectorsRedefinedBySubclassesOfClass := nil.
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
   855
        ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   856
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   857
        something == #classDefinition ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   858
            cls := aParameter.
12554
79d13f7b87c0 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12541
diff changeset
   859
            clsName := cls name.    
79d13f7b87c0 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12541
diff changeset
   860
            (classes contains:[:aClass | aClass name = clsName]) ifFalse:[
79d13f7b87c0 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12541
diff changeset
   861
                ^ self   "/ I don't care for that class
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   862
            ].
10388
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
   863
            self enqueueDelayedUpdate:something with:aParameter from:changedObject.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   864
            ^ self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   865
        ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   866
        something == #classRemove ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   867
            ^ self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   868
        ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   869
        something == #classRename ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   870
            ^ self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   871
        ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   872
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   873
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   874
    "/ these must lead to immediate update of the selectedMethods collection
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   875
    "/ (otherwise, that collection might be updated too late, leading to
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   876
    "/ an obsolete methods code being shown by the codeView.
11851
8184ad4d5930 changed: #update:with:from:
Claus Gittinger <cg@exept.de>
parents: 11639
diff changeset
   877
    (something == #methodInClass 
8184ad4d5930 changed: #update:with:from:
Claus Gittinger <cg@exept.de>
parents: 11639
diff changeset
   878
    or:[ something == #methodCoverageInfo ]) ifTrue:[
6846
b7d2d17e4ae5 testresult indicators
Claus Gittinger <cg@exept.de>
parents: 6841
diff changeset
   879
        "/ as the organisation changes, flush my remembered redefinition-cache-info
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   880
        classAndSelectorsRedefinedBySubclassesOfClass := nil.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   881
        cls := aParameter at:1.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   882
        (classes includesIdentical:cls) ifFalse:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   883
            ^ self   "/ I dont care for that class
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   884
        ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   885
        self enqueueDelayedUpdate:something with:aParameter from:changedObject.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   886
        ^ self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   887
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   888
11851
8184ad4d5930 changed: #update:with:from:
Claus Gittinger <cg@exept.de>
parents: 11639
diff changeset
   889
    something == #coverageInfo ifTrue:[
8184ad4d5930 changed: #update:with:from:
Claus Gittinger <cg@exept.de>
parents: 11639
diff changeset
   890
        listValid == true ifTrue:[
8184ad4d5930 changed: #update:with:from:
Claus Gittinger <cg@exept.de>
parents: 11639
diff changeset
   891
            self enqueueDelayedUpdateList
8184ad4d5930 changed: #update:with:from:
Claus Gittinger <cg@exept.de>
parents: 11639
diff changeset
   892
        ].
8184ad4d5930 changed: #update:with:from:
Claus Gittinger <cg@exept.de>
parents: 11639
diff changeset
   893
        ^ self.
8184ad4d5930 changed: #update:with:from:
Claus Gittinger <cg@exept.de>
parents: 11639
diff changeset
   894
    ].
8184ad4d5930 changed: #update:with:from:
Claus Gittinger <cg@exept.de>
parents: 11639
diff changeset
   895
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   896
    something == #methodInClassRemoved ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   897
        cls := aParameter at:1.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   898
        (classes includesIdentical:cls) ifFalse:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   899
            ^ self   "/ I dont care for that class
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   900
        ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   901
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   902
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   903
    super update:something with:aParameter from:changedObject
6846
b7d2d17e4ae5 testresult indicators
Claus Gittinger <cg@exept.de>
parents: 6841
diff changeset
   904
10861
253c00821956 changed:
vrany
parents: 10674
diff changeset
   905
    "Modified: / 17-11-2011 / 19:22:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11557
2b871152c1ec changed:
Claus Gittinger <cg@exept.de>
parents: 11550
diff changeset
   906
    "Modified: / 05-06-2012 / 23:41:50 / cg"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   907
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   908
6774
ae9ed5b0b548 move method via drag and drop
Claus Gittinger <cg@exept.de>
parents: 6697
diff changeset
   909
!MethodList methodsFor:'drag & drop'!
ae9ed5b0b548 move method via drag and drop
Claus Gittinger <cg@exept.de>
parents: 6697
diff changeset
   910
ae9ed5b0b548 move method via drag and drop
Claus Gittinger <cg@exept.de>
parents: 6697
diff changeset
   911
canDropContext:aDropContext
ae9ed5b0b548 move method via drag and drop
Claus Gittinger <cg@exept.de>
parents: 6697
diff changeset
   912
    |methods|
ae9ed5b0b548 move method via drag and drop
Claus Gittinger <cg@exept.de>
parents: 6697
diff changeset
   913
ae9ed5b0b548 move method via drag and drop
Claus Gittinger <cg@exept.de>
parents: 6697
diff changeset
   914
    aDropContext sourceWidget == aDropContext targetWidget ifTrue:[^ false].
ae9ed5b0b548 move method via drag and drop
Claus Gittinger <cg@exept.de>
parents: 6697
diff changeset
   915
ae9ed5b0b548 move method via drag and drop
Claus Gittinger <cg@exept.de>
parents: 6697
diff changeset
   916
    methods := aDropContext dropObjects collect:[:obj | obj theObject].
7122
e672979a8111 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7057
diff changeset
   917
    (methods conform:[:aMethod | aMethod isMethod]) ifFalse:[^ false].
6774
ae9ed5b0b548 move method via drag and drop
Claus Gittinger <cg@exept.de>
parents: 6697
diff changeset
   918
ae9ed5b0b548 move method via drag and drop
Claus Gittinger <cg@exept.de>
parents: 6697
diff changeset
   919
    self masterApplication theSingleSelectedClass isNil ifTrue:[^ false].
ae9ed5b0b548 move method via drag and drop
Claus Gittinger <cg@exept.de>
parents: 6697
diff changeset
   920
    ^ true
7122
e672979a8111 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7057
diff changeset
   921
e672979a8111 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7057
diff changeset
   922
    "Modified: / 13-09-2006 / 11:43:54 / cg"
6774
ae9ed5b0b548 move method via drag and drop
Claus Gittinger <cg@exept.de>
parents: 6697
diff changeset
   923
!
ae9ed5b0b548 move method via drag and drop
Claus Gittinger <cg@exept.de>
parents: 6697
diff changeset
   924
ae9ed5b0b548 move method via drag and drop
Claus Gittinger <cg@exept.de>
parents: 6697
diff changeset
   925
doDropContext:aDropContext
8596
731b9e2442d9 better drop
Claus Gittinger <cg@exept.de>
parents: 8474
diff changeset
   926
    |methods browser|
6774
ae9ed5b0b548 move method via drag and drop
Claus Gittinger <cg@exept.de>
parents: 6697
diff changeset
   927
ae9ed5b0b548 move method via drag and drop
Claus Gittinger <cg@exept.de>
parents: 6697
diff changeset
   928
    methods := aDropContext dropObjects collect:[:aDropObject | aDropObject theObject].
7122
e672979a8111 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7057
diff changeset
   929
    (methods conform:[:something | something isMethod]) ifFalse:[^ self].
6774
ae9ed5b0b548 move method via drag and drop
Claus Gittinger <cg@exept.de>
parents: 6697
diff changeset
   930
8596
731b9e2442d9 better drop
Claus Gittinger <cg@exept.de>
parents: 8474
diff changeset
   931
    browser := self masterApplication.
731b9e2442d9 better drop
Claus Gittinger <cg@exept.de>
parents: 8474
diff changeset
   932
    aDropContext dragType == DropContext dragTypeCopy ifTrue:[
731b9e2442d9 better drop
Claus Gittinger <cg@exept.de>
parents: 8474
diff changeset
   933
        browser
731b9e2442d9 better drop
Claus Gittinger <cg@exept.de>
parents: 8474
diff changeset
   934
            copyMethods:methods 
731b9e2442d9 better drop
Claus Gittinger <cg@exept.de>
parents: 8474
diff changeset
   935
            toClass:(browser theSingleSelectedClass).
731b9e2442d9 better drop
Claus Gittinger <cg@exept.de>
parents: 8474
diff changeset
   936
    ] ifFalse:[
731b9e2442d9 better drop
Claus Gittinger <cg@exept.de>
parents: 8474
diff changeset
   937
        browser
731b9e2442d9 better drop
Claus Gittinger <cg@exept.de>
parents: 8474
diff changeset
   938
            moveMethods:methods 
731b9e2442d9 better drop
Claus Gittinger <cg@exept.de>
parents: 8474
diff changeset
   939
            toClass:(browser theSingleSelectedClass).
731b9e2442d9 better drop
Claus Gittinger <cg@exept.de>
parents: 8474
diff changeset
   940
    ].
7122
e672979a8111 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7057
diff changeset
   941
e672979a8111 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7057
diff changeset
   942
    "Modified: / 13-09-2006 / 11:43:44 / cg"
6774
ae9ed5b0b548 move method via drag and drop
Claus Gittinger <cg@exept.de>
parents: 6697
diff changeset
   943
! !
ae9ed5b0b548 move method via drag and drop
Claus Gittinger <cg@exept.de>
parents: 6697
diff changeset
   944
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   945
!MethodList methodsFor:'private'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   946
10579
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   947
isMethodToBeShown:aMethod 
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   948
    "invoked, when we get a change for aMethod which was previously not
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   949
     in the list (for example, if I show a filtered list).
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   950
     Check if that single method is to be shown now.
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   951
     Used to speed up update for senders/string/implementors lists"
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   952
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   953
    |generator|
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   954
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   955
    generator := inGeneratorHolder value.
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   956
    generator isNil ifTrue:[
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   957
        ^ false
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   958
    ].
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   959
    
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   960
    "/ generator generates nil-selector entries
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   961
    "/ to pass multiple-class and multiple-protocol info
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   962
    
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   963
    generator do:[:cls :cat :sel :mthd | 
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   964
        mthd == aMethod ifTrue:[
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   965
            mthd isSynthetic ifFalse:[ 
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   966
                sel notNil ifTrue:[
11639
ae2097b7ee12 changed:
Claus Gittinger <cg@exept.de>
parents: 11557
diff changeset
   967
"/ cg: no longer filter those...
ae2097b7ee12 changed:
Claus Gittinger <cg@exept.de>
parents: 11557
diff changeset
   968
"/                    (packageFilter value isNil 
ae2097b7ee12 changed:
Claus Gittinger <cg@exept.de>
parents: 11557
diff changeset
   969
"/                    or:[ packageFilter value includes:mthd package ]) ifTrue:[
10579
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   970
                        ^ true
11639
ae2097b7ee12 changed:
Claus Gittinger <cg@exept.de>
parents: 11557
diff changeset
   971
"/                    ]
10579
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   972
                ]
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   973
            ].
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   974
            ^ false
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   975
        ]
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   976
    ].
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   977
    ^ false
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   978
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   979
    "Created: / 17-08-2011 / 15:03:34 / cg"
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   980
!
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
   981
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   982
listOfMethodNames
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
   983
    |methods entries selectorBag newNameList allClasses newClasses 
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
   984
     allCategories                 "allSelectors"
10674
351c90b0a00e changed: #listOfMethodNames
Claus Gittinger <cg@exept.de>
parents: 10640
diff changeset
   985
     generator doShowClass doShowClassFirst doShowCategory enforceClassAndProtocolInList 
351c90b0a00e changed: #listOfMethodNames
Claus Gittinger <cg@exept.de>
parents: 10640
diff changeset
   986
     theMethod sortByClass anyMethodToWatch mclass
12047
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
   987
     packageFilterValue nameListEntryForExtensions 
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
   988
     suppressInheritanceInfoNow startTime|
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
   989
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
   990
    suppressInheritanceInfoNow := (showMethodInheritance value ? true) not.
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
   991
    startTime := Timestamp now.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   992
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   993
    generator := inGeneratorHolder value.
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
   994
    generator isNil ifTrue:[
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
   995
        ^ #()
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
   996
    ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   997
    allClasses := IdentitySet new.
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
   998
    allCategories := IdentitySet new.
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
   999
    
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1000
    "/ allSelectors := Set new.
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1001
    
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1002
    newClasses := IdentitySet new.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1003
    selectorBag := Bag new.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1004
    entries := OrderedCollection new.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1005
    enforceClassAndProtocolInList := false.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1006
    anyMethodToWatch := false.
11639
ae2097b7ee12 changed:
Claus Gittinger <cg@exept.de>
parents: 11557
diff changeset
  1007
"/ no longer filter those
ae2097b7ee12 changed:
Claus Gittinger <cg@exept.de>
parents: 11557
diff changeset
  1008
"/    packageFilterValue := packageFilter value.
10674
351c90b0a00e changed: #listOfMethodNames
Claus Gittinger <cg@exept.de>
parents: 10640
diff changeset
  1009
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1010
    "/ generator generates nil-selector entries
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1011
    "/ to pass multiple-class and multiple-protocol info
11863
f23f5b920b3e changed:
Claus Gittinger <cg@exept.de>
parents: 11851
diff changeset
  1012
    nameListEntryForExtensions := self class nameListEntryForExtensions.
f23f5b920b3e changed:
Claus Gittinger <cg@exept.de>
parents: 11851
diff changeset
  1013
10674
351c90b0a00e changed: #listOfMethodNames
Claus Gittinger <cg@exept.de>
parents: 10640
diff changeset
  1014
    generator do:[:cls :cat :sel :mthd |
351c90b0a00e changed: #listOfMethodNames
Claus Gittinger <cg@exept.de>
parents: 10640
diff changeset
  1015
        |categoryIsExtensionsPseudoCategory|
351c90b0a00e changed: #listOfMethodNames
Claus Gittinger <cg@exept.de>
parents: 10640
diff changeset
  1016
11863
f23f5b920b3e changed:
Claus Gittinger <cg@exept.de>
parents: 11851
diff changeset
  1017
        categoryIsExtensionsPseudoCategory := (cat = nameListEntryForExtensions).
10674
351c90b0a00e changed: #listOfMethodNames
Claus Gittinger <cg@exept.de>
parents: 10640
diff changeset
  1018
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1019
        (cls isNil and:[ cat isNil and:[ sel isNil ] ]) ifTrue:[
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1020
            enforceClassAndProtocolInList := true
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1021
        ] ifFalse:[
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1022
            cls notNil ifTrue:[
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1023
                allClasses add:cls.
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1024
            ].
11863
f23f5b920b3e changed:
Claus Gittinger <cg@exept.de>
parents: 11851
diff changeset
  1025
"/            cat notNil ifTrue:[
f23f5b920b3e changed:
Claus Gittinger <cg@exept.de>
parents: 11851
diff changeset
  1026
"/                allCategories add:cat.
f23f5b920b3e changed:
Claus Gittinger <cg@exept.de>
parents: 11851
diff changeset
  1027
"/            ].
10674
351c90b0a00e changed: #listOfMethodNames
Claus Gittinger <cg@exept.de>
parents: 10640
diff changeset
  1028
            "/ JV: Filter method through package filter
351c90b0a00e changed: #listOfMethodNames
Claus Gittinger <cg@exept.de>
parents: 10640
diff changeset
  1029
            "/ but not, if it is an extension method and we are showing extensions
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1030
            (mthd notNil 
10674
351c90b0a00e changed: #listOfMethodNames
Claus Gittinger <cg@exept.de>
parents: 10640
diff changeset
  1031
                and:[ mthd isSynthetic not 
351c90b0a00e changed: #listOfMethodNames
Claus Gittinger <cg@exept.de>
parents: 10640
diff changeset
  1032
                and:[ sel notNil ]]
351c90b0a00e changed: #listOfMethodNames
Claus Gittinger <cg@exept.de>
parents: 10640
diff changeset
  1033
            ) ifTrue:[ 
351c90b0a00e changed: #listOfMethodNames
Claus Gittinger <cg@exept.de>
parents: 10640
diff changeset
  1034
                (packageFilterValue isNil 
351c90b0a00e changed: #listOfMethodNames
Claus Gittinger <cg@exept.de>
parents: 10640
diff changeset
  1035
                    or:[ (packageFilterValue includes:mthd package)
11914
0aee263d2bcd comment/format in: #listOfMethodNames
Claus Gittinger <cg@exept.de>
parents: 11876
diff changeset
  1036
                    or:[ categoryIsExtensionsPseudoCategory and:[ mthd isExtension] ]]
10674
351c90b0a00e changed: #listOfMethodNames
Claus Gittinger <cg@exept.de>
parents: 10640
diff changeset
  1037
                ) ifTrue:[
351c90b0a00e changed: #listOfMethodNames
Claus Gittinger <cg@exept.de>
parents: 10640
diff changeset
  1038
                    entries add:(Array with:cls with:sel with:mthd).
351c90b0a00e changed: #listOfMethodNames
Claus Gittinger <cg@exept.de>
parents: 10640
diff changeset
  1039
                    selectorBag add:sel.
351c90b0a00e changed: #listOfMethodNames
Claus Gittinger <cg@exept.de>
parents: 10640
diff changeset
  1040
                    newClasses add:cls.
351c90b0a00e changed: #listOfMethodNames
Claus Gittinger <cg@exept.de>
parents: 10640
diff changeset
  1041
                    
11863
f23f5b920b3e changed:
Claus Gittinger <cg@exept.de>
parents: 11851
diff changeset
  1042
                    allCategories add:mthd category.
10674
351c90b0a00e changed: #listOfMethodNames
Claus Gittinger <cg@exept.de>
parents: 10640
diff changeset
  1043
                    "/ allSelectors add:sel.
351c90b0a00e changed: #listOfMethodNames
Claus Gittinger <cg@exept.de>
parents: 10640
diff changeset
  1044
                ]
351c90b0a00e changed: #listOfMethodNames
Claus Gittinger <cg@exept.de>
parents: 10640
diff changeset
  1045
            ]
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1046
        ].
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1047
        (mthd notNil and:[ mthd isWrapped ]) ifTrue:[
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1048
            (mthd isTiming or:[ mthd isCounting or:[ mthd isCountingMemoryUsage ] ]) ifTrue:[
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1049
                anyMethodToWatch := true
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1050
            ]
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1051
        ].
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1052
    ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1053
    showMethodInheritance value ~~ false ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1054
        "/ collect redefinition information once (big speedup for #methodIsRedefinedbelow)
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1055
        classAndSelectorsRedefinedBySubclassesOfClass isNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1056
            classAndSelectorsRedefinedBySubclassesOfClass := IdentityDictionary new.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1057
        ].
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1058
        allClasses do:[:cls | 
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1059
            |d|
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1060
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1061
            d := classAndSelectorsRedefinedBySubclassesOfClass.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1062
            (d notNil and:[ (d includesKey:cls) not ]) ifTrue:[
8206
b500138740eb *** empty log message ***
fm
parents: 8198
diff changeset
  1063
                cls isLoaded ifTrue:[
b500138740eb *** empty log message ***
fm
parents: 8198
diff changeset
  1064
                    d at:cls put:(self setOfAllSelectorsImplementedBelow:cls)
b500138740eb *** empty log message ***
fm
parents: 8198
diff changeset
  1065
                ]
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1066
            ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1067
        ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1068
    ].
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1069
    
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1070
    "/ multiple classes must: add the className for some
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1071
    
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1072
    doShowClass := enforceClassAndProtocolInList or:[ allClasses size > 1 ].
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1073
    
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1074
    "/ multiple categories: must add the categorie for some
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1075
    
11863
f23f5b920b3e changed:
Claus Gittinger <cg@exept.de>
parents: 11851
diff changeset
  1076
    doShowCategory := enforceClassAndProtocolInList or:[ allCategories size > 1 ].
f23f5b920b3e changed:
Claus Gittinger <cg@exept.de>
parents: 11851
diff changeset
  1077
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1078
    doShowClassFirst := doShowClass.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1079
    doShowClassFirst := doShowClass and:[ sortBy value == #class ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1080
    sortBy value == false ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1081
        "/ do not sort
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1082
    ] ifFalse:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1083
        (doShowClass not and:[ sortBy value == #class ]) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1084
            "/ multiple classes must add the className for some
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1085
            "/ check, if doShowClass must be enforced
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1086
            entries do:[:entry | 
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1087
                |cls sel mthd s needClass|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1088
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1089
                cls := entry at:1.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1090
                sel := entry at:2.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1091
                mthd := entry at:3.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1092
                doShowClass ifFalse:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1093
                    doShowClass := (selectorBag occurrencesOf:sel) > 1
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1094
                ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1095
            ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1096
        ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1097
        sortByClass := doShowClass and:[ sortBy value == #class ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1098
        sortByClass ifTrue:[
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1099
            entries 
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1100
                sort:[:a :b | 
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1101
                    |nmA nmB clsNmA clsNmB nsNmA nsNmB|
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1102
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1103
                    clsNmA := (a at:1) name.
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1104
                    clsNmB := (b at:1) name.
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1105
                    clsNmA = clsNmB ifTrue:[
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1106
                        nmA := (a at:2) asSymbol selector.
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1107
                        nmB := (b at:2) asSymbol selector.
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1108
                        nmA = nmB ifTrue:[
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1109
                            nsNmA := (a at:3) nameSpaceName.
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1110
                            nsNmB := (b at:3) nameSpaceName.
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1111
                            nsNmA < nsNmB
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1112
                        ] ifFalse:[ nmA < nmB ]
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1113
                    ] ifFalse:[
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1114
                        clsNmA < clsNmB
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1115
                    ]
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1116
                ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1117
        ] ifFalse:[
7610
3f630d7a4a1a sort by category
Claus Gittinger <cg@exept.de>
parents: 7502
diff changeset
  1118
            sortBy value == #category ifTrue:[
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1119
                entries 
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1120
                    sort:[:a :b | 
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1121
                        |nmA nmB catA catB clsNmA clsNmB nsNmA nsNmB|
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1122
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1123
                        catA := (a at:3) category.
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1124
                        catB := (b at:3) category.
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1125
                        catA = catB ifTrue:[
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1126
                            nmA := (a at:2) asSymbol selector.
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1127
                            nmB := (b at:2) asSymbol selector.
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1128
                            nmA = nmB ifTrue:[
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1129
                                clsNmA := (a at:1) name.
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1130
                                clsNmB := (b at:1) name.
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1131
                                clsNmA = clsNmB ifTrue:[
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1132
                                    nsNmA := (a at:3) nameSpaceName.
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1133
                                    nsNmB := (b at:3) nameSpaceName.
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1134
                                    nsNmA < nsNmB
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1135
                                ] ifFalse:[
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1136
                                    clsNmA < clsNmB
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1137
                                ]
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1138
                            ] ifFalse:[ nmA < nmB ]
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1139
                        ] ifFalse:[
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1140
                            catA < catB
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1141
                        ]
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1142
                    ].
7610
3f630d7a4a1a sort by category
Claus Gittinger <cg@exept.de>
parents: 7502
diff changeset
  1143
            ] ifFalse:[
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1144
                entries 
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1145
                    sort:[:a :b | 
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1146
                        |nmA nmB clsNmA clsNmB nsNmA nsNmB|
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1147
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1148
                        nmA := (a at:2) asSymbol selector.
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1149
                        nmB := (b at:2) asSymbol selector.
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1150
                        nmA = nmB ifTrue:[
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1151
                            clsNmA := (a at:1) name.
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1152
                            clsNmB := (b at:1) name.
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1153
                            clsNmA = clsNmB ifTrue:[
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1154
                                nsNmA := (a at:3) nameSpaceName.
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1155
                                nsNmB := (b at:3) nameSpaceName.
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1156
                                nsNmA < nsNmB
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1157
                            ] ifFalse:[
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1158
                                clsNmA < clsNmB
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1159
                            ]
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1160
                        ] ifFalse:[ nmA < nmB ]
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1161
                    ].
7610
3f630d7a4a1a sort by category
Claus Gittinger <cg@exept.de>
parents: 7502
diff changeset
  1162
            ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1163
        ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1164
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1165
    methods := OrderedCollection new:(entries size).
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1166
    
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1167
    "/ first generate the new methodList, and see if it is different ...
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1168
    
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1169
    entries do:[:entry | 
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1170
        |sel mthd|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1171
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1172
        mthd := entry at:3.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1173
        methods add:mthd.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1174
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1175
    false "methodList = methods" "does not care for changed icons" ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1176
        "/ same list
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1177
        newNameList := self browserNameList.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1178
    ] ifFalse:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1179
        newNameList := OrderedCollection new:(entries size).
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1180
        
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1181
        "/ multiple classes must add the className for some
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1182
        
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1183
        entries do:[:entry | 
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1184
            |cls sel mthd s needClass|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1185
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1186
            cls := entry at:1.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1187
            sel := entry at:2.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1188
            mthd := entry at:3.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1189
            needClass := doShowClass.
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1190
            
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1191
"/        needClass ifFalse:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1192
"/            needClass := (selectorBag occurrencesOf:sel) > 1
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1193
"/        ].
12047
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1194
            (suppressInheritanceInfoNow not
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1195
            and:[ (Timestamp now deltaFrom:startTime) > 3 seconds ]) ifTrue:[
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1196
                suppressInheritanceInfoNow := true.
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1197
            ].
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1198
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1199
            s := self 
12047
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1200
                    listEntryForMethod:mthd
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1201
                    selector:sel
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1202
                    class:cls
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1203
                    showClass:needClass
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1204
                    showCategory:doShowCategory
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1205
                    classFirst:doShowClassFirst
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1206
                    suppressInheritanceInfo:suppressInheritanceInfoNow.
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1207
            
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1208
            newNameList add:s.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1209
        ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1210
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1211
    self makeIndependent.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1212
    classes := newClasses.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1213
    self makeDependent.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1214
    methodList := methods.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1215
    methods size == 1 ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1216
        theMethod := methods first.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1217
        mclass := theMethod mclass.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1218
        mclass isNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1219
            theMethod isWrapped ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1220
                theMethod := theMethod originalMethod.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1221
                mclass := theMethod mclass.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1222
            ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1223
        ].
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1224
        self methodLabelHolder value:(mclass isNil 
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1225
                    ifTrue:[ ('???' , ' ' , '???') ]
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1226
                    ifFalse:[ (mclass name , ' ' , theMethod selector) ])
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1227
    ].
12047
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1228
"/    anyMethodToWatch ifTrue:[
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1229
"/        self startWatchProcess.
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1230
"/    ] ifFalse:[
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1231
"/        self stopWatchProcess.
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1232
"/    ].
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1233
    
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1234
    "/ remember these, in case of an incremental (single method only)
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1235
    "/ update in the future.
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1236
    
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1237
    lastShowClass := doShowClass.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1238
    lastShowClassFirst := doShowClassFirst.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1239
    lastShowCategory := doShowCategory.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1240
    ^ newNameList.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1241
7610
3f630d7a4a1a sort by category
Claus Gittinger <cg@exept.de>
parents: 7502
diff changeset
  1242
    "Created: / 05-02-2000 / 22:43:40 / cg"
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1243
    "Modified: / 20-07-2010 / 11:21:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1244
    "Modified: / 24-08-2010 / 20:34:09 / Jan Vrany <enter your email here>"
11639
ae2097b7ee12 changed:
Claus Gittinger <cg@exept.de>
parents: 11557
diff changeset
  1245
    "Modified: / 20-07-2012 / 20:00:58 / cg"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1246
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1247
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1248
makeDependent
13498
b8d845e42988 Added `environment` instance variable to Tools__NewSystemBrowser and
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13384
diff changeset
  1249
    environment addDependent:self.
7502
a6cf14a9d385 preps for SmallTeam
Claus Gittinger <cg@exept.de>
parents: 7122
diff changeset
  1250
"/    ChangeSet addDependent:self.
a6cf14a9d385 preps for SmallTeam
Claus Gittinger <cg@exept.de>
parents: 7122
diff changeset
  1251
a6cf14a9d385 preps for SmallTeam
Claus Gittinger <cg@exept.de>
parents: 7122
diff changeset
  1252
    "Modified: / 10-11-2006 / 17:57:01 / cg"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1253
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1254
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1255
makeIndependent
13498
b8d845e42988 Added `environment` instance variable to Tools__NewSystemBrowser and
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13384
diff changeset
  1256
    environment removeDependent:self.
8218
01508d17559b dont forget to make independent
fm
parents: 8206
diff changeset
  1257
"/    ChangeSet removeDependent:self.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1258
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1259
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1260
method:mthd includesModsOfClassVariable:variablesToHighLight
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1261
    ^ self method:mthd includesRefsToVariable:variablesToHighLight askParserWith:#modifiedClassVars
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1262
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1263
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1264
method:mthd includesModsOfInstanceVariable:variablesToHighLight
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1265
    ^ self method:mthd includesRefsToVariable:variablesToHighLight askParserWith:#modifiedInstVars
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1266
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1267
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1268
method:mthd includesRefsToClassVariable:variablesToHighLight
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1269
    ^ self method:mthd includesRefsToVariable:variablesToHighLight askParserWith:#usedClassVars
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1270
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1271
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1272
method:mthd includesRefsToInstanceVariable:variablesToHighLight
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1273
    ^ self method:mthd includesRefsToVariable:variablesToHighLight askParserWith:#usedInstVars
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1274
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1275
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1276
method:mthd includesRefsToVariable:variablesToHighLight askParserWith:querySelector
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1277
    |cls src parser usedVars anyVarNameAccessable|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1278
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1279
    cls := mthd mclass.
5885
26dee2c80ea9 care for unbound methods
Claus Gittinger <cg@exept.de>
parents: 5761
diff changeset
  1280
    cls isNil ifTrue:[^ false].
26dee2c80ea9 care for unbound methods
Claus Gittinger <cg@exept.de>
parents: 5761
diff changeset
  1281
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1282
    anyVarNameAccessable := cls allInstVarNames includesAny:variablesToHighLight.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1283
    anyVarNameAccessable ifFalse:[
5885
26dee2c80ea9 care for unbound methods
Claus Gittinger <cg@exept.de>
parents: 5761
diff changeset
  1284
        anyVarNameAccessable := cls theNonMetaclass allClassVarNames includesAny:variablesToHighLight.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1285
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1286
    anyVarNameAccessable ifFalse:[
5885
26dee2c80ea9 care for unbound methods
Claus Gittinger <cg@exept.de>
parents: 5761
diff changeset
  1287
        "/ no need to parse
26dee2c80ea9 care for unbound methods
Claus Gittinger <cg@exept.de>
parents: 5761
diff changeset
  1288
        ^ false
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1289
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1290
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1291
    src := mthd source.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1292
    src notNil ifTrue:[
5885
26dee2c80ea9 care for unbound methods
Claus Gittinger <cg@exept.de>
parents: 5761
diff changeset
  1293
        "
26dee2c80ea9 care for unbound methods
Claus Gittinger <cg@exept.de>
parents: 5761
diff changeset
  1294
         before doing a slow parse, quickly scan the
26dee2c80ea9 care for unbound methods
Claus Gittinger <cg@exept.de>
parents: 5761
diff changeset
  1295
         methods source for the variables name ...
26dee2c80ea9 care for unbound methods
Claus Gittinger <cg@exept.de>
parents: 5761
diff changeset
  1296
        "
26dee2c80ea9 care for unbound methods
Claus Gittinger <cg@exept.de>
parents: 5761
diff changeset
  1297
        (variablesToHighLight contains:[:varName | (src findString:varName) ~~ 0]) ifTrue:[
26dee2c80ea9 care for unbound methods
Claus Gittinger <cg@exept.de>
parents: 5761
diff changeset
  1298
            parser := Parser
26dee2c80ea9 care for unbound methods
Claus Gittinger <cg@exept.de>
parents: 5761
diff changeset
  1299
                            parseMethod:src 
26dee2c80ea9 care for unbound methods
Claus Gittinger <cg@exept.de>
parents: 5761
diff changeset
  1300
                            in:cls 
26dee2c80ea9 care for unbound methods
Claus Gittinger <cg@exept.de>
parents: 5761
diff changeset
  1301
                            ignoreErrors:true 
26dee2c80ea9 care for unbound methods
Claus Gittinger <cg@exept.de>
parents: 5761
diff changeset
  1302
                            ignoreWarnings:true.
26dee2c80ea9 care for unbound methods
Claus Gittinger <cg@exept.de>
parents: 5761
diff changeset
  1303
            (parser notNil and:[parser ~~ #Error]) ifTrue:[
26dee2c80ea9 care for unbound methods
Claus Gittinger <cg@exept.de>
parents: 5761
diff changeset
  1304
                usedVars := parser perform:querySelector.
26dee2c80ea9 care for unbound methods
Claus Gittinger <cg@exept.de>
parents: 5761
diff changeset
  1305
                (usedVars includesAny:variablesToHighLight)
26dee2c80ea9 care for unbound methods
Claus Gittinger <cg@exept.de>
parents: 5761
diff changeset
  1306
                ifTrue:[
26dee2c80ea9 care for unbound methods
Claus Gittinger <cg@exept.de>
parents: 5761
diff changeset
  1307
                    ^  true
26dee2c80ea9 care for unbound methods
Claus Gittinger <cg@exept.de>
parents: 5761
diff changeset
  1308
                ]
26dee2c80ea9 care for unbound methods
Claus Gittinger <cg@exept.de>
parents: 5761
diff changeset
  1309
            ]
26dee2c80ea9 care for unbound methods
Claus Gittinger <cg@exept.de>
parents: 5761
diff changeset
  1310
        ]
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1311
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1312
    ^ false
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1313
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1314
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1315
methodIsInheritedFromAbove:aMethod
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1316
    |mClass|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1317
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1318
    mClass := aMethod mclass.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1319
    (mClass notNil and:[mClass superclass notNil]) ifTrue:[
6789
6e87cc2011a7 Do not use obsolete method
Stefan Vogel <sv@exept.de>
parents: 6774
diff changeset
  1320
        ^ (mClass superclass whichClassIncludesSelector:aMethod selector) notNil.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1321
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1322
    ^ false
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1323
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1324
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1325
methodIsRedefinedBelow:aMethod
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1326
    |mclass subClasses setOfRedefinedSelectors|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1327
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1328
    mclass := aMethod mclass.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1329
    mclass isNil ifTrue:[^ false].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1330
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1331
    "/ if possible, make use of info prepared by listOfMethodNames
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1332
    classAndSelectorsRedefinedBySubclassesOfClass notNil
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1333
    ifTrue:[
9004
fbd6a4c325f6 changed: #methodIsRedefinedBelow:
Claus Gittinger <cg@exept.de>
parents: 8644
diff changeset
  1334
        setOfRedefinedSelectors := classAndSelectorsRedefinedBySubclassesOfClass at:mclass ifAbsent:nil.
fbd6a4c325f6 changed: #methodIsRedefinedBelow:
Claus Gittinger <cg@exept.de>
parents: 8644
diff changeset
  1335
        setOfRedefinedSelectors notNil ifTrue:[
fbd6a4c325f6 changed: #methodIsRedefinedBelow:
Claus Gittinger <cg@exept.de>
parents: 8644
diff changeset
  1336
            ^ setOfRedefinedSelectors includes:aMethod selector
fbd6a4c325f6 changed: #methodIsRedefinedBelow:
Claus Gittinger <cg@exept.de>
parents: 8644
diff changeset
  1337
        ]
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1338
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1339
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1340
    lastMethodClass == mclass ifTrue:[
9004
fbd6a4c325f6 changed: #methodIsRedefinedBelow:
Claus Gittinger <cg@exept.de>
parents: 8644
diff changeset
  1341
        subClasses := lastMethodClassesSubclasses
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1342
    ] ifFalse:[
9004
fbd6a4c325f6 changed: #methodIsRedefinedBelow:
Claus Gittinger <cg@exept.de>
parents: 8644
diff changeset
  1343
        subClasses := aMethod mclass allSubclasses.
fbd6a4c325f6 changed: #methodIsRedefinedBelow:
Claus Gittinger <cg@exept.de>
parents: 8644
diff changeset
  1344
        lastMethodClassesSubclasses := subClasses.
fbd6a4c325f6 changed: #methodIsRedefinedBelow:
Claus Gittinger <cg@exept.de>
parents: 8644
diff changeset
  1345
        lastMethodClass := mclass.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1346
    ].
9004
fbd6a4c325f6 changed: #methodIsRedefinedBelow:
Claus Gittinger <cg@exept.de>
parents: 8644
diff changeset
  1347
    ^ subClasses contains:[:cls | cls includesSelector:aMethod selector].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1348
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1349
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1350
redefinedOrInheritedIconFor:aMethod
5761
b350e042dc9f Icons for subclassResponsibility and deprecated methods
Stefan Vogel <sv@exept.de>
parents: 5591
diff changeset
  1351
    |inherited redefined subclassResponsibility|
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1352
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1353
    inherited := self methodIsInheritedFromAbove:aMethod.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1354
    redefined := self methodIsRedefinedBelow:aMethod.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1355
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1356
    inherited ifTrue:[
5761
b350e042dc9f Icons for subclassResponsibility and deprecated methods
Stefan Vogel <sv@exept.de>
parents: 5591
diff changeset
  1357
        redefined ifTrue:[
b350e042dc9f Icons for subclassResponsibility and deprecated methods
Stefan Vogel <sv@exept.de>
parents: 5591
diff changeset
  1358
            ^ self methodInheritedFromAboveAndRedefinedBelowIcon.
b350e042dc9f Icons for subclassResponsibility and deprecated methods
Stefan Vogel <sv@exept.de>
parents: 5591
diff changeset
  1359
        ].
b350e042dc9f Icons for subclassResponsibility and deprecated methods
Stefan Vogel <sv@exept.de>
parents: 5591
diff changeset
  1360
        ^ self methodInheritedFromAboveIcon.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1361
    ].
5761
b350e042dc9f Icons for subclassResponsibility and deprecated methods
Stefan Vogel <sv@exept.de>
parents: 5591
diff changeset
  1362
b350e042dc9f Icons for subclassResponsibility and deprecated methods
Stefan Vogel <sv@exept.de>
parents: 5591
diff changeset
  1363
    subclassResponsibility := aMethod sends:#subclassResponsibility.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1364
    redefined ifTrue:[
5761
b350e042dc9f Icons for subclassResponsibility and deprecated methods
Stefan Vogel <sv@exept.de>
parents: 5591
diff changeset
  1365
        subclassResponsibility ifTrue:[
b350e042dc9f Icons for subclassResponsibility and deprecated methods
Stefan Vogel <sv@exept.de>
parents: 5591
diff changeset
  1366
            ^ self methodIsSubclassResponsibilityAndRedefinedBelowIcon.
b350e042dc9f Icons for subclassResponsibility and deprecated methods
Stefan Vogel <sv@exept.de>
parents: 5591
diff changeset
  1367
        ].
b350e042dc9f Icons for subclassResponsibility and deprecated methods
Stefan Vogel <sv@exept.de>
parents: 5591
diff changeset
  1368
        ^ self methodRedefinedBelowIcon.
b350e042dc9f Icons for subclassResponsibility and deprecated methods
Stefan Vogel <sv@exept.de>
parents: 5591
diff changeset
  1369
    ].
b350e042dc9f Icons for subclassResponsibility and deprecated methods
Stefan Vogel <sv@exept.de>
parents: 5591
diff changeset
  1370
    subclassResponsibility ifTrue:[
b350e042dc9f Icons for subclassResponsibility and deprecated methods
Stefan Vogel <sv@exept.de>
parents: 5591
diff changeset
  1371
        ^ self methodIsSubclassResponsibilityIcon.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1372
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1373
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1374
    ^ self methodEmptyInheritedIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1375
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1376
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1377
release
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1378
    super release.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1379
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1380
    filterClassVars removeDependent:self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1381
    selectedMethodNameIndices removeDependent:self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1382
    showMethodInheritance removeDependent:self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1383
    variableFilter removeDependent:self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1384
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1385
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1386
resourceIconForMethod:aMethod
6903
1fb966ff068c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6846
diff changeset
  1387
    ^ SystemBrowser resourceIconForMethod:aMethod
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1388
6903
1fb966ff068c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6846
diff changeset
  1389
    "Modified: / 17-08-2006 / 09:09:01 / cg"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1390
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1391
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1392
setOfAllSelectorsImplementedBelow:aClass
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1393
    |set|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1394
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1395
    set := IdentitySet new.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1396
    aClass allSubclassesDo:[:eachSubclass |
10388
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
  1397
        set addAll:(eachSubclass methodDictionary keys).
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1398
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1399
    ^ set
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1400
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1401
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1402
updateList
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1403
    |prevSelection newList newSelection newSelIdx reverseMap sameContents newListSize oldListSize
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1404
     prevClasses methodSet selectedMethodsHolder|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1405
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1406
    selectedMethodsHolder := self selectedMethods.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1407
    prevSelection := selectedMethodsHolder value ? #().
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1408
12567
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1409
    prevClasses := classes isNil ifTrue:[ #() ] ifFalse:[ classes copy ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1410
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1411
    oldListSize := self browserNameList size.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1412
12567
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1413
    self topApplication withWaitCursorDo:[
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1414
        newList := self listOfMethodNames.
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1415
    ].
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1416
    newListSize := newList size.
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1417
    sameContents := self updateListFor:newList.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1418
12567
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1419
    sameContents ifFalse:[
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1420
"/      self browserNameList value:newList.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1421
12567
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1422
        (prevSelection size == 0 
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1423
        and:[selectedMethodsHolder value size ~~ 0]) ifTrue:[
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1424
            "/ this happens during early startup time,
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1425
            "/ when the selection is already (pre-)set,
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1426
            "/ and the methodList is generated the first time
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1427
            "/ (i.e. when opened with preset selection
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1428
12567
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1429
            "/ do not clobber the selection in this case.
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1430
            prevSelection := selectedMethodsHolder value.
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1431
        ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1432
12567
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1433
        (methodList size == 0 or:[prevSelection size == 0]) ifTrue:[
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1434
            newSelection := #()
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1435
        ] ifFalse:[
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1436
            methodSet := methodList.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1437
12567
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1438
            "/ intersect is much faster with sets, if the number of items is large
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1439
            "/ however, only if its worth building the set ...
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1440
            (methodSet size + prevSelection size) > 35 ifTrue:[
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1441
                methodSet := methodSet asIdentitySet.
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1442
            ].
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1443
            newSelection := methodSet intersect:prevSelection.
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1444
        ].
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1445
        newSelection size > 0 ifTrue:[
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1446
            newSelection size > 100 ifTrue:[
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1447
                "/ need selection indices - might be expensive if done straight forward...
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1448
                reverseMap := IdentityDictionary new.
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1449
                methodList keysAndValuesDo:[:idx :mthd | reverseMap at:mthd put:idx].
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1450
                newSelIdx := newSelection collect:[:mthd | reverseMap at:mthd].
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1451
            ] ifFalse:[
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1452
                newSelIdx := newSelection collect:[:mthd | methodList identityIndexOf:mthd]
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1453
            ].
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1454
"/ self halt.
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1455
            "/ force change (for dependents)
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1456
            newSelIdx ~= selectedMethodNameIndices value ifTrue:[
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1457
                selectedMethodNameIndices value:newSelIdx.
7702
2d1ef9372f1f avoid useless redraw
Claus Gittinger <cg@exept.de>
parents: 7610
diff changeset
  1458
            ].
12567
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1459
        ] ifFalse:[
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1460
            lastSelectedMethods := selectedMethodsHolder value.
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1461
            lastSelectedMethods notNil ifTrue:[
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1462
                lastSelectedMethods := lastSelectedMethods asOrderedCollection
7702
2d1ef9372f1f avoid useless redraw
Claus Gittinger <cg@exept.de>
parents: 7610
diff changeset
  1463
            ].
12567
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1464
            selectedMethodNameIndices value size > 0 ifTrue:[
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1465
                selectedMethodNameIndices value:#().
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1466
            ]
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1467
        ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1468
12567
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1469
        newSelection ~= prevSelection ifTrue:[
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1470
            self selectionChanged.
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1471
        ]
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1472
    ] ifTrue:[
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1473
        "/ same list - but classes might have changed
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1474
        "/ that is the case, if the class selection has been changed,
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1475
        "/ to another class which has the same categories.
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1476
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1477
        (prevClasses ~= (classes ? IdentitySet new)) ifTrue:[
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1478
            (newListSize > 0 or:[oldListSize > 0]) ifTrue:[
7702
2d1ef9372f1f avoid useless redraw
Claus Gittinger <cg@exept.de>
parents: 7610
diff changeset
  1479
                self selectionChanged.
2d1ef9372f1f avoid useless redraw
Claus Gittinger <cg@exept.de>
parents: 7610
diff changeset
  1480
            ]
2d1ef9372f1f avoid useless redraw
Claus Gittinger <cg@exept.de>
parents: 7610
diff changeset
  1481
        ]
12567
9a6d91db7d07 class: Tools::MethodList
Stefan Vogel <sv@exept.de>
parents: 12554
diff changeset
  1482
    ]
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1483
7702
2d1ef9372f1f avoid useless redraw
Claus Gittinger <cg@exept.de>
parents: 7610
diff changeset
  1484
    "Modified: / 05-03-2007 / 16:07:24 / cg"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1485
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1486
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1487
updateListEntryFor:aMethod
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1488
    "update my list for a single method.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1489
     (used when a single methods package, code or whatever changes, and a full udpate
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1490
      would be too slow)"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1491
13058
2b8c4310424f class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12975
diff changeset
  1492
    |mthd s idx|
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1493
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1494
    idx := methodList identityIndexOf:aMethod.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1495
    idx == 0 ifTrue:[
6268
df63cb5277cc metrics display
Claus Gittinger <cg@exept.de>
parents: 6261
diff changeset
  1496
        aMethod isWrapped ifTrue:[
df63cb5277cc metrics display
Claus Gittinger <cg@exept.de>
parents: 6261
diff changeset
  1497
            idx := methodList identityIndexOf:aMethod originalMethod.
10549
1f387878f9c6 changed: #updateListEntryFor:
Claus Gittinger <cg@exept.de>
parents: 10388
diff changeset
  1498
            idx == 0 ifTrue:[
1f387878f9c6 changed: #updateListEntryFor:
Claus Gittinger <cg@exept.de>
parents: 10388
diff changeset
  1499
                "/ aMethod (wrapped) has changed its status, but is not in the list.
1f387878f9c6 changed: #updateListEntryFor:
Claus Gittinger <cg@exept.de>
parents: 10388
diff changeset
  1500
                ^ self.
1f387878f9c6 changed: #updateListEntryFor:
Claus Gittinger <cg@exept.de>
parents: 10388
diff changeset
  1501
            ].
6268
df63cb5277cc metrics display
Claus Gittinger <cg@exept.de>
parents: 6261
diff changeset
  1502
        ]
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1503
    ].
13058
2b8c4310424f class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12975
diff changeset
  1504
2b8c4310424f class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12975
diff changeset
  1505
    s := self 
2b8c4310424f class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12975
diff changeset
  1506
            listEntryForMethod:aMethod 
2b8c4310424f class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12975
diff changeset
  1507
            selector:aMethod selector 
2b8c4310424f class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12975
diff changeset
  1508
            class:aMethod mclass 
2b8c4310424f class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12975
diff changeset
  1509
            showClass:lastShowClass 
2b8c4310424f class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12975
diff changeset
  1510
            showCategory:lastShowCategory
2b8c4310424f class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12975
diff changeset
  1511
            classFirst:lastShowClassFirst
2b8c4310424f class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12975
diff changeset
  1512
            suppressInheritanceInfo:false.
2b8c4310424f class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12975
diff changeset
  1513
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1514
    idx == 0 ifTrue:[
10579
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
  1515
        "/ method was not previously shown; try to avoid a full update
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
  1516
        (self isMethodToBeShown:aMethod) ifTrue:[
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
  1517
            self invalidateList
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
  1518
        ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1519
    ] ifFalse:[
6268
df63cb5277cc metrics display
Claus Gittinger <cg@exept.de>
parents: 6261
diff changeset
  1520
        self browserNameList at:idx put:s.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1521
    ]
10549
1f387878f9c6 changed: #updateListEntryFor:
Claus Gittinger <cg@exept.de>
parents: 10388
diff changeset
  1522
10579
89bb79eaee8e added: #isMethodToBeShown:
Claus Gittinger <cg@exept.de>
parents: 10549
diff changeset
  1523
    "Modified: / 17-08-2011 / 15:05:02 / cg"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1524
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1525
6271
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1526
!MethodList methodsFor:'private-presentation'!
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1527
9451
79d033f585b9 added: #colorForCoverageInformationOfMethod:
Claus Gittinger <cg@exept.de>
parents: 9448
diff changeset
  1528
colorForCoverageInformationOfMethod:aMethod
9430
3b61a075fd04 coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9427
diff changeset
  1529
    aMethod isInstrumented ifFalse:[^ nil].
9448
f9258f99d465 changed: #emphasisForCoverageInformationOfMethod:
Claus Gittinger <cg@exept.de>
parents: 9438
diff changeset
  1530
    aMethod category = 'documentation' ifTrue:[^ nil].
9430
3b61a075fd04 coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9427
diff changeset
  1531
3b61a075fd04 coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9427
diff changeset
  1532
    aMethod hasBeenCalled ifTrue:[
3b61a075fd04 coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9427
diff changeset
  1533
        aMethod haveAllBlocksBeenExecuted ifTrue:[
9451
79d033f585b9 added: #colorForCoverageInformationOfMethod:
Claus Gittinger <cg@exept.de>
parents: 9448
diff changeset
  1534
            ^ UserPreferences current colorForInstrumentedFullyCoveredCode
9430
3b61a075fd04 coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9427
diff changeset
  1535
        ].
9451
79d033f585b9 added: #colorForCoverageInformationOfMethod:
Claus Gittinger <cg@exept.de>
parents: 9448
diff changeset
  1536
        ^ UserPreferences current colorForInstrumentedPartiallyCoveredCode
9430
3b61a075fd04 coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9427
diff changeset
  1537
    ].
9451
79d033f585b9 added: #colorForCoverageInformationOfMethod:
Claus Gittinger <cg@exept.de>
parents: 9448
diff changeset
  1538
    ^ UserPreferences current colorForInstrumentedNeverCalledCode
9430
3b61a075fd04 coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9427
diff changeset
  1539
9451
79d033f585b9 added: #colorForCoverageInformationOfMethod:
Claus Gittinger <cg@exept.de>
parents: 9448
diff changeset
  1540
    "Created: / 30-04-2010 / 11:53:38 / cg"
9430
3b61a075fd04 coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9427
diff changeset
  1541
!
3b61a075fd04 coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9427
diff changeset
  1542
6271
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1543
listEntryForMethod:aMethod selector:selector class:cls showClass:showClass showCategory:showCategory classFirst:showClassFirst
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1544
    "answer a method list entry 
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1545
     gimmics: 
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1546
        adding a little image to breakPointed methods,
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1547
        inheritance indicators,
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1548
        highlight accessors of variable"
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1549
12047
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1550
    ^ self
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1551
        listEntryForMethod:aMethod 
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1552
        selector:selector 
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1553
        class:cls 
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1554
        showClass:showClass showCategory:showCategory
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1555
        classFirst:showClassFirst
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1556
        suppressInheritanceInfo:false
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1557
!
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1558
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1559
listEntryForMethod:aMethod selector:selector class:cls showClass:showClass showCategory:showCategory classFirst:showClassFirst suppressInheritanceInfo:suppressInheritanceInfo
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1560
    "answer a method list entry 
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1561
     gimmics: 
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1562
        adding a little image to breakPointed methods,
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1563
        inheritance indicators,
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1564
        highlight accessors of variable"
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1565
12036
cfe7abc0d2c8 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 11914
diff changeset
  1566
    |s icn variablesToHighlight classVarsToHighLight 
9451
79d033f585b9 added: #colorForCoverageInformationOfMethod:
Claus Gittinger <cg@exept.de>
parents: 9448
diff changeset
  1567
     doHighLight doHighLightRed clr emp cat l redefIcon 
12052
58463261ce7f class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12048
diff changeset
  1568
     metrics complexity complexityString complexityIcon mark lastResultOrNil|
6271
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1569
9038
9b56d0b8c38e required missing protocol display
Claus Gittinger <cg@exept.de>
parents: 9004
diff changeset
  1570
    aMethod isNil ifTrue:[
9b56d0b8c38e required missing protocol display
Claus Gittinger <cg@exept.de>
parents: 9004
diff changeset
  1571
        "/ a non-existing (pseudo) method (such as required protocol)
9b56d0b8c38e required missing protocol display
Claus Gittinger <cg@exept.de>
parents: 9004
diff changeset
  1572
        ^ selector colorizeAllWith:Color red.
9b56d0b8c38e required missing protocol display
Claus Gittinger <cg@exept.de>
parents: 9004
diff changeset
  1573
    ].
9b56d0b8c38e required missing protocol display
Claus Gittinger <cg@exept.de>
parents: 9004
diff changeset
  1574
12036
cfe7abc0d2c8 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 11914
diff changeset
  1575
    showClassFirst ifTrue:[
12907
53aca0dc22d1 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12730
diff changeset
  1576
        s := aMethod printStringForBrowserWithSelector:(selector ? 'unbound') allBold inClass:cls.
12036
cfe7abc0d2c8 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 11914
diff changeset
  1577
        s := cls nameInBrowser , ' ' , s
8638
2283abcb54ff *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8637
diff changeset
  1578
    ] ifFalse:[
2283abcb54ff *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8637
diff changeset
  1579
        s := aMethod printStringForBrowserWithSelector:selector inClass:cls.
2283abcb54ff *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8637
diff changeset
  1580
    ].
6271
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1581
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1582
    "/
12505
4aa49cb74a22 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12091
diff changeset
  1583
    "/ wrap icons (i.e. break- or trace points on the method)
6271
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1584
    "/ have higher prio ...
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1585
    "/
9038
9b56d0b8c38e required missing protocol display
Claus Gittinger <cg@exept.de>
parents: 9004
diff changeset
  1586
    (aMethod notNil and:[aMethod isWrapped]) ifTrue:[
6271
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1587
        (s endsWith:' !!') ifTrue:[
12701
2fb888a69712 Changed usage of deprecated #copyWithoutLast: to #copyButLast:
Stefan Vogel <sv@exept.de>
parents: 12673
diff changeset
  1588
            s := s copyButLast:2
6271
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1589
        ].
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1590
        aMethod isBreakpointed ifTrue:[
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1591
            icn := self stopIcon
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1592
        ] ifFalse:[
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1593
            aMethod isTimed ifTrue:[
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1594
                icn := self timeIcon
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1595
            ] ifFalse:[
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1596
                icn := self traceIcon
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1597
            ]
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1598
        ].
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1599
    ].
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1600
12505
4aa49cb74a22 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12091
diff changeset
  1601
    "/
4aa49cb74a22 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12091
diff changeset
  1602
    "/ breakpoint icons (i.e. break- or trace points inside)
4aa49cb74a22 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12091
diff changeset
  1603
    "/
4aa49cb74a22 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12091
diff changeset
  1604
    icn isNil ifTrue:[
4aa49cb74a22 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12091
diff changeset
  1605
        (aMethod notNil and:[aMethod isMethodWithBreakpoints]) ifTrue:[
4aa49cb74a22 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12091
diff changeset
  1606
            icn := self breakPointedIcon
4aa49cb74a22 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12091
diff changeset
  1607
        ].
4aa49cb74a22 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12091
diff changeset
  1608
    ].
4aa49cb74a22 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12091
diff changeset
  1609
6271
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1610
    icn isNil ifTrue:[
8198
f4b0d497d1e6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8197
diff changeset
  1611
        self showImageResourceMethodsImages value ~~ false ifTrue:[
9252
ee7770f155ca changed: #listEntryForMethod:selector:class:showClass:showCategory:classFirst:
Claus Gittinger <cg@exept.de>
parents: 9038
diff changeset
  1612
            (aMethod hasImageResource) ifTrue:[
8474
301be082b20d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8218
diff changeset
  1613
                aMethod mclass isMeta ifTrue:[
301be082b20d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8218
diff changeset
  1614
                    icn := aMethod valueWithReceiver:nil arguments:nil .
8197
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
  1615
                ].
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
  1616
            ].
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
  1617
        ].
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
  1618
    ].
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
  1619
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
  1620
    icn isNil ifTrue:[
6271
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1621
        showMethodTypeIcon value ~~ false ifTrue:[
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1622
            icn := self resourceIconForMethod:aMethod.
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1623
        ].
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1624
        icn isNil ifTrue:[
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1625
            aMethod isProtected ifTrue:[
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1626
                icn := self protectedMethodIcon
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1627
            ] ifFalse:[
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1628
                aMethod isPrivate ifTrue:[
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1629
                    icn := self privateMethodIcon
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1630
                ] ifFalse:[
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1631
                    (aMethod isIgnored) ifTrue:[
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1632
                        icn := self ignoredMethodIcon
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1633
                    ] ifFalse:[
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1634
                        (aMethod isJavaMethod and:[aMethod isAbstract]) ifTrue:[
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1635
                            icn := self abstractMethodIcon
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1636
                        ]
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1637
                    ]
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1638
                ]
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1639
            ].
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1640
        ].
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1641
    ].
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1642
    icn isNil ifTrue:[
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1643
        (selector startsWith:'test') ifTrue:[
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1644
            ((cls isSubclassOf:TestCase) 
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1645
            and:[cls isAbstract not]) ifTrue:[
10861
253c00821956 changed:
vrany
parents: 10674
diff changeset
  1646
                "JV@2011-11-17: Show thumbs even if not all test were run"
12052
58463261ce7f class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12048
diff changeset
  1647
58463261ce7f class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12048
diff changeset
  1648
                lastResultOrNil := cls rememberedOutcomeFor:selector.
58463261ce7f class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12048
diff changeset
  1649
                lastResultOrNil notNil ifTrue:[
12632
1c4918897dab class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12567
diff changeset
  1650
                    |state|
1c4918897dab class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12567
diff changeset
  1651
1c4918897dab class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12567
diff changeset
  1652
                    state := lastResultOrNil result.
1c4918897dab class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12567
diff changeset
  1653
                    (state == TestResult statePass) ifTrue:[
12730
4c1ad9af9d2f class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12701
diff changeset
  1654
                        icn := ToolbarIconLibrary testCasePassedIcon
6271
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1655
                    ] ifFalse:[
12730
4c1ad9af9d2f class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12701
diff changeset
  1656
                        (state == TestResult stateError) ifTrue:[
4c1ad9af9d2f class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12701
diff changeset
  1657
                            icn := ToolbarIconLibrary testCaseErrorIcon
12632
1c4918897dab class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12567
diff changeset
  1658
                        ] ifFalse:[
12730
4c1ad9af9d2f class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12701
diff changeset
  1659
                            (state == TestResult stateFail) ifTrue:[
4c1ad9af9d2f class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12701
diff changeset
  1660
                                icn := ToolbarIconLibrary testCaseFailedIcon
4c1ad9af9d2f class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12701
diff changeset
  1661
                            ] ifFalse:[
4c1ad9af9d2f class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12701
diff changeset
  1662
                                icn := ToolbarIconLibrary testCaseSkippedIcon
4c1ad9af9d2f class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12701
diff changeset
  1663
                            ] 
12052
58463261ce7f class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12048
diff changeset
  1664
                        ] 
58463261ce7f class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12048
diff changeset
  1665
                    ]
58463261ce7f class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12048
diff changeset
  1666
                ].
6271
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1667
            ].
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1668
        ]
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1669
    ].
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1670
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1671
    showClass ifTrue:[
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1672
        showClassFirst ifFalse:[
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1673
            s := s , ' [' , cls name allBold , ']'.
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1674
        ]
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1675
    ].
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1676
    showCategory ifTrue:[
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1677
        cat := aMethod category.
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1678
        cat notNil ifTrue:[
11863
f23f5b920b3e changed:
Claus Gittinger <cg@exept.de>
parents: 11851
diff changeset
  1679
            s := s , ' {' , (cat "asText allItalic" colorizeAllWith:Color grey), '}'
6271
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1680
        ]
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1681
    ].
7502
a6cf14a9d385 preps for SmallTeam
Claus Gittinger <cg@exept.de>
parents: 7122
diff changeset
  1682
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1683
    self showCoverageInformation value ifTrue:[
9451
79d033f585b9 added: #colorForCoverageInformationOfMethod:
Claus Gittinger <cg@exept.de>
parents: 9448
diff changeset
  1684
        clr := self colorForCoverageInformationOfMethod:aMethod.
79d033f585b9 added: #colorForCoverageInformationOfMethod:
Claus Gittinger <cg@exept.de>
parents: 9448
diff changeset
  1685
        clr notNil ifTrue:[
79d033f585b9 added: #colorForCoverageInformationOfMethod:
Claus Gittinger <cg@exept.de>
parents: 9448
diff changeset
  1686
            s := self colorize:s with:(#color->clr).
9430
3b61a075fd04 coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9427
diff changeset
  1687
            "/ aMethod isInstrumented ifTrue:[
3b61a075fd04 coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9427
diff changeset
  1688
            "/     icn := self instrumentationIcon
3b61a075fd04 coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9427
diff changeset
  1689
            "/ ].
3b61a075fd04 coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9427
diff changeset
  1690
        ].
12975
9ffb402f0791 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12907
diff changeset
  1691
    ].
9ffb402f0791 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12907
diff changeset
  1692
    clr isNil ifTrue:[
9430
3b61a075fd04 coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9427
diff changeset
  1693
        (ChangeSet current includesChangeForClass:cls selector:selector) ifTrue:[
3b61a075fd04 coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9427
diff changeset
  1694
            mark := self class markForBeingInChangeList.
3b61a075fd04 coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9427
diff changeset
  1695
            "/ mark := self colorizeForChangedCode:mark.
3b61a075fd04 coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9427
diff changeset
  1696
            s := s , mark.
3b61a075fd04 coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9427
diff changeset
  1697
            "/ cg: I dont know why this was disabled - it is req'd to
3b61a075fd04 coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9427
diff changeset
  1698
            "/ see changed methods in a method list (implementors...)
3b61a075fd04 coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9427
diff changeset
  1699
            s := self colorizeForChangedCode:s.
3b61a075fd04 coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9427
diff changeset
  1700
        ].
3b61a075fd04 coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9427
diff changeset
  1701
        (SmallTeam notNil and:[SmallTeam includesChangeForClass:cls selector:selector]) ifTrue:[
3b61a075fd04 coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9427
diff changeset
  1702
            s := (self colorizeForChangedCodeInSmallTeam:'!! '),s
3b61a075fd04 coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9427
diff changeset
  1703
        ].
6841
6d72f92ed6cd mark changed methods with a '*'
Claus Gittinger <cg@exept.de>
parents: 6789
diff changeset
  1704
    ].
6271
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1705
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1706
    variablesToHighlight := variableFilter value.
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1707
    variablesToHighlight size > 0 ifTrue:[
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1708
        classVarsToHighLight := filterClassVars value.
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1709
        classVarsToHighLight ifTrue:[
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1710
            doHighLight := self method:aMethod includesRefsToClassVariable:variablesToHighlight.
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1711
            doHighLight ifTrue:[
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1712
                doHighLightRed := self method:aMethod includesModsOfClassVariable:variablesToHighlight.
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1713
            ].
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1714
        ] ifFalse:[
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1715
            doHighLight := self method:aMethod includesRefsToInstanceVariable:variablesToHighlight.
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1716
            doHighLight ifTrue:[
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1717
                doHighLightRed := self method:aMethod includesModsOfInstanceVariable:variablesToHighlight
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1718
            ]
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1719
        ].
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1720
        doHighLight ifTrue:[
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1721
            s := s allBold.
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1722
            doHighLightRed ifTrue:[
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1723
                emp := (UserPreferences current emphasisForWrittenVariable)
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1724
            ] ifFalse:[
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1725
                emp := (UserPreferences current emphasisForReadVariable)
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1726
            ].
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1727
            s := s emphasisAllAdd:emp
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1728
        ]
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1729
    ].
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1730
6694
a746318dd357 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6663
diff changeset
  1731
    (showMethodComplexity value == true 
6271
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1732
    and:[ OOM::MethodMetrics notNil ]) ifTrue:[
8197
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
  1733
        icn isNil ifTrue:[
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
  1734
                metrics := OOM::MethodMetrics forMethod:aMethod.
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
  1735
                complexity := metrics complexity ? 0.
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
  1736
                complexityIcon := OOM::MethodMetrics iconForComplexity:complexity.
6271
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1737
8197
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
  1738
                ShowComplexityValue == true ifTrue:[
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
  1739
                    complexityString := '{' , complexity printString , '}'.
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
  1740
                    s := complexityString , ' ' , s.
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
  1741
                ].
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
  1742
                "/ icn := icn ? complexityIcon.
3b1c5bd94fdd preps for showResourceImages
Claus Gittinger <cg@exept.de>
parents: 7994
diff changeset
  1743
                s := LabelAndIcon icon:complexityIcon string:s.
6271
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1744
        ].
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1745
    ].
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1746
12047
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1747
    (showMethodInheritance value ? true) ifTrue:[
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1748
        suppressInheritanceInfo ifTrue:[
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1749
            redefIcon := self methodEmptyInheritedIcon.
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1750
        ] ifFalse:[
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1751
            redefIcon := self redefinedOrInheritedIconFor:aMethod.
1e30b680fe27 suppress inheritance info after 3seconds
Claus Gittinger <cg@exept.de>
parents: 12036
diff changeset
  1752
        ].
6271
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1753
    ].
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1754
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1755
    (icn notNil or:[redefIcon notNil]) ifTrue:[
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1756
        "/eXept version
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1757
        "/l := LabelAndIcon icon:redefIcon string:s.
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1758
        "/l image:icn.
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1759
        "/JV:
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1760
        l := LabelAndIcon icon:icn string:s.
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1761
        l image:redefIcon.
11385
099b8067afcb changed: #listEntryForMethod:selector:class:showClass:showCategory:classFirst:
Claus Gittinger <cg@exept.de>
parents: 10861
diff changeset
  1762
        icn isNil ifTrue:[l offset: 13].
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1763
        l gap:1.
6271
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1764
        ^ l
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1765
    ].
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1766
    ^ s
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1767
6841
6d72f92ed6cd mark changed methods with a '*'
Claus Gittinger <cg@exept.de>
parents: 6789
diff changeset
  1768
    "Created: / 22-10-1996 / 19:51:00 / cg"
10257
bdc20c20c46c Merged with JV's branch
vrany
parents: 10228
diff changeset
  1769
    "Modified: / 15-08-2009 / 13:13:32 / Jan Vrany <vranyj1@fel.cvut.cz>"
10861
253c00821956 changed:
vrany
parents: 10674
diff changeset
  1770
    "Modified: / 17-11-2011 / 20:51:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11385
099b8067afcb changed: #listEntryForMethod:selector:class:showClass:showCategory:classFirst:
Claus Gittinger <cg@exept.de>
parents: 10861
diff changeset
  1771
    "Modified: / 07-03-2012 / 19:06:09 / cg"
6271
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1772
! !
e0e4d9873bc4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6268
diff changeset
  1773
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1774
!MethodList methodsFor:'private-watching'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1775
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1776
startWatchProcess
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1777
    updateProcess notNil ifTrue:[
10388
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
  1778
        ^ self
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1779
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1780
    updateProcess := [
10388
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
  1781
                        [true] whileTrue:[
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
  1782
                            Delay waitForSeconds:1.
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
  1783
                            self enqueueDelayedUpdateList
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
  1784
                        ]
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
  1785
                     ] fork.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1786
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1787
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1788
stopWatchProcess
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1789
    |p|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1790
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1791
    (p := updateProcess) notNil ifTrue:[
10388
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
  1792
        updateProcess := nil.
993bab7e261d changed:
Claus Gittinger <cg@exept.de>
parents: 10376
diff changeset
  1793
        p terminate
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1794
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1795
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1796
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1797
!MethodList methodsFor:'setup'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1798
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1799
postBuildWith:aBuilder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1800
    |methodListView|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1801
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1802
    super postBuildWith:aBuilder.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1803
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1804
    methodListView := aBuilder componentAt:'List'.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1805
    methodListView notNil ifTrue:[
6277
12cb8061330f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6272
diff changeset
  1806
        methodListView allowDrag:true.
12cb8061330f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6272
diff changeset
  1807
        methodListView dragObjectConverter:[:obj | 
12cb8061330f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6272
diff changeset
  1808
                                            |nm method idx|
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1809
6277
12cb8061330f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6272
diff changeset
  1810
                                            nm := obj theObject asString string string.
12cb8061330f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6272
diff changeset
  1811
                                            idx := browserNameList value findFirst:[:item | item string string = nm].
12cb8061330f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6272
diff changeset
  1812
                                            method := methodList value at:idx.
12cb8061330f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6272
diff changeset
  1813
                                            DropObject newMethod:method.
12cb8061330f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6272
diff changeset
  1814
                                         ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1815
    ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1816
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1817
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1818
!MethodList class methodsFor:'documentation'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1819
10363
df9241270a1b changed:
Claus Gittinger <cg@exept.de>
parents: 10357
diff changeset
  1820
version
13498
b8d845e42988 Added `environment` instance variable to Tools__NewSystemBrowser and
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13384
diff changeset
  1821
    ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodList.st,v 1.92 2013-09-05 10:46:11 vrany Exp $'
10363
df9241270a1b changed:
Claus Gittinger <cg@exept.de>
parents: 10357
diff changeset
  1822
!
df9241270a1b changed:
Claus Gittinger <cg@exept.de>
parents: 10357
diff changeset
  1823
9004
fbd6a4c325f6 changed: #methodIsRedefinedBelow:
Claus Gittinger <cg@exept.de>
parents: 8644
diff changeset
  1824
version_CVS
13498
b8d845e42988 Added `environment` instance variable to Tools__NewSystemBrowser and
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13384
diff changeset
  1825
    ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodList.st,v 1.92 2013-09-05 10:46:11 vrany Exp $'
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1826
! !
12505
4aa49cb74a22 class: Tools::MethodList
Claus Gittinger <cg@exept.de>
parents: 12091
diff changeset
  1827