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.

Antwort per Email an