--- a/PopUpList.st Wed Oct 21 16:24:26 2009 +0200
+++ b/PopUpList.st Wed Oct 21 16:24:28 2009 +0200
@@ -922,52 +922,6 @@
!PopUpList methodsFor:'private'!
-computeLabelSize
- "compute the extent needed to hold the label plus the mark"
-
- |mmH mmV savedLogo longest longestWidth labels|
-
- (menu isNil
- or:[adjust == #right
- or:[adjust == #center]]) ifTrue:[
- super computeLabelSize
- ] ifFalse:[
- "hack: simulate logo change to longest menu entry"
-
- font := font onDevice:device.
- longest := logo.
- logo isNil ifTrue:[
- longestWidth := 0
- ] ifFalse:[
- longestWidth := font widthOf:logo.
- ].
- labels := menu value labels.
- labels notNil ifTrue:[
- labels do:[:entry |
- |this|
-
- this := font widthOf:entry printString.
- this > longestWidth ifTrue:[
- longest := entry.
- longestWidth := this
- ].
- ].
- ].
- savedLogo := logo.
- logo := longest printString.
- super computeLabelSize.
- logo := savedLogo.
- ].
- showHandle ifTrue:[
- mmH := device horizontalPixelPerMillimeter.
- mmV := device verticalPixelPerMillimeter.
- labelWidth := labelWidth + hSpace + (mmH * 2.5) rounded + hSpace.
- labelHeight := labelHeight max: (mmV * 2) rounded
- ]
-
- "Modified: / 6.3.1999 / 21:51:14 / cg"
-!
-
createMenuFor:aList
|index|
@@ -1049,6 +1003,52 @@
].
"Modified: / 18.6.1998 / 23:54:34 / cg"
+!
+
+rawLabelSizeOf:aLogo
+ "compute the extent needed to hold the label plus the mark"
+
+ |ext mmH mmV longest longestWidth labels|
+
+ ext := super rawLabelSizeOf:aLogo.
+
+ (menu notNil
+ and:[adjust ~~ #right
+ and:[adjust ~~ #center]]) ifTrue:[
+ "compute length of longest menu entry"
+
+ font := font onDevice:device.
+ longest := logo.
+ logo isNil ifTrue:[
+ longestWidth := 0
+ ] ifFalse:[
+ longestWidth := font widthOf:logo.
+ ].
+ labels := menu value labels.
+ labels notNil ifTrue:[
+ labels do:[:entry |
+ |this|
+
+ this := font widthOf:entry printString.
+ this > longestWidth ifTrue:[
+ longest := entry.
+ longestWidth := this
+ ].
+ ].
+ ].
+ ext := ext max:(super rawLabelSizeOf:(longest printString))
+ ].
+
+ showHandle ifTrue:[
+ mmH := device horizontalPixelPerMillimeter.
+ mmV := device verticalPixelPerMillimeter.
+ ^ (ext x + hSpace + (mmH * 2.5) rounded + hSpace)
+ @
+ (ext y max: (mmV * 2) rounded)
+ ].
+ ^ ext
+
+ "Modified: / 6.3.1999 / 21:51:14 / cg"
! !
!PopUpList methodsFor:'private-controller access'!
@@ -1156,5 +1156,9 @@
!PopUpList class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libwidg/PopUpList.st,v 1.80 2008-10-26 20:16:59 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libwidg/PopUpList.st,v 1.81 2009-10-21 14:24:28 cg Exp $'
+!
+
+version_CVS
+ ^ '$Header: /cvs/stx/stx/libwidg/PopUpList.st,v 1.81 2009-10-21 14:24:28 cg Exp $'
! !