[Squeak-ev] String-Eingabe
Klaus Füller
Klaus.Fueller at T-Online.de
Sam Jan 17 17:24:54 UTC 2009
Ich suche einen Morf, in den der Anwender einen String eintippen kann.
Nichts Merkwürdiges, keine Farben und Schrifttypen, einfach nur 'xyzzy'.
Ich verwende:
entry := TextMorph new.
entry
backgroundColor: Color veryLightGray;
contents: '';
wrapFlag: true;
crAction: (MessageSend receiver: self selector: #contentsAccepted).];
hResizing: #spaceFill;
vResizing: #rigid.
Das funktioniert einigermaßen:
* Wenn ich den Morph, in dem entry steckt, vergrößere, passt sich
entry an. Das ist nett.
Die Details sind aber hässlich:
* Wenn ich mit
entry contents: 'abcde'.
einen neuen Inhalt setze, ändert sich die Breite des TextMorphs auf
5 Zeichen und
der Morph passt sich nicht mehr der Umgebung an. Erneutes Senden
von #hResizing bringt nichts.
* Schlimmer: Wenn man eine Eingabe macht, die länger ist als die
Morphbreite, wächst der Morph
in senkrechter Richtung (zusätzliche Zeilen). Ich will aber, dass
er in waagerechter Richtung
wächst oder dass --- Spitze des Luxus --- die getippten Zeichen
nach links aus dem Display
verschwinden.
Wer kann mir helfen?
Testumgebung: Monticello:
MCHttpRepository
location: 'http://www.squeaksource.com/KFGui'
user: ''
password: ''
Die Package laden und dann in einem Workspace
(MultipleEntryMorph titles: #('Host' 'Port' 'User' 'Password'))
openInHand
ausführen.