Morphic Data Entry

Bob Arning arning at charm.net
Tue Jun 8 15:19:52 UTC 1999


On Tue, 8 Jun 99 16:25:37 +1000 Neal Nelson <neal_nelson at primus.com.au> wrote: 
>If anyone could explain to me how I can generate entry fields in Morphic, 
>I'd be more grateful. I'm stumped on my current project until I can entry 
>forms working.

Hi Neal,

If you want to use TextMorph, two very useful methods are #contentsWrapped: and #extent:. The example below creates a fixed-width entry field in a morphic world:

	tm _ TextMorph new.
	tm contentsWrapped: ''; extent: 100 at 20.	"this is the important stuff"
	(border _ AlignmentMorph newRow)	"this just makes the TextMorph easier to see"
		position: 200 at 200;
		borderWidth: 1;
		borderColor: Color black;
		hResizing: #shrinkWrap;
		vResizing: #shrinkWrap;
		addMorph: tm.
	World addMorph: border.

Further decisions to make include: 

1. Whether and how to limit the characters entered. You may want to create a subclass of TextMorph that provides additional behavior that many data-entry applications require (max characters, specific characters, formatting, etc).

2. What do do if the number of characters entered exceeds the allotted space. The TextMorph in the example above simply expands to add more rows of characters. If this is not desirable, you may want to look instead at PluggableTextMorph which adds a scrollbar.

Cheers,
Bob





More information about the Squeak-dev mailing list