EBConcreteTypes.mesa
Copyright Ó 1988, 1992 by Xerox Corporation. All rights reserved.
Goodisman, August 14, 1989 10:05:59 am PDT
Bier, September 29, 1992 4:48 pm PDT
Contents: The definition of the EmbeddedButtons package private data structures.
DIRECTORY
EBButtonClasses, EBEditors, EmbeddedButtons, RefTab, Rope, ViewerClasses;
EBConcreteTypes: CEDAR DEFINITIONS = BEGIN
NotifyProc: TYPE = EmbeddedButtons.NotifyProc;
Viewer: TYPE = ViewerClasses.Viewer;
ActiveDocPrivateObj: TYPE = RECORD [
class: EBEditors.ActiveDocClass,
nameTable: RefTab.Ref,
targetTable: RefTab.Ref
];
ButtonInfoPrivateRec: TYPE = RECORD [
rope: Rope.ROPE,
changed: BOOL,
class: EBButtonClasses.ButtonClass,
name: ATOM,
fieldValuesOK: BOOL ¬ FALSE,
nameChecked: BOOL ¬ FALSE,
symbols: RefTab.Ref, -- contains all of the fields of ButtonData as ropes
order: LIST OF ATOM, -- contains the order of the fields in symbols
language: ATOM,
languageVersion: NAT,
instanceData: REF,
hasComplained: BOOL ¬ FALSE -- if this button has problems, have we already complained?
];
class = NIL means that this EmbeddedButton has not yet been instantiated from a ROPE.
VariableTable: TYPE = RefTab.Ref;
Context: TYPE = REF ContextObj;
ContextObj: TYPE = RECORD [
systemVars: RefTab.Ref
];
TargetTableEntry: TYPE = REF TargetTableEntryRep;
TargetTableEntryRep: TYPE = RECORD[
viewer: Viewer,
applicationData: REF,
notifyProc: REF NotifyProc
];
END.