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--, ]; 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 ]; 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]; }. ุ 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 new instantiateSelector: PROC [class: SelectorClass, init: REF ATOM _ NIL, clientData: REF _ NIL, viewer: REF ANY, x, y: INTEGER] RETURNS [child: REF ANY, value: REF ATOM] _ NIL, create: PROC [iconic: BOOL _ TRUE, 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: PROC _ NIL, getStreams: PROC [d: MyData, name: ROPE, backingFile: ROPE, editedStream: BOOLEAN] _ NIL, moveViewer: PROC [obj: REF ANY, x, y, w, h: INT] _ NIL From MaintainImpl สฯ–(cedarcode) style•NewlineDelimiter ™codešœฯc™+Kšœ ฯeœ<™HKšœ'™'K™1K™-K™%K™—šฯk ˜ KšŸœŸœŸœ˜Kšœ Ÿœ˜.KšœŸœŸœ˜Kšœ Ÿœ˜'KšŸœŸœ˜$KšŸœŸœ˜KšœŸœ ˜KšŸœŸœ˜K˜—šฯn œŸœŸ œ˜#K˜KšŸœŸœŸœ˜K˜KšœŸœŸœ˜Kšœ ŸœŸœ˜Kšœ ŸœŸœŸœ ˜!K˜KšœŸœŸœ˜Kšœ ŸœŸœ ˜'Kšœ Ÿœ˜"K˜KšœŸœ$˜/KšœŸœ$˜/Kšœ ŸœG˜TKšœŸœ•˜ŸK˜KšœŸœ˜KšœŸœ˜$K˜Kšœ Ÿœ˜#Kšœ Ÿœ˜%Kšœ Ÿœ˜Kšœ Ÿœ˜K˜KšœŸœŸœ˜ šœŸœŸ œŸœ˜'KšœŸœŸœŸœ˜KšœŸœŸœŸœ˜'KšœŸœ˜ Kšœ ŸœŸœŸœ˜Kšœ ŸœŸœŸœ˜KšœŸœŸœ˜KšœŸœŸœ˜Kšœ1˜1K˜KšœŸœŸœŸœ˜KšœŸœŸœŸœ˜KšœŸœ˜KšœŸœ Ÿœ˜6K˜ K˜K˜K˜K˜ K˜KšœŸœŸœŸœ˜Kšœ Ÿœ˜KšœŸœ˜KšœŸœ˜KšœŸœŸœ˜Kšœ ŸœŸœ˜KšœŸœ˜Kšœ ŸœŸœŸœ˜Kšœ ŸœŸœ˜Kšœ ŸœŸœ˜Kšœ ŸœŸœ˜KšœŸœŸ˜Kšœ™KšœŸœŸœŸœŸœŸœŸœ ŸœŸœŸœŸœ ŸœŸœ ŸœŸœŸœ™ฎKš œŸœ ŸœŸœ*Ÿœ™OKšœŸœŸœ™&Kšœ Ÿœ ŸœŸœ ŸœŸœ ŸœŸœ™VKšœ ŸœŸœŸœ™1Kš œŸœ ŸœŸœŸœ™*Kš œŸœ ŸœŸœŸœ™-Kš œŸœŸœŸœŸœ™/Kš œŸœŸœŸœ#Ÿœ™EKš œ ŸœŸœŸœŸœŸœŸœ™=Kš œ ŸœŸœŸœŸœŸœ™1Kšœ ŸœŸœ™Kš œ ŸœŸœŸœŸœŸœ™YKš œ ŸœŸœŸœŸœŸ™6Kšœ˜K˜—KšœŸœ˜#šœ ŸœŸœ˜KšœŸœ˜ Kšœ ˜ Kšœ ˜ Kšœ ˜ Kšœ ˜ Kšœ ŸœŸœ˜Kšœ ŸœŸœ˜Kšœ ŸœŸ˜Kšœ˜K˜—KšœŸœŸœ˜šœŸœŸœ˜K˜ K˜ K˜K˜—K˜Kšœ™Kšœ ŸœŸœŸœ˜-Kšœ˜KšœŸœŸœŸœ ˜,Kšœ ŸœŸœC˜]KšœŸœŸœ˜+šœŸœŸœ˜ KšœŸœ˜ Kš œŸœ ŸœŸœ œŸœ Ÿœ˜HKšœ˜KšœŸœŸœŸœ˜—KšœŸœŸœ˜1šœŸœŸœ˜$Kšœ ŸœŸœ˜KšœŸœŸœ˜Kš œ ŸœŸœŸœŸœ˜Kšœ˜K˜K˜—Kšœ(˜(Kšœ(˜(Kšœ*˜*Kšœ-˜-Kšœ(˜(Kšœ'˜'Kšœ'˜'Kšœ$˜$Kšœ'˜'K˜Kšœ˜Kšœ˜Kšœ˜K˜Kšœ Ÿœ˜KšœŸœ˜KšœŸœ˜KšœŸœ˜K˜Kšœ!˜!Kšœ$˜$Kšœ%˜%Kšœ#˜#K˜KšœŸœ˜K˜Kš  œŸœ Ÿœ ŸœŸœŸœŸœŸœ˜MKš  œŸœ Ÿœ ŸœŸœŸœŸœŸœŸœ˜P—Kšœ˜K˜—…—f