magnify method-icons to match the font size.
authorClaus Gittinger <cg@exept.de>
Mon, 27 Jul 1998 10:03:12 +0200
changeset 1747 c5bb7a2b0037
parent 1746 68a187e3f30f
child 1748 09dcf4b6b702
magnify method-icons to match the font size.
BrowserView.st
BrwsrView.st
--- a/BrowserView.st	Mon Jul 27 09:59:52 1998 +0200
+++ b/BrowserView.st	Mon Jul 27 10:03:12 1998 +0200
@@ -21,7 +21,7 @@
 		lastCategory lastModule lastPackage lastMethodMoveClass
 		namespaceList allNamespaces gotClassList classList selectorList
 		showAllNamespaces classInstVarsInVarList coloringProcess
-		codeModified autoSearchIgnoreCase'
+		codeModified autoSearchIgnoreCase icons'
 	classVariableNames:'CheckForInstancesWhenRemovingClasses RememberAspect DefaultIcon
 		StopIcon TraceIcon TimeIcon CanvasIcon MenuIcon ImageIcon
 		TabListIcon HierarchicalListIcon TableColumnsIcon HelpIcon
@@ -125,10 +125,15 @@
 !
 
 lowSpaceCleanup
-    DefaultIcon := StopIcon := TraceIcon := TimeIcon := nil
-
-    "Created: / 18.4.1996 / 16:46:40 / cg"
-    "Modified: / 25.10.1997 / 19:30:32 / cg"
+    DefaultIcon := StopIcon := TraceIcon := TimeIcon := nil.
+    CanvasIcon := MenuIcon := ImageIcon := TabListIcon := nil.
+    HierarchicalListIcon := TableColumnsIcon := HelpIcon := nil.
+
+    "
+     self lowSpaceCleanup
+    "
+
+    "Modified: / 26.7.1998 / 14:12:23 / cg"
 !
 
 preSnapshot
@@ -272,6 +277,7 @@
      the ImageEditor may not be able to read the specification."
 
     "
+     self imageIcon inspect
      ImageEditor openOnClass:self andSelector:#imageIcon
     "
 
@@ -279,7 +285,10 @@
 
     ^Icon
         constantNamed:#'BrowserView imageIcon'
