[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.