Aw: [Squeak-ev] String-Eingabe

pascal.vollmer at nexgo.de pascal.vollmer at nexgo.de
Sam Jan 17 18:14:21 UTC 2009


 Hallo,

zumindest mit der Anforderung dass getippte Zeichen links aus dem Textfeld verschwinden, wird Dir PluggableTextMorph gute Dienste leisten. Ich verwende es in squeaksource/TimeTable.
Damit konnte ich die folgende unschöne Eigenschaft von TextMorph umgehen, dass bei groß eingestelltem Schriftgrad der Schriftgrad "verloren geht", wenn man mit 'Del' alle Zeichen aus dem Textfeld löscht.

Gruß
Pascal


----- Original Nachricht ----
Von:     Klaus Füller <Klaus.Fueller at T-Online.de>
An:      Squeak in Germany / Squeak in Deutschland <squeak-ev at lists.squeakfoundation.org>
Datum:   17.01.2009 18:24
Betreff: [Squeak-ev] String-Eingabe

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

Pascal Vollmer
Email: pascal.vollmer at ieee.org

Jetzt komfortabel bei Arcor-Digital TV einsteigen: Mehr Happy Ends, mehr Herzschmerz, mehr Fernsehen! Erleben Sie 50 digitale TV Programme und optional 60 Pay TV Sender, einen elektronischen Programmführer mit Movie Star Bewertungen von TV Movie. Außerdem, aktuelle Filmhits und spannende Dokus in der Arcor-Videothek. Infos unter www.arcor.de/tv