-        ifAbsentPut:[(Depth4Image new) width: 13; height: 11; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@CPUUUUUUUP@EDUUTQUTHAQEUUDUU@@UUUUQDUP@EUUUDP%T@AUUUQBUU@@L3L3P#L0@CL3L4H3L@@3L3L3L3@@@@@@@@@@Db') ; colorMapFromArray:#[0 0 0 255 255 0 0 127 0 255 153 0 51 153 153 51 255 255 255 255 255 255 0 0 0 255 0 0 0 255 0 255 255 255 0 255 127 0 0 0 127 0 0 0 127 0 127 127]; mask:((Depth1Image new) width: 13; height: 11; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??#?>O?8??#?>O?8??#?>O?8??#?>@@a') ; yourself); yourself]!
+        ifAbsentPut:[(Depth8Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(8 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PHB@ HB@ HB@ HB@@@@@@DB@ HB@ HB@ HB@ @@@@@A@@@@@@@@@@@@@@D@@@@@@PLC@0LC@0LC@0LC@@@@@@DC@0LC@0LC@0LC@0@@@@@A@0LC@0LC@0LC@0L@@@@@@PLC@0LC@0LC@0LC@@@@@@DC@0LC@0LC@0LC@0@@@@@A@0LC@0LC@0LC@0L@@@@@@PLC@0LC@0LC@0LC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 0 0 0 174 218 230 255 255 255]; mask:((ImageMask new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@O?8??#?>O?8??#?>O?8??#?>O?8??#?>@@@@@@b') ; yourself); yourself]
+
+    "Modified: / 26.7.1998 / 21:30:55 / cg"
+!
 
 menuIcon
     "This resource specification was automatically generated
@@ -681,6 +690,9 @@
 
                     (something == #methodTrap
                     or:[something == #methodPrivacy]) ifTrue:[
+                        selector == currentSelector ifTrue:[
+                            currentMethod := actualClass compiledMethodAt:currentSelector.
+                        ].
                         ^ self.
                     ].
 
@@ -806,7 +818,7 @@
     ]
 
     "Created: / 4.1.1997 / 13:54:00 / cg"
-    "Modified: / 17.6.1998 / 16:54:43 / cg"
+    "Modified: / 26.7.1998 / 14:06:11 / cg"
 !
 
 refetchClass
@@ -10709,11 +10721,23 @@
 canvasIcon
     "answer an icon to mark canvas (windowSpec) methods"
 
-    CanvasIcon isNil ifTrue: [
-        CanvasIcon := self class canvasIcon onDevice: device.
-        CanvasIcon clearMaskedPixels
-    ].
-    ^CanvasIcon
+    icons isNil ifTrue:[icons := IdentityDictionary new].
+
+    ^ icons at:#canvas ifAbsentPut:[
+        |fh|
+
+        CanvasIcon isNil ifTrue: [
+            CanvasIcon := self class canvasIcon onDevice:Display.
+            CanvasIcon clearMaskedPixels.
+        ].
+        CanvasIcon height > (fh := SelectionInListView defaultFont heightOn:device) ifTrue:[
+            (CanvasIcon magnifiedBy:(fh / CanvasIcon height)) onDevice:device
+        ] ifFalse:[
+            CanvasIcon onDevice:device.
+        ].
+      ]
+
+    "Modified: / 26.7.1998 / 14:04:10 / cg"
 !
 
 commentEmphasis
@@ -10739,42 +10763,89 @@
 helpIcon
     "answer an icon to mark help spec methods"
 
-    HelpIcon isNil ifTrue: [
-        HelpIcon := self class helpIcon onDevice: device.
-        HelpIcon clearMaskedPixels
-    ].
-    ^HelpIcon
+    icons isNil ifTrue:[icons := IdentityDictionary new].
+
+    ^ icons at:#help ifAbsentPut:[
+        |fh|
+
+        HelpIcon isNil ifTrue: [
+            HelpIcon := self class helpIcon onDevice:Display.
+            HelpIcon clearMaskedPixels.
+        ].
+        HelpIcon height > (fh := SelectionInListView defaultFont heightOn:device) ifTrue:[
+            (HelpIcon magnifiedBy:(fh / HelpIcon height)) onDevice:device
+        ] ifFalse:[
+            HelpIcon onDevice:device.
+        ].
+      ]
+
+    "Modified: / 26.7.1998 / 14:03:50 / cg"
 !
 
 hierarchicalListIcon
     "answer an icon to mark hierarchicalList spec methods"
 
-    HierarchicalListIcon isNil ifTrue: [
-        HierarchicalListIcon := self class hierarchicalListIcon onDevice: device.
-        HierarchicalListIcon clearMaskedPixels
-    ].
-    ^HierarchicalListIcon
-   
+    icons isNil ifTrue:[icons := IdentityDictionary new].
+
+    ^ icons at:#hierarchicalList ifAbsentPut:[
+        |fh|
+
+        HierarchicalListIcon isNil ifTrue: [
+            HierarchicalListIcon := self class hierarchicalListIcon onDevice:Display.
+            HierarchicalListIcon clearMaskedPixels.
+        ].
+        HierarchicalListIcon height > (fh := SelectionInListView defaultFont heightOn:device) ifTrue:[
+            (HierarchicalListIcon magnifiedBy:(fh / ImageIcon height)) onDevice:device
+        ] ifFalse:[
+            HierarchicalListIcon onDevice:device.
+        ].
+      ]
+
+    "Modified: / 26.7.1998 / 14:03:31 / cg"
 !
 
 imageIcon
     "answer an icon to mark image spec methods"
 
-    ImageIcon isNil ifTrue: [
-        ImageIcon := self class imageIcon onDevice: device.
-        ImageIcon clearMaskedPixels
-    ].
-    ^ImageIcon
+    icons isNil ifTrue:[icons := IdentityDictionary new].
+
+    ^ icons at:#image ifAbsentPut:[
+        |fh|
+
+        ImageIcon isNil ifTrue: [
+            ImageIcon := self class imageIcon onDevice:Display.
+            ImageIcon clearMaskedPixels.
+        ].
+        ImageIcon height > (fh := SelectionInListView defaultFont heightOn:device) ifTrue:[
+            (ImageIcon magnifiedBy:(fh / ImageIcon height)) onDevice:device
+        ] ifFalse:[
+            ImageIcon onDevice:device.
+        ].
+      ]
+
+    "Modified: / 26.7.1998 / 14:02:58 / cg"
 !
 
 menuIcon
     "answer an icon to mark menu spec methods"
 
-    MenuIcon isNil ifTrue: [
-        MenuIcon := self class menuIcon onDevice: device.
-        MenuIcon clearMaskedPixels
-    ].
-    ^MenuIcon
+    icons isNil ifTrue:[icons := IdentityDictionary new].
+
+    ^ icons at:#menu ifAbsentPut:[
+        |fh|
+
+        MenuIcon isNil ifTrue: [
+            MenuIcon := self class menuIcon onDevice:Display.
+            MenuIcon clearMaskedPixels.
+        ].
+        MenuIcon height > (fh := SelectionInListView defaultFont heightOn:device) ifTrue:[
+            (MenuIcon magnifiedBy:(fh / MenuIcon height)) onDevice:device
+        ] ifFalse:[
+            MenuIcon onDevice:device.
+        ].
+      ]
+
+    "Modified: / 26.7.1998 / 14:02:40 / cg"
 !
 
 programMenuIcon
