MaintainDefs.mesa -- From MaintainImpl.mesa
Copyright Ó 1987, 1990, 1992 by Xerox Corporation. All rights reserved.
Wes Irish, July 17, 1987 7:25:06 pm PDT
Bill Jackson (bj) January 19, 1990 9:41:17 pm PST
Philip James, September 12, 1991 10:56 am PDT
Doug Wyatt, May 15, 1992 12:21 pm PDT
DIRECTORY
IO USING [STREAM],
PopUpButtons USING [ChoiceList, Class, Image],
Rope USING [ROPE],
ViewerEvents USING [EventRegistration],
XNS USING [Address, unknownAddress],
XNSCHACL USING [AccessList],
XNSAuth USING [Identity],
XNSCH USING [Item, Name];
MaintainDefs: CEDAR DEFINITIONS = {
ROPE: TYPE = Rope.ROPE;
Name: TYPE = XNSCH.Name;
NameRef: TYPE = REF Name;
NameList: TYPE = LIST OF NameRef;
Item: TYPE = XNSCH.Item;
AccessList: TYPE = XNSCHACL.AccessList;
Identity: TYPE = XNSAuth.Identity;
Class: TYPE = { individual, group, dead, any };
Level: TYPE = { normal, owner, admin, wizard };
Command: TYPE = { type, isMember, set, add, remove, misc, create, delete, nullCmd };
What: TYPE = { matches, members, summary, details, domains, organizations, finks, direct, extended, occurrences, password, simple, individualRemark, groupRemark, fileService, alias, self, member, owner, friend, mailbox, forwarding, createIndividual, createGroup, delete, domainsServed };
all: CARD32 ~ 0;
nullProperty: CARD32 ~ 37777777777B;
busyName: ROPE = "Maintain [Busy]";
busyLabel: ROPE = "Maintain Busy...";
doneName: ROPE = "Maintain";
doneLabel: ROPE = "Maintain";
MyData: TYPE = REF MyDataObject;
MyDataObject: TYPE = MONITORED RECORD [
--new--parent: REF ANY ¬ NIL,
--new--mainSubContainer: REF ANY ¬ NIL,
flavor: ATOM,
moreData: REF ANY ¬ NIL,
cmdData: REF ANY ¬ NIL,
in: IO.STREAM,
out: IO.STREAM,
destructionEvent: ViewerEvents.EventRegistration,
level: Level ¬ normal,
verify: REF ATOM ¬ NIL,
quote: REF ATOM ¬ NIL,
identity: Identity ¬ NIL,
conversationAddress: XNS.Address ¬ XNS.unknownAddress,
topChild,
kids,
groupT,
dataGT,
scratchGT,
serverT,
script: REF ANY ¬ NIL,
scratchRope: ROPE,
maxW: INTEGER,
buttH: INTEGER,
stop: BOOL ¬ FALSE,
firstTime: BOOL ¬ TRUE,
nArgs: CARD ¬ 0,
argList: LIST OF ROPE,
verbose: BOOL ¬ FALSE,
autoDelete: BOOL ¬ FALSE,
debugSwitch: BOOL ¬ FALSE,
displayScratch: BOOL ¬ TRUE--,
new
instantiateSelector: PROC [class: SelectorClass, init: REF ATOMNIL, clientData: REFNIL, viewer: REF ANY, x, y: INTEGER] RETURNS [child: REF ANY, value: REF ATOM] ← NIL,
create: PROC [iconic: BOOLTRUE, column: ViewerClasses.Column ← right] ← NIL,
createButtons: PROC [d: MyData] ← NIL,
getContents: PROC [where: REF ANY, default: ROPE ← ""] RETURNS [contents: ROPE] ← NIL,
changeLooks: PROC [d: MyData, looks: CHAR] ← NIL,
inhibitEdits: PROC [where: REF ANY] ← NIL,
typeScriptReset: PROC [where: REF ANY] ← NIL,
getSelectedContents: PROC RETURNS [ROPE] ← NIL,
setSelection: PROC [o: REF ANY, selection: ViewerTools.SelPos] ← NIL,
getPart: PROC [o: REF ANY, which: Part] RETURNS [INT] ← NIL,
setContents: PROC [o: REF ANY, what: ROPE] ← NIL,
caretOnly: PROCNIL,
getStreams: PROC [d: MyData, name: ROPE, backingFile: ROPE, editedStream: BOOLEAN] ← NIL,
moveViewer: PROC [obj: REF ANY, x, y, w, h: INT] ← NIL
];
Part: TYPE ~ {height, width, x, y};
CmdButton: TYPE = RECORD [
doc: ROPE,
cmd: Command,
what: What,
class: Class,
level: Level,
nextLine: BOOL ¬ FALSE,
doEnumerate: BOOL ¬ TRUE,
guarded: BOOL ¬ FALSE
];
CmdRef: TYPE = REF CmdRec;
CmdRec: TYPE = RECORD [
d: MyData,
cb: CmdButton
];
From MaintainImpl
ClassList: TYPE = LIST OF PopUpButtons.Class;
cmdButtons: ClassList;
ImagedClassList: TYPE ~ LIST OF ImagedClass;
ImagedClass: TYPE ~ RECORD [class: PopUpButtons.Class, normal, inverted: PopUpButtons.Image];
SelectorClass: TYPE = REF SelectorClassRec;
SelectorClassRec: TYPE = RECORD[
name: ROPE,
change: PROC [parent: REF ANY --Viewer--, clientData: REF, value: ATOM],
classes: ImagedClassList,
values: LIST OF ATOM ];
SelectorInstance: TYPE ~ REF SelectorInstanceRec;
SelectorInstanceRec: TYPE ~ RECORD [
clientData: REF ANY,
value: REF ATOM,
buttons: LIST OF REF ANY,
class: SelectorClass
];
matchesChoices: PopUpButtons.ChoiceList;
membersChoices: PopUpButtons.ChoiceList;
addMemberChoices: PopUpButtons.ChoiceList;
deleteMemberChoices: PopUpButtons.ChoiceList;
summaryChoices: PopUpButtons.ChoiceList;
detailChoices: PopUpButtons.ChoiceList;
createChoices: PopUpButtons.ChoiceList;
setChoices: PopUpButtons.ChoiceList;
removeChoices: PopUpButtons.ChoiceList;
levelClass: SelectorClass;
verifyClass: SelectorClass;
quoteClass: SelectorClass;
logName: ROPE;
verboseClassLabel: ROPE;
autoDeleteClassLabel: ROPE;
debugSwitchClassLabel: ROPE;
verboseClass: PopUpButtons.Class;
autoDeleteClass: PopUpButtons.Class;
debugSwitchClass: PopUpButtons.Class;
setServerClass: PopUpButtons.Class;
maintainDataProp: ATOM;
RegisterProc: PROC[flavor: ATOM, procType: ATOM, proc: PROC ANY RETURNS ANY];
RetrieveProc: PROC[flavor: ATOM, procType: ATOM] RETURNS [PROC ANY RETURNS ANY];
}.