beautypg.com

Apple Newton Programmer’s Newton 2.0 (for Newton 2.0) User Manual

Page 413

background image

C H A P T E R 1 0

Recognition: Advanced Topics

Using Advanced Topics in Recognition

10-37

Manipulating Text in protoCharEdit Views

10

The default view provided by the

protoCharEdit

proto is an unformatted comb

view (see page 10-4). You can provide an optional template that customizes this
view’s appearance and behavior. The template itself is a frame residing in the view’s

template

slot. This frame may provide the following slots and methods:

The template’s

filter

slot defines a set of permissible input values. For

example, a view for correcting phone numbers might restrict the set of
permissible characters to numerals.

The template’s

format

slot can specify the length of the comb view and the

editing characteristics of its entry fields. For example, the phone number
correction view might use a format template to restrict input to a fixed number
of characters and make certain entry fields non-editable. When the comb view
erases invalid characters it displays the animated cloud and plays the

ROM_poof

sound that normally accompanies the scrub gesture.

The template’s

text

slot supplies a string to be displayed initially when the

comb view opens. The comb view retrieves this value when its

ViewSetupFormScript

is executed.

You can also supply optional

SetupString

and

CleanupString

functions

that manipulate the string in the

text

slot.

For complete descriptions of these slots, see “Template Used by ProtoCharEdit
Views”(page 8-45) and “Application-Defined protoCharEdit Template Methods”
(page 8-52) in Newton Programmer’s Reference.

The system also provides several global functions that are useful for manipulating

protoCharEdit

views and the strings they display.

To change the comb view’s text string or template dynamically, call the

UseTextAndTemplate

function after setting appropriate values for the

text

or

template

slots. Alternatively, you can use the

SetNewWord

or

SetNewTemplate

and

UseNewWord

or

UseNewTemplate

functions to perform

the same operations; in fact, calling these functions yourself is faster than calling
the

UseTextAndTemplate

function.

To get the current value of the text in the comb view, you can send the

CurrentWord

message to the view. You must not use the value of the

text

slot

directly, because unformatted comb views may add extra spaces to the string in this
slot. To get a special version of the text that is formatted for display in a view other
than the comb view, use the

GetWordForDisplay

function. If you are using a

template, this function may return the string in a more standardized format,
because it calls the template’s optional

CleanupString

function before returning

the string.