beautypg.com

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

Page 754

background image

C H A P T E R 2 1

Routing Interface

21-6

About Routing

which transports show up in the Action picker. The system builds a list of all
routing formats registered under the symbol matching the class of the object being
routed. This list contains all the formats that can be used with that class of object.
Remember that the class of a frame object is simply the value of the

class

slot in

the frame. So, to route a frame, it must have a

class

slot that contains a value

corresponding to one of the classes under which routing formats are registered. For
more details about registering routing formats, see the section “Registering Routing
Formats” beginning on page 21-16.

Each transport installed in the system contains a

dataTypes

array that indicates

the data types it can handle, for example,

['text, 'frame]

. For the item being

routed, the Action picker lists every transport whose

dataTypes

slot includes one

of the types specified by the

dataTypes

slots of the routing formats associated

with that item. This selection mechanism is illustrated in Figure 21-3.

For more information about transports, see Chapter 22, “Transport Interface.”

Figure 21-3

Transport selection mechanism for action picker

Once the user chooses a transport from the Action picker, the routing slip for that
transport is displayed. All the routing formats that support the class of data being
routed and are handled by that transport are listed in the format picker in the routing
slip, as shown in Figure 21-4. The last used format for that transport in that
application is set as the current format; if no last format is found, the first format
found is used.

If there is an auxiliary view associated with a format, it is opened automatically
when that format is selected. For more details on auxiliary views, see “Displaying
an Auxiliary View” (page 21-15).

{
class: foo,
..
}

{foo: {

Fmat1:{dataTypes:['view],
...},
Fmat2:{dataTypes:['view],
...},
Fmat3:{dataTypes:['frame],
...}}

baz: {

FmatB1:{dataTypes:['view],
...}},

...
}

[Fax:{dataTypes:['view],
...},
Print:{dataTypes:['view],
...},
Mail1:{dataTypes:['text],
...},
Mail2:{dataTypes:
['frame,'text], ...},
...
]

Routed object

Routing formats in view definition registry

Installed transports

Resulting Action picker lists the
transports Fax, Print, and Mail2