XTSetterPrivate.mesa
Copyright Ó 1987, 1992 by Xerox Corporation. All rights reserved.
Jean-Marc Frailong, November 21, 1988 6:40:45 pm PST
Description of data types private to XTSetter tools
Weiser, January 21, 1991 11:38 pm PST
DIRECTORY
Buttons USING [Button],
ChoiceButtons USING [EnumTypeRef],
IO USING [STREAM],
IPMaster USING [Version],
Rope USING [ROPE],
ViewerClasses USING [Viewer],
XNSPrint USING [Properties, StatusChangedProc],
XTSetter;
XTSetterPrivate: CEDAR DEFINITIONS
~ BEGIN
ROPE: TYPE ~ Rope.ROPE;
STREAM: TYPE ~ IO.STREAM;
Viewer: TYPE ~ ViewerClasses.Viewer;
Properties: TYPE ~ XNSPrint.Properties;
Options: TYPE ~ XTSetter.Options;
OptionsRep: TYPE ~ XTSetter.OptionsRep;
Screen: TYPE ~ XTSetter.Screen;
Info: TYPE ~ XTSetter.Info;
InfoRep: TYPE ~ XTSetter.InfoRep;
ProductionProgressProc: TYPE ~ XTSetter.ProductionProgressProc;
IPProducer: TYPE ~ XTSetter.IPProducer;
Private data types
PrinterVersion: TYPE ~ REF PrinterVersionRep;
PrinterVersionRep: TYPE ~ RECORD [
version: IPMaster.Version, -- what IP level the printer supports
mayCompress: BOOL, -- TRUE if printer supports compressed masters (Zipper/Quoth style)
shouldCompress: BOOL, -- TRUE if compression should be defaulted (Zipper style)
hasPressFonts: BOOL -- TRUE if printer has press fonts
];
Describes some properties of printer that are not available through queries...
Tool: TYPE ~ REF ToolRep;
ToolRep: TYPE ~ MONITORED RECORD [
-- General tool information
printerName: ROPE, -- name of printer associated to this tool
version: PrinterVersion, -- Version understood by this printer
printerProperties: Properties, -- what the printer knows to do
feedBack: STREAM, -- output only, to viewer typescript
viewer: Viewer, -- the top-level tool viewer
currentOptions: Options ¬ NIL,
-- All about the options viewer if present
optionsViewer: Viewer,
optionsStaple, optionsTwoSided, optionsKeepIP, optionsCompress: BoolButton,
optionsCopies, optionsFirstpage, optionsLastpage: IntButton,
optionsDevice: RopeButton,
optionsStyle: RopeButton,
optionsScale: RealButton,
optionsPaper: ChoiceButtons.EnumTypeRef,
-- All about the printer status viewer if present
printerStatusViewer: Viewer,
printerStatusMedia, printerStatusSpooler, printerStatusFormatter, printerStatusMarkingEngine: Viewer,
printerStatusTimer: CONDITION,
-- All about the request status viewer if present
requestStatusContainer, requestStatusRule: Viewer,
-- To generate unique file names
unique: INT ¬ 0
];
From XTSetterPrintImpl
From XTSetterImpl
BoolButtonActionProc: TYPE ~ PROC [state: BoolButton];
BoolButton: TYPE ~ REF BoolButtonRep;
BoolButtonRep: TYPE ~ RECORD [
button: Buttons.Button,
flag: BOOL, -- The current value of the button
trueStyle: ATOM, -- how to display the TRUE value
click: BoolButtonActionProc -- optional call-back on click
];
IntButton: TYPE ~ REF IntButtonRep;
IntButtonRep: TYPE ~ RECORD [
button: Buttons.Button,
default: INT,
text: Viewer -- Private: the viewer that contains the number
];
RealButton: TYPE ~ REF RealButtonRep;
RealButtonRep: TYPE ~ RECORD [
button: Buttons.Button,
default: REAL,
text: Viewer -- Private: the viewer that contains the number
];
RopeButton: TYPE ~ REF RopeButtonRep;
RopeButtonRep: TYPE ~ RECORD [
button: Buttons.Button,
defaults: LIST OF ROPE,
text: Viewer -- Private: the viewer that contains the current rope
];
StatusReport: TYPE ~ REF StatusReportRep;
StatusReportRep: TYPE ~ RECORD [
tool: Tool, -- back pointer
viewer: Viewer, -- pointer to the status viewer to destroy it
pie, stop, info, comment: Viewer, -- pie chart, stop button, request status, print object name
stopRequired: BOOL ¬ FALSE, -- stop button has been hit
formatting: BOOL ¬ TRUE, -- IP Producer active
sending: BOOL ¬ FALSE -- IP Consumer active
];
GetOptionsInternal: PROC [tool: Tool, reset: BOOL ¬ TRUE] RETURNS [options: Options];
Internal version of GetOptions, does not lock up the tool
CreateStatusReport: PROC [tool: Tool, title: ROPE] RETURNS [state: StatusReport];
Create a print request status viewer
ResizeStatusContainer: PROC [tool: Tool];
Recompute (and redisplay) the request staus container after a modification
SetSendingStatus: PROC [state: StatusReport];
Convert a print request status viewer from the "IPProducer" state to the "Sending" state
PrintStatusUpdate: XNSPrint.StatusChangedProc;
Update the print request status viewer
END.