beautypg.com

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

Page 806

background image

C H A P T E R 2 2

Transport Interface

22-18

Using the Transport Interface

to the Action picker in an application. Here is an example of a return value that
adds two items to the picker:

[ {title: "Reply", // name of action

icon: ROM_RouteReply, // picker icon

// called if action selected

RouteScript: func(target, targetView) begin ... end,

},

{title: "Forward", // name of action

icon: ROM_RouteForward, // picker icon

// called if action selected

RouteScript: func(target, targetView) begin ... end,

} ]

The

RouteScript

slot contains a method that is called if the user selects that

item from the picker. Alternatively, in the

RouteScript

slot you can specify a

symbol identifying a transport method, and then supply your transport symbol in
another slot named

appSymbol

.

For more detailed information about the items in the array, see the section
“Providing Application-Specific Routing Actions” beginning on page 21-22.

For the

icon

slot of each frame in the array, you can specify an icon that appears

next to the name of the action in the picker. There are standard bitmaps available in
the ROM for the following actions:

reply,

ROM_RouteReply

forward,

ROM_RouteForward

add sender to the Names application,

ROM_RouteAddSender

copy text to Notes application,

ROM_RoutePasteText

If you are adding one of these actions, use the indicated magic pointer constant for
the standard bitmap, to keep the interface consistent among transports.

Also, when the user taps the Tag button, the system sends your transport the

CanPutAway

message, if you’ve implemented it. This method allows your

transport to add a put away option for the item to the Put Away picker. This hook
allows a transport to put away items that could not otherwise be put away.
Remember that applications (or transports) that need to put away items must
implement the

PutAwayScript

method.

Whenever an item belonging to your transport is displayed in the In/Out Box, the
In/Out Box also sends your transport the

IOBoxExtensions

message. This hook

lets your transport add functionality to items in the In/Out Box by adding to the list
of view definitions available for an item.