@@ -10789,51 +10860,111 @@
 stopIcon
     "answer an icon to mark breakPointed methods"
 
-    StopIcon isNil ifTrue: [
-        StopIcon := self class stopIcon onDevice: device.
-        StopIcon clearMaskedPixels
-    ].
-    ^StopIcon
+    icons isNil ifTrue:[icons := IdentityDictionary new].
+
+    ^ icons at:#stop ifAbsentPut:[
+        |fh|
+
+        StopIcon isNil ifTrue: [
+            StopIcon := self class stopIcon onDevice:Display.
+            StopIcon clearMaskedPixels.
+        ].
+        StopIcon height > (fh := SelectionInListView defaultFont heightOn:device) ifTrue:[
+            (StopIcon magnifiedBy:(fh / StopIcon height)) onDevice:device
+        ] ifFalse:[
+            StopIcon onDevice:device.
+        ].
+      ]
+
+    "Modified: / 26.7.1998 / 13:58:00 / cg"
 !
 
 tabListIcon
     "answer an icon to mark tabList spec methods"
 
-    TabListIcon isNil ifTrue: [
-        TabListIcon := self class tabListIcon onDevice: device.
-        TabListIcon clearMaskedPixels
-    ].
-    ^TabListIcon
+    icons isNil ifTrue:[icons := IdentityDictionary new].
+
+    ^ icons at:#tabList ifAbsentPut:[
+        |fh|
+
+        TabListIcon isNil ifTrue: [
+            TabListIcon := self class tabListIcon onDevice:Display.
+            TabListIcon clearMaskedPixels.
+        ].
+        TabListIcon height > (fh := SelectionInListView defaultFont heightOn:device) ifTrue:[
+            (TabListIcon magnifiedBy:(fh / TabListIcon height)) onDevice:device
+        ] ifFalse:[
+            TabListIcon onDevice:device.
+        ].
+      ]
+
+    "Modified: / 26.7.1998 / 14:02:11 / cg"
 !
 
 tableColumnsIcon
     "answer an icon to mark tableColumns spec methods"
 
-    TableColumnsIcon isNil ifTrue: [
-        TableColumnsIcon := self class tableColumnsIcon onDevice: device.
-        TableColumnsIcon clearMaskedPixels
-    ].
-    ^TableColumnsIcon
+    icons isNil ifTrue:[icons := IdentityDictionary new].
+
+    ^ icons at:#tableColumns ifAbsentPut:[
+        |fh|
+
+        TableColumnsIcon isNil ifTrue: [
+            TableColumnsIcon := self class tableColumnsIcon onDevice:Display.
+            TableColumnsIcon clearMaskedPixels.
+        ].
+        TableColumnsIcon height > (fh := SelectionInListView defaultFont heightOn:device) ifTrue:[
+            (TableColumnsIcon magnifiedBy:(fh / TableColumnsIcon height)) onDevice:device
+        ] ifFalse:[
+            TableColumnsIcon onDevice:device.
+        ].
+    ]
+
+    "Modified: / 26.7.1998 / 14:01:41 / cg"
 !
 
 timeIcon
     "answer an icon to mark timed methods"
 
