• Aucun résultat trouvé

XEROX SDD ARCHIVES I have read and understood

N/A
N/A
Protected

Academic year: 2022

Partager "XEROX SDD ARCHIVES I have read and understood "

Copied!
2
0
0

Texte intégral

(1)

To: Tools Group

XEROX

INFORMATION PRODUCTS GROUP Systems Development Division

July 22. 1977

XEROX SDD ARCHIVES I have read and understood

From: Bruce Parsley. SD/PARe

Pages _________ To ________ _

Reviewer Date

'---

Subject: Additional Hints about PNRs , of Pages _ _

Ref. "ttl

<;, DD ~ 281<,

Stored: <Parsley>PNRsHints.memo

Here are some "hints" for tool writers concerning Processing Notification Routines (PNRs). The material in this memo will be incorporated into the next release of the TEX spec. You should read the material in that spec in section 5.2 (from about half way down page 6 to the end of the section on page 7). This memo assumes a

familiarity with that material (and with some of the material in the Tool User Interface (TUI) and Windows specs).

A tool writer should do something like the following:

Somewhere in your tool, write one or more PNRs. They are normal Mesa procedures (subroutines) that must have calling sequences as specified by CursorPnrType or PbkPnrType.

Now create a SubwindowObject. The routine CreateWindow makes one subwindow besides the window. The routines CreateSubwindow and EnlinkSubwindow may be used to get more subwindows in a window.

You must create a PNRsObject. This may be done by declaring a (global) variable of that type or by using AllocateHeapNode.

Then you should associate a PNRsObject with each of your subwindows. The way to do this is something like the following: mySubwindow.pnrs +- @myPNRs;

Now you should fill each of the fields of each of your PNRsObjects. The encouraged method is to call one or more of the TVI routines that set up their own PNRs in your subwindows' PNRsObjects. In Release 3.0 of the Tools·

Environment, Open[MctlUas]For[W/Subw]indow are the only such routines.

.'

(2)

Eventual1y there will be similar routines involving menus and selections and possibly other things.

Eventually it should be rare that any tool has its own PNRs, most will use

"system" PNRs. Anyway, we'll assume you have your own peculiar PNR that does your own peculiar thing. Then you should do something like the

following: myPNRs.keyboardPNR ~ MyKeyboardPNR;

Now you should execute a STOP (note that al1 of the above should be done in your tool's "mainline code" or via global decJaractions). Or you may do something like: char ~ GetCharPt[] if you're using a User Action Stream (UAS).

Now your tool just sits around waiting for something exiting to happen, where

"exciting" means that the user moves the cursor into (or out of) one of your subwindows, in which case the cursor PNR you have associated with that

subwindow will get called, or, while the cursor is in one of your subwindows, the user depresses (or releases) a paddle, button, or key (PBK), in which case the appropriate one (or more if you have overlapping subwindows) of your pbk PNRs will get called.

There are two files in <Tools>TeMesa0300.dm that new tool writers should find helpful. FormToo1.mesa provides a "template" for writing tools. TestToo1.mesa is an example of an actual, al beit simpleminded, tool. Both of these files should provide hints or examples involving PNRs.

[Aside: I'm not sure into which spec this material should go. Probably the reason why it got mostly

overlooked ill the first place is that it involves TEX, TUr, and Windows (as with most divided responsibilities, it just got dropped through the cracks). I think that eventually we will want to provide a "Tool Writers' Guide" (in the style of an (informal) programmers' guide). Such a document would be a logical place for this materia!.]

2

Références

Documents relatifs

The clearinghouses structure can fail in several ways. We take the approach that it is unnecessary to prevent failure, just so long as the structure puts itself

Thus each volume contains a volume file map, whose primary purpose is to map filelD into volume page number (physical storage address) for each file residing on

On the subject of detecting the unwinding of a monitor without catching the signal, Butler suggested a sledge-hammer check of a bit in the code segment that

Bill's motivation is that he would like to have (in an eventual Star release) ways to get graphical objects through the depressing of a single key.. Such objects

A project gets a unique project prefix which is identical to its ifs account. A project creates module libjects of the form &lt;pilot&gt;streams.mesa -- the

We propose that the clock in each DO processor maintain the time and date according to Greenwich Mean Time.. Pilot will implement an operation by which any

All clients deal with Pilot and with other clients on other system elements using File Capabilities and Network Addresses (both of which are derived from the

The following topics are discussed: issues involved in recording selections, the syntactic form of a recorded selection, the identification of Star objects, defining