beautypg.com

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

Page 783

background image

C H A P T E R 2 1

Routing Interface

Using Routing

21-35

not provide a view definition, and there are no other view definitions available for
that data class, the In/Out Box displays a generic blank view for the item. Items
formatted with the

'view

data type do not need a separate view definition because

the In/Out Box itself provides a page preview view for these items.

Of the view definitions registered by your application, you can identify which
should be made available to the In/Out Box and which should be hidden from the
In/Out Box, by setting the

protection

slot in the view definition. Set the

protection

slot to

'public

to make the view definition available to the In/Out

Box. Set the

protection

slot to

'private

to hide the view definition from the

In/Out Box.

If more than one view definition is available to the In/Out Box for viewing an item,
the In/Out Box lets the user choose which view they want to see.

Note that view definitions for In Box items are opened by the In Box in a read-only
state. That is, if the view definition is of the type

'editor

, the user won’t be able

to edit existing fields or write in new information. In other words, all child views
based on the

clParagraphView

class are read-only. However, views can receive

and respond to taps; that is,

ViewClickScript

messages are sent. If you want to

prevent your view definition from receiving all pen input, you can place a transparent
view of the

clView

class over the top of it to catch any taps.

Out Box items are opened in a writable state, if they are normally writable; that is,
the Out Box does nothing special to prevent editing if the view is editable. You may
want to make your out box items writable or not, depending on whether or not you
want the user to be able to change them in the out box.

You can use the

newtEntryView

method

EntryCool

to test if an item in the

In/Out Box is writable or not. This method returns

nil

for all In Box items, since

they are read-only.

Note also that application view definitions used in the In/Out Box must not expect
data defined within the context of the application.

For more information about writing and registering view definitions, refer to
Chapter 5, “Stationery.” Note that the In/Out Box does not need data definitions,
only view definitions.

View Definition Slots

21

View definitions to be used by the In/Out Box have other slots of interest besides
the

target

slot.

One other slot of interest is named

fields

. When the view is open, the

fields

slot contains a reference to the In/Out Box entry. If the entry has a

body

slot and

the

body

slot contains a frame with a

class

slot, then the In/Out Box sets

target

to the

body

slot of the entry. This allows view definitions written for your

application to be used by the In/Out Box without modification. If you need to