-    TimeIcon isNil ifTrue: [
-        TimeIcon := self class timeIcon onDevice: device.
-        TimeIcon clearMaskedPixels
-    ].
-    ^TimeIcon
+    icons isNil ifTrue:[icons := IdentityDictionary new].
+
+    ^ icons at:#time ifAbsentPut:[
+        |fh|
+
+        TimeIcon isNil ifTrue: [
+            TimeIcon := self class timeIcon onDevice:Display.
+            TimeIcon clearMaskedPixels.
+        ].
+        TimeIcon height > (fh := SelectionInListView defaultFont heightOn:device) ifTrue:[
+            (TimeIcon magnifiedBy:(fh / TimeIcon height)) onDevice:device
+        ] ifFalse:[
+            TimeIcon onDevice:device.
+        ].
+      ]
+
+    "Modified: / 26.7.1998 / 14:00:34 / cg"
 !
 
 traceIcon
     "answer an icon to mark traced methods"
 
-    TraceIcon isNil ifTrue: [
-        TraceIcon := self class traceIcon onDevice: device.
-        TraceIcon clearMaskedPixels
-    ].
-    ^TraceIcon
+    icons isNil ifTrue:[icons := IdentityDictionary new].
+
+    ^ icons at:#trace ifAbsentPut:[
+        |fh|
+
+        TraceIcon isNil ifTrue: [
+            TraceIcon := self class traceIcon onDevice:Display.
+            TraceIcon clearMaskedPixels.
+        ].
+        TraceIcon height > (fh := SelectionInListView defaultFont heightOn:device) ifTrue:[
+            (TraceIcon magnifiedBy:(fh / TraceIcon height)) onDevice:device
+        ] ifFalse:[
+            TraceIcon onDevice:device.
+        ].
+      ]
+
+    "Modified: / 26.7.1998 / 14:01:02 / cg"
 ! !
 
 !BrowserView methodsFor:'syntax coloring'!
@@ -11815,6 +11946,6 @@
 !BrowserView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/BrowserView.st,v 1.430 1998-07-21 09:43:00 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/BrowserView.st,v 1.431 1998-07-27 08:03:12 cg Exp $'
 ! !
 BrowserView initialize!
--- a/BrwsrView.st	Mon Jul 27 09:59:52 1998 +0200
+++ b/BrwsrView.st	Mon Jul 27 10:03:12 1998 +0200
@@ -21,7 +21,7 @@
 		lastCategory lastModule lastPackage lastMethodMoveClass
 		namespaceList allNamespaces gotClassList classList selectorList
 		showAllNamespaces classInstVarsInVarList coloringProcess
-		codeModified autoSearchIgnoreCase'
+		codeModified autoSearchIgnoreCase icons'
 	classVariableNames:'CheckForInstancesWhenRemovingClasses RememberAspect DefaultIcon
 		StopIcon TraceIcon TimeIcon CanvasIcon MenuIcon ImageIcon
 		TabListIcon HierarchicalListIcon TableColumnsIcon HelpIcon
@@ -125,10 +125,15 @@
 !
 
 lowSpaceCleanup
-    DefaultIcon := StopIcon := TraceIcon := TimeIcon := nil
-
-    "Created: / 18.4.1996 / 16:46:40 / cg"
-    "Modified: / 25.10.1997 / 19:30:32 / cg"
+    DefaultIcon := StopIcon := TraceIcon := TimeIcon := nil.
+    CanvasIcon := MenuIcon := ImageIcon := TabListIcon := nil.
+    HierarchicalListIcon := TableColumnsIcon := HelpIcon := nil.
+
+    "
+     self lowSpaceCleanup
+    "
+
+    "Modified: / 26.7.1998 / 14:12:23 / cg"
 !
 
 preSnapshot
@@ -272,6 +277,7 @@
      the ImageEditor may not be able to read the specification."
 
     "
+     self imageIcon inspect
      ImageEditor openOnClass:self andSelector:#imageIcon
     "
 
@@ -279,7 +285,10 @@
 
     ^Icon
         constantNamed:#'BrowserView imageIcon'
