Aw: Re: [Newbies] TextMorph

pascal.vollmer at nexgo.de pascal.vollmer at nexgo.de
Tue Nov 4 08:52:48 UTC 2008


 Hi Mark,

Thanks for your advice. But the behavior I experience seems not to depend on extent:. 
Let me show an example:

1.) a := TextMorph borderedPrototype. a openInWorld.
2.) b := TextMorph borderedPrototype. b newContents: ''; openInWorld.

1.) shows a text 'abc' with big font. When getting focus you will see a big cursor. You may start to change it.
2.) shows nothing. When getting focus you will see a small cursor. And when you start to change it you will see small font text.

This does not change when you add b extent: 100 at 100.

There is an additional observation. If you take code snippet 1.) and edit it you will loose vertical size of cursor and text when you walk from 1 character to 0 character and 1 character again. But pay attention: this is true for character deletion with the Del-key. It is not true for the Backspace-key.

If anyone can give me a clue on this I would be grateful. You may find my TimesTable app on SqueakSource.

Kind regards
Pascal



----- Original Nachricht ----
Von:     Mark Volkmann <mark at ociweb.com>
An:      "A friendly place to get answers to even the most basic questions about
	Squeak." <beginners at lists.squeakfoundation.org>
Datum:   04.11.2008 00:00
Betreff: Re: [Newbies] TextMorph

> On Nov 3, 2008, at 4:51 PM, pascal.vollmer at nexgo.de wrote:
> 
> > Hello,
> >
> > I write a times table application for children: a question, an  
> > equals sign, an answer. For the answer field I would like to see a  
> > TextMorph. It should be empty, prepared for big size figures and  
> > with a big size cursor waiting for input.
> >
> > I tested TextMorph>>borderedPrototype the contents of which is  
> > initialized to 'abc'. Now, when I change 'abc' to an empty string...  
> > cursor size is reduced and the first figure that is typed by the  
> > user will be small size.
> >
> > Why this different behavior?
> 
> 
> I think the issue is that if you want the TextMorph to be larger than  
> the text inside it (in your case none), you have to set its extent.  
> Here's some code that works for me. Note how I set the extent height  
> of "textField" based on the font size of the StringMorph. I set the  
> extent width to a fixed value of 100 pixels.
> 
> 	spaceBetweenMorphs := 10.
> 	spaceInsideContainer := 10.
> 	
> 	container := Morph new.
> 	container
> 		layoutPolicy: TableLayout new;
> 		listDirection: #leftToRight;
> 		hResizing: #shrinkWrap;
> 		vResizing: #shrinkWrap;
> 		layoutInset: spaceInsideContainer;
> 		cellInset: spaceBetweenMorphs;
> 		width: 200.
> 
> 	label := StringMorph contents: 'I''m a label.'.
> 	font := label font.
> 	margin := 4.
> 	height := font lineGrid + (margin * 2).
> 	container addMorphBack: label.
> 	
> 	textField := TextFieldMorph new.
> 	textField extent: 100 at height. "text doesn't display if insufficient  
> height"
> 	container addMorphBack: textField.
> 
> ---
> Mark Volkmann
> 
> 
> 
> 
> _______________________________________________
> Beginners mailing list
> Beginners at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
> 

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


More information about the Beginners mailing list