Tools__MethodList.st
branchjv
changeset 12230 5568874ba4cf
parent 12229 5c129972b1fd
child 12231 f7912c671a04
--- a/Tools__MethodList.st	Fri Apr 13 14:15:47 2012 +0100
+++ b/Tools__MethodList.st	Fri Apr 13 19:16:04 2012 +0100
@@ -13,14 +13,14 @@
 
 "{ NameSpace: Tools }"
 
-Tools::BrowserList subclass:#MethodList
+BrowserList subclass:#MethodList
 	instanceVariableNames:'classes selectedMethodNameIndices methodList lastSelectedMethods
 		browserNameList variableFilter filterClassVars updateProcess
 		lastShowClass lastShowCategory lastShowClassFirst
 		showMethodInheritance lastMethodClass lastMethodClassesSubclasses
 		classAndSelectorsRedefinedBySubclassesOfClass showClass
 		showMethodComplexity showMethodTypeIcon
-		showImageResourceMethodsImages'
+		showImageResourceMethodsImages showSyntheticMethods'
 	classVariableNames:'ShowComplexityValue'
 	poolDictionaries:''
 	category:'Interface-Browsers-New'
@@ -176,8 +176,10 @@
         #sortBy
         #updateTrigger
         #variableFilter
+        #showSyntheticMethods
       ).
 
+    "Modified: / 13-04-2012 / 16:11:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !MethodList methodsFor:'aspects'!
@@ -315,6 +317,28 @@
     ].
 !
 
+showSyntheticMethods
+    showSyntheticMethods isNil ifTrue:[
+        showSyntheticMethods := false asValue.
+        showSyntheticMethods addDependent:self
+    ].
+    ^  showSyntheticMethods
+
+    "Created: / 13-04-2012 / 16:03:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+showSyntheticMethods:aValueHolder
+    showSyntheticMethods notNil ifTrue:[
+        showSyntheticMethods removeDependent:self
+    ].
+    showSyntheticMethods := aValueHolder.
+    showSyntheticMethods notNil ifTrue:[
+        showSyntheticMethods addDependent:self
+    ].
+
+    "Created: / 13-04-2012 / 16:03:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 variableFilter
     variableFilter isNil ifTrue:[
         variableFilter := nil asValue.
@@ -603,7 +627,8 @@
     (changedObject == variableFilter
     or:[changedObject == filterClassVars
     or:[changedObject == showMethodInheritance
-    or:[changedObject == showMethodComplexity]]]) ifTrue:[
+    or:[changedObject == showMethodComplexity
+    or:[changedObject == showSyntheticMethods]]]]) ifTrue:[
         self invalidateList.
         ^  self
     ].
@@ -675,7 +700,7 @@
 
     "Created: / 05-02-2000 / 13:42:14 / cg"
     "Modified: / 20-07-2011 / 18:56:23 / cg"
-    "Modified: / 22-07-2011 / 18:12:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 13-04-2012 / 16:04:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 selectedMethodsChanged
@@ -936,7 +961,7 @@
     
     generator do:[:cls :cat :sel :mthd | 
         mthd == aMethod ifTrue:[
-            mthd isSynthetic ifFalse:[ 
+            (mthd isSynthetic not or:[self showSyntheticMethods value]) ifTrue:[ 
                 sel notNil ifTrue:[
                     (packageFilter value isNil 
                     or:[ packageFilter value includes:mthd package ]) ifTrue:[
@@ -950,6 +975,7 @@
     ^ false
 
     "Created: / 17-08-2011 / 15:03:34 / cg"
+    "Modified: / 13-04-2012 / 17:57:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 listOfMethodNames
@@ -995,7 +1021,9 @@
             "/ JV: Filter method through package filter
             "/ but not, if it is an extension method and we are showing extensions
             (mthd notNil 
-                and:[ mthd isSynthetic not 
+                and:[ (mthd isSynthetic not or:[
+                    self showSyntheticMethods value
+                ])
                 and:[ sel notNil ]]
             ) ifTrue:[ 
                 (packageFilterValue isNil 
@@ -1209,9 +1237,9 @@
     ^ newNameList.
 
     "Created: / 05-02-2000 / 22:43:40 / cg"
-    "Modified: / 20-07-2010 / 11:21:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 24-08-2010 / 20:34:09 / Jan Vrany <enter your email here>"
     "Modified: / 07-09-2011 / 09:33:30 / cg"
+    "Modified: / 13-04-2012 / 17:55:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 makeDependent
@@ -1689,6 +1717,11 @@
         redefIcon := self redefinedOrInheritedIconFor:aMethod.
     ].
 
+    "JV@2012-04-13: Show all synthetic methods in gray"
+    aMethod isSynthetic ifTrue:[
+        s := s colorizeAllWith: Color gray.
+    ].
+
     (icn notNil or:[redefIcon notNil]) ifTrue:[
         "/eXept version
         "/l := LabelAndIcon icon:redefIcon string:s.
@@ -1704,8 +1737,8 @@
 
     "Created: / 22-10-1996 / 19:51:00 / cg"
     "Modified: / 15-08-2009 / 13:13:32 / Jan Vrany <vranyj1@fel.cvut.cz>"
-    "Modified: / 17-11-2011 / 20:51:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 07-03-2012 / 19:06:09 / cg"
+    "Modified: / 13-04-2012 / 18:17:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !MethodList methodsFor:'private-watching'!
@@ -1755,7 +1788,7 @@
 !MethodList class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodList.st,v 1.62 2012/03/07 18:06:39 cg Exp $'
+    ^ '$Id: Tools__MethodList.st 7979 2012-04-13 18:16:04Z vranyj1 $'
 !
 
 version_CVS
@@ -1763,5 +1796,5 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__MethodList.st 7978 2012-04-13 13:15:47Z vranyj1 $'
+    ^ '$Id: Tools__MethodList.st 7979 2012-04-13 18:16:04Z vranyj1 $'
 ! !