--- a/CharacterSetView.st Sun Feb 22 23:46:39 2004 +0100
+++ b/CharacterSetView.st Mon Feb 23 14:27:44 2004 +0100
@@ -86,14 +86,25 @@
"/ actions
updateCodePoint := [
- |selectedCodePoint|
+ |selectedCodePoint selectedChar
+ isLetter isDigit isUppercase isLowercase|
selectedCodePoint := v selectedCodePoint.
selectedCodePoint isNil ifTrue:[
codePointLabel label:clickLabel
] ifFalse:[
- codePointLabel label:('Selected: u%1'
- bindWith:((selectedCodePoint printStringRadix:16) leftPaddedTo:4 with:$0)).
+ selectedChar := Character value:selectedCodePoint.
+ isLetter := selectedChar isNationalLetter.
+ isDigit := selectedChar isNationalDigit.
+ isUppercase := selectedChar isUppercase.
+ isLowercase := selectedChar isLowercase.
+ codePointLabel
+ label:
+ ('Selected: u%1 %2 %3'
+ bindWith:((selectedCodePoint printStringRadix:16) leftPaddedTo:4 with:$0)
+ with:(isUppercase ifTrue:'Uppercase' ifFalse:[isLowercase ifTrue:'lowercase' ifFalse:''])
+ with:(isLetter ifTrue:'Letter' ifFalse:[(isDigit ifTrue:'Digit' ifFalse:'')])
+ ).
].
codePointLabel repairDamage.
].
@@ -179,6 +190,7 @@
enable value.
v selectedCodePointHolder onChangeEvaluate:updateCodePoint.
+ v codePageHolder onChangeEvaluate:update.
w := v preferredExtent x max:(panel preferredExtent x).
h := v preferredExtent y + (panel preferredExtent y).
@@ -189,6 +201,7 @@
"
self openOn:(View defaultFont).
+ self openOn:(Font family:'courier' face:'medium' style:'roman' size:12 encoding:'iso10646-1').
"
! !
@@ -307,6 +320,35 @@
].
!
+keyPress:key x:x y:y
+ |cp ncp|
+
+ cp := selectedCodePointHolder value.
+ key == #CursorRight ifTrue:[
+ ncp := (cp + 1).
+ ].
+ key == #CursorLeft ifTrue:[
+ ncp := (cp - 1).
+ ].
+ key == #CursorDown ifTrue:[
+ ncp := (cp + 16).
+ ].
+ key == #CursorUp ifTrue:[
+ ncp := (cp - 16).
+ ].
+ ncp notNil ifTrue:[
+ ncp >= 0 ifTrue:[
+ ncp <= 16rFFFF ifTrue:[
+ codePageHolder value:(ncp bitShift:-8).
+ selectedCodePointHolder value:ncp.
+ ]
+ ].
+ ^ self.
+ ].
+
+ super keyPress:key x:x y:y
+!
+
selectedCodePointChanged
realized ifTrue:[
self clear.
@@ -340,5 +382,5 @@
!CharacterSetView class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libwidg2/CharacterSetView.st,v 1.11 2004-02-19 00:39:25 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libwidg2/CharacterSetView.st,v 1.12 2004-02-23 13:27:44 cg Exp $'
! !