-        ifAbsentPut:[(Depth4Image new) width: 13; height: 11; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@CPUUUUUUUP@EDUUTQUTHAQEUUDUU@@UUUUQDUP@EUUUDP%T@AUUUQBUU@@L3L3P#L0@CL3L4H3L@@3L3L3L3@@@@@@@@@@Db') ; colorMapFromArray:#[0 0 0 255 255 0 0 127 0 255 153 0 51 153 153 51 255 255 255 255 255 255 0 0 0 255 0 0 0 255 0 255 255 255 0 255 127 0 0 0 127 0 0 0 127 0 127 127]; mask:((Depth1Image new) width: 13; height: 11; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??#?>O?8??#?>O?8??#?>O?8??#?>@@a') ; yourself); yourself]!
+        ifAbsentPut:[(Depth8Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(8 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PHB@ HB@ HB@ HB@@@@@@DB@ HB@ HB@ HB@ @@@@@A@@@@@@@@@@@@@@D@@@@@@PLC@0LC@0LC@0LC@@@@@@DC@0LC@0LC@0LC@0@@@@@A@0LC@0LC@0LC@0L@@@@@@PLC@0LC@0LC@0LC@@@@@@DC@0LC@0LC@0LC@0@@@@@A@0LC@0LC@0LC@0L@@@@@@PLC@0LC@0LC@0LC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 0 0 0 174 218 230 255 255 255]; mask:((ImageMask new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@O?8??#?>O?8??#?>O?8??#?>O?8??#?>@@@@@@b') ; yourself); yourself]
+
+    "Modified: / 26.7.1998 / 21:30:55 / cg"
+!
 
 menuIcon
     "This resource specification was automatically generated
@@ -681,6 +690,9 @@
 
                     (something == #methodTrap
                     or:[something == #methodPrivacy]) ifTrue:[
+                        selector == currentSelector ifTrue:[
+                            currentMethod := actualClass compiledMethodAt:currentSelector.
+                        ].
                         ^ self.
                     ].
 
@@ -806,7 +818,7 @@
     ]
 
     "Created: / 4.1.1997 / 13:54:00 / cg"
-    "Modified: / 17.6.1998 / 16:54:43 / cg"
+    "Modified: / 26.7.1998 / 14:06:11 / cg"
 !
 
 refetchClass
@@ -10709,11 +10721,23 @@
 canvasIcon
     "answer an icon to mark canvas (windowSpec) methods"
 
-    CanvasIcon isNil ifTrue: [
-        CanvasIcon := self class canvasIcon onDevice: device.
-        CanvasIcon clearMaskedPixels
-    ].
-    ^CanvasIcon
+    icons isNil ifTrue:[icons := IdentityDictionary new].
+
+    ^ icons at:#canvas ifAbsentPut:[
+        |fh|
+
+        CanvasIcon isNil ifTrue: [
+            CanvasIcon := self class canvasIcon onDevice:Display.
+            CanvasIcon clearMaskedPixels.
+        ].
+        CanvasIcon height > (fh := SelectionInListView defaultFont heightOn:device) ifTrue:[
+            (CanvasIcon magnifiedBy:(fh / CanvasIcon height)) onDevice:device
+        ] ifFalse:[
+            CanvasIcon onDevice:device.
+        ].
+      ]
+
+    "Modified: / 26.7.1998 / 14:04:10 / cg"
 !
 
 commentEmphasis
@@ -10739,42 +10763,89 @@
 helpIcon
     "answer an icon to mark help spec methods"
 
-    HelpIcon isNil ifTrue: [
-        HelpIcon := self class helpIcon onDevice: device.
-        HelpIcon clearMaskedPixels
-    ].
-    ^HelpIcon
+    icons isNil ifTrue:[icons := IdentityDictionary new].
+
+    ^ icons at:#help ifAbsentPut:[
+        |fh|
+
+        HelpIcon isNil ifTrue: [
+            HelpIcon := self class helpIcon onDevice:Display.
+            HelpIcon clearMaskedPixels.
+        ].
+        HelpIcon height > (fh := SelectionInListView defaultFont heightOn:device) ifTrue:[
+            (HelpIcon magnifiedBy:(fh / HelpIcon height)) onDevice:device
+        ] ifFalse:[
+            HelpIcon onDevice:device.
+        ].
+      ]
+
+    "Modified: / 26.7.1998 / 14:03:50 / cg"
 !
 
 hierarchicalListIcon
     "answer an icon to mark hierarchicalList spec methods"
 
-    HierarchicalListIcon isNil ifTrue: [
-        HierarchicalListIcon := self class hierarchicalListIcon onDevice: device.
-        HierarchicalListIcon clearMaskedPixels
-    ].
-    ^HierarchicalListIcon
-   
+    icons isNil ifTrue:[icons := IdentityDictionary new].
+
+    ^ icons at:#hierarchicalList ifAbsentPut:[
+        |fh|
+
+        HierarchicalListIcon isNil ifTrue: [
+            HierarchicalListIcon := self class hierarchicalListIcon onDevice:Display.
+            HierarchicalListIcon clearMaskedPixels.
+        ].
+        HierarchicalListIcon height > (fh := SelectionInListView defaultFont heightOn:device) ifTrue:[
+            (HierarchicalListIcon magnifiedBy:(fh / ImageIcon height)) onDevice:device
+        ] ifFalse:[
+            HierarchicalListIcon onDevice:device.
+        ].
+      ]
+
+    "Modified: / 26.7.1998 / 14:03:31 / cg"
 !
 
 imageIcon
     "answer an icon to mark image spec methods"
 
-    ImageIcon isNil ifTrue: [
-        ImageIcon := self class imageIcon onDevice: device.
-        ImageIcon clearMaskedPixels
-    ].
-    ^ImageIcon
+    icons isNil ifTrue:[icons := IdentityDictionary new].
+
+    ^ icons at:#image ifAbsentPut:[
+        |fh|
+
+        ImageIcon isNil ifTrue: [
+            ImageIcon := self class imageIcon onDevice:Display.
+            ImageIcon clearMaskedPixels.
+        ].
+        ImageIcon height > (fh := SelectionInListView defaultFont heightOn:device) ifTrue:[
+            (ImageIcon magnifiedBy:(fh / ImageIcon height)) onDevice:device
+        ] ifFalse:[
+            ImageIcon onDevice:device.
+        ].
+      ]
+
+    "Modified: / 26.7.1998 / 14:02:58 / cg"
 !
 
 menuIcon
     "answer an icon to mark menu spec methods"
 
-    MenuIcon isNil ifTrue: [
-        MenuIcon := self class menuIcon onDevice: device.
-        MenuIcon clearMaskedPixels
-    ].
-    ^MenuIcon
+    icons isNil ifTrue:[icons := IdentityDictionary new].
+
+    ^ icons at:#menu ifAbsentPut:[
+        |fh|
+
+        MenuIcon isNil ifTrue: [
+            MenuIcon := self class menuIcon onDevice:Display.
+            MenuIcon clearMaskedPixels.
+        ].
+        MenuIcon height > (fh := SelectionInListView defaultFont heightOn:device) ifTrue:[
+            (MenuIcon magnifiedBy:(fh / MenuIcon height)) onDevice:device
+        ] ifFalse:[
+            MenuIcon onDevice:device.
+        ].
+      ]
+
+    "Modified: / 26.7.1998 / 14:02:40 / cg"
 !
 
 programMenuIcon
@@ -10789,51 +10860,111 @@
 stopIcon
     "answer an icon to mark breakPointed methods"
 
-    StopIcon isNil ifTrue: [
-        StopIcon := self class stopIcon onDevice: device.
-        StopIcon clearMaskedPixels
-    ].
-    ^StopIcon
+    icons isNil ifTrue:[icons := IdentityDictionary new].
+
+    ^ icons at:#stop ifAbsentPut:[
+        |fh|
+
+        StopIcon isNil ifTrue: [
+            StopIcon := self class stopIcon onDevice:Display.
+            StopIcon clearMaskedPixels.
+        ].
+        StopIcon height > (fh := SelectionInListView defaultFont heightOn:device) ifTrue:[
+            (StopIcon magnifiedBy:(fh / StopIcon height)) onDevice:device
+        ] ifFalse:[
+            StopIcon onDevice:device.
+        ].
+      ]
+
+    "Modified: / 26.7.1998 / 13:58:00 / cg"
 !
 
 tabListIcon
     "answer an icon to mark tabList spec methods"
 
-    TabListIcon isNil ifTrue: [
-        TabListIcon := self class tabListIcon onDevice: device.
-        TabListIcon clearMaskedPixels
-    ].
-    ^TabListIcon
+    icons isNil ifTrue:[icons := IdentityDictionary new].
+
+    ^ icons at:#tabList ifAbsentPut:[
+        |fh|
+
+        TabListIcon isNil ifTrue: [
+            TabListIcon := self class tabListIcon onDevice:Display.
+            TabListIcon clearMaskedPixels.
+        ].
+        TabListIcon height > (fh := SelectionInListView defaultFont heightOn:device) ifTrue:[
+            (TabListIcon magnifiedBy:(fh / TabListIcon height)) onDevice:device
+        ] ifFalse:[
+            TabListIcon onDevice:device.
+        ].
+      ]
+
+    "Modified: / 26.7.1998 / 14:02:11 / cg"
 !
 
 tableColumnsIcon
     "answer an icon to mark tableColumns spec methods"
 
-    TableColumnsIcon isNil ifTrue: [
-        TableColumnsIcon := self class tableColumnsIcon onDevice: device.
-        TableColumnsIcon clearMaskedPixels
-    ].
-    ^TableColumnsIcon
+    icons isNil ifTrue:[icons := IdentityDictionary new].
+
+    ^ icons at:#tableColumns ifAbsentPut:[
+        |fh|
+
+        TableColumnsIcon isNil ifTrue: [
+            TableColumnsIcon := self class tableColumnsIcon onDevice:Display.
+            TableColumnsIcon clearMaskedPixels.
+        ].
+        TableColumnsIcon height > (fh := SelectionInListView defaultFont heightOn:device) ifTrue:[
+            (TableColumnsIcon magnifiedBy:(fh / TableColumnsIcon height)) onDevice:device
+        ] ifFalse:[
+            TableColumnsIcon onDevice:device.
+        ].
+    ]
+
+    "Modified: / 26.7.1998 / 14:01:41 / cg"
 !
 
 timeIcon
     "answer an icon to mark timed methods"
 
-    TimeIcon isNil ifTrue: [
-        TimeIcon := self class timeIcon onDevice: device.
-        TimeIcon clearMaskedPixels
-    ].
-    ^TimeIcon
+    icons isNil ifTrue:[icons := IdentityDictionary new].
+
+    ^ icons at:#time ifAbsentPut:[
+        |fh|
+
+        TimeIcon isNil ifTrue: [
+            TimeIcon := self class timeIcon onDevice:Display.
+            TimeIcon clearMaskedPixels.
+        ].
+        TimeIcon height > (fh := SelectionInListView defaultFont heightOn:device) ifTrue:[
+            (TimeIcon magnifiedBy:(fh / TimeIcon height)) onDevice:device
+        ] ifFalse:[
+            TimeIcon onDevice:device.
+        ].
+      ]
+
+    "Modified: / 26.7.1998 / 14:00:34 / cg"
 !
 
 traceIcon
     "answer an icon to mark traced methods"
 
-    TraceIcon isNil ifTrue: [
-        TraceIcon := self class traceIcon onDevice: device.
-        TraceIcon clearMaskedPixels
-    ].
-    ^TraceIcon
+    icons isNil ifTrue:[icons := IdentityDictionary new].
+
+    ^ icons at:#trace ifAbsentPut:[
+        |fh|
+
+        TraceIcon isNil ifTrue: [
+            TraceIcon := self class traceIcon onDevice:Display.
+            TraceIcon clearMaskedPixels.
+        ].
+        TraceIcon height > (fh := SelectionInListView defaultFont heightOn:device) ifTrue:[
+            (TraceIcon magnifiedBy:(fh / TraceIcon height)) onDevice:device
+        ] ifFalse:[
+            TraceIcon onDevice:device.
+        ].
+      ]
+
+    "Modified: / 26.7.1998 / 14:01:02 / cg"
 ! !
 
 !BrowserView methodsFor:'syntax coloring'!
@@ -11815,6 +11946,6 @@
 !BrowserView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Attic/BrwsrView.st,v 1.430 1998-07-21 09:43:00 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Attic/BrwsrView.st,v 1.431 1998-07-27 08:03:12 cg Exp $'
 ! !
 BrowserView initialize!