class: FontPanel
authorClaus Gittinger <cg@exept.de>
Thu, 27 Nov 2014 00:54:34 +0100
changeset 5188 cc161d523f4f
parent 5187 b313547fe799
child 5189 5148900651b3
class: FontPanel changed: #initialFont: #showSelectedFont #updateSizeList more size selection fixes
FontPanel.st
--- a/FontPanel.st	Thu Nov 27 00:21:40 2014 +0100
+++ b/FontPanel.st	Thu Nov 27 00:54:34 2014 +0100
@@ -493,7 +493,7 @@
     fontEncoding := aFont encoding.    
     sizeUnit := aFont sizeUnit.
     sizeUnit = #px ifTrue:[
-        currentSize := aFont size asString , 'px'.
+        currentSize := aFont pixelSize asString , 'px'.
     ] ifFalse:[
         currentSize := aFont size asString.
     ].
@@ -1063,6 +1063,10 @@
     fam := selectedFont family.
     currentEncoding := selectedFont encoding.
 
+    fontsPerFamily isNil ifTrue:[
+        self getFamilyList
+    ].
+
     self familySelected:fam showPreview:false.
     fam notNil ifTrue:[
         face := selectedFont face.
@@ -1071,7 +1075,7 @@
         ].
         self faceSelected:faceAndStyle showPreview:false.
         faceAndStyle notNil ifTrue:[
-            sz := sizeUnit == #px ifTrue:[selectedFont pixelSize] ifFalse:[selectedFont size].
+            sz := sizeUnit == #px ifTrue:[selectedFont pixelSize asString,'px'] ifFalse:[selectedFont size asString].
             pixelPointSwitch contents:sizeUnit.
             self sizeSelected:sz showPreview:false. 
         ]
@@ -1101,7 +1105,7 @@
 !
 
 updateSizeList
-    |sizes sizeStrings oldSize|
+    |sizes sizeStrings oldSize newSize|
 
     sizes := self 
             getSizesInFamily:(currentFamily ? '*')
@@ -1119,11 +1123,16 @@
     sizes := sizes asOrderedCollection.
     selectedFont notNil ifTrue:[
         oldSize := currentSize.
-        currentSize := (selectedFont sizeUnit == #px)
+        newSize := (selectedFont sizeUnit == #px)
                          ifTrue:[ selectedFont pixelSize ]
                          ifFalse:[ selectedFont size ].
-        currentSize == 0 ifTrue:[
+        newSize == 0 ifTrue:[
             currentSize := oldSize 
+        ] ifFalse:[
+            currentSize := newSize asString.
+            (selectedFont sizeUnit == #px) ifTrue:[
+                currentSize := currentSize , 'px'
+            ]
         ].
 "/        currentSize notNil ifTrue:[
 "/            (sizes includes:currentSize) ifFalse:[
@@ -1454,10 +1463,10 @@
 !FontPanel class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg/FontPanel.st,v 1.130 2014-11-26 23:21:40 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/FontPanel.st,v 1.131 2014-11-26 23:54:34 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libwidg/FontPanel.st,v 1.130 2014-11-26 23:21:40 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/FontPanel.st,v 1.131 2014-11-26 23:54:34 cg Exp $'
 ! !