CharacterSetView.st
changeset 2639 6d95857dd389
parent 2631 a7c5eb4bf49d
child 2648 188fb279a589
--- a/CharacterSetView.st	Wed Feb 18 06:36:35 2004 +0100
+++ b/CharacterSetView.st	Thu Feb 19 01:39:25 2004 +0100
@@ -70,7 +70,7 @@
      minPage maxPage|
 
     minPage := 0.
-    maxPage := 16rFF. "/ aFont isSingleByteFont ifTrue:[0] ifFalse:[16rFF].
+    maxPage := (aFont onDevice:Screen current) getFontMetrics maxCode >> 8.
 
     top := StandardSystemView new.
     top label:viewLabel.
@@ -108,22 +108,24 @@
             rangeLabel repairDamage.
         ].
 
-    enable := [
-            v codePage > minPage ifTrue:[ 
-                bPrev enable. 
-                bFirst enable. 
-            ] ifFalse:[
-                bPrev disable. 
-                bFirst disable. 
+    minPage ~~ maxPage ifTrue:[
+        enable := [
+                v codePage > minPage ifTrue:[ 
+                    bPrev enable. 
+                    bFirst enable. 
+                ] ifFalse:[
+                    bPrev disable. 
+                    bFirst disable. 
+                ].
+                v codePage < maxPage ifTrue:[ 
+                    bNext enable. 
+                    bLast enable. 
+                ] ifFalse:[
+                    bNext disable. 
+                    bLast disable. 
+                ].
             ].
-            v codePage < maxPage ifTrue:[ 
-                bNext enable. 
-                bLast enable. 
-            ] ifFalse:[
-                bNext disable. 
-                bLast disable. 
-            ].
-        ].
+    ].
 
     next := [
             v codePage:(v codePage + 1). 
@@ -149,29 +151,32 @@
             update value.
         ].
 
+    minPage ~~ maxPage ifTrue:[
+        bFirst := Button label:(ToolbarIconLibrary start16x16Icon) in:panel.
+        bFirst action:first.
 
-    bFirst := Button label:(ToolbarIconLibrary start16x16Icon) in:panel.
-    bFirst action:first.
+        bPrev := Button label:(ToolbarIconLibrary back16x16Icon) in:panel.
+        bPrev controller beTriggerOnDown.
+        bPrev action:prev.
+        bPrev disable.
+        bPrev autoRepeat:true.
 
-    bPrev := Button label:(ToolbarIconLibrary back16x16Icon) in:panel.
-    bPrev controller beTriggerOnDown.
-    bPrev action:prev.
-    bPrev disable.
-    bPrev autoRepeat:true.
+        bNext := Button label:(ToolbarIconLibrary forward16x16Icon) in:panel.
+        bNext controller beTriggerOnDown.
+        bNext action:next.
+        bNext autoRepeat:true.
 
-    bNext := Button label:(ToolbarIconLibrary forward16x16Icon) in:panel.
-    bNext controller beTriggerOnDown.
-    bNext action:next.
-    bNext autoRepeat:true.
-
-    bLast := Button label:(ToolbarIconLibrary finish16x16Icon) in:panel.
-    bLast action:last.
+        bLast := Button label:(ToolbarIconLibrary finish16x16Icon) in:panel.
+        bLast action:last.
+        bLast disable.
+    ].
 
     rangeLabel := Label label:'RangeStart .. RangeStop' in:panel.
     codePointLabel := Label label:clickLabel in:panel.
     codePointLabel foregroundColor:(Color blue).
 
     update value.
+    enable value.
 
     v selectedCodePointHolder onChangeEvaluate:updateCodePoint.
 
@@ -335,5 +340,5 @@
 !CharacterSetView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg2/CharacterSetView.st,v 1.10 2004-02-13 11:47:18 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg2/CharacterSetView.st,v 1.11 2004-02-19 00:39:25 cg Exp $'
 ! !