DIRECTORY TiogaNode; TiogaBasicClass: CEDAR DEFINITIONS = BEGIN OPEN TiogaNode; invalidBasicID: BasicClassID = LAST[BasicClassID]; BasicClass: TYPE = REF BasicClassRec; BasicClassRec: TYPE = RECORD [ get: BasicGetProc _ NIL, set: BasicSetProc _ NIL, copy: BasicCopyProc _ NIL, init: BasicInitProc _ NIL, destroy: BasicDestroyProc _ NIL, flavor: BasicFlavor _ NIL, privateOps: REF ANY _ NIL ]; BasicFlavor: TYPE = ATOM ; Basic: TYPE = RefBasicNode ; BasicInitProc: TYPE = PROC [self: Basic] ; BasicDestroyProc: TYPE = PROC [self: Basic] ; BasicCopyProc: TYPE = PROC [self, new: Basic] ; BasicSetProc: TYPE = PROC [self: Basic, op: ATOM _ NIL, data: REF ANY, finalise: BOOL _ TRUE] ; BasicGetProc: TYPE = PROC [self: Basic, op: ATOM _ NIL] RETURNS [data: REF ANY] ; END. PTiogaBasicClass.mesa; Written by Scott McGregor. May 1983 Edited by McGregor. August 10, 1983 4:34 pm Basic Classes Fetch the contents of a basic node. Set new contents for a basic node. Copy the relevent data from one basic node to another. Called forst thing on node creation. Notification to the implementor that the basic node is being removed from the document tree. Each basic node class has a unique name to distinguish it from other implementations. Implementor private class operations and data If op=$Restore then data is a Rope.ROPE obtained from a previous call on self.get and stored out on disk. If op=$Save then data returned should be a Rope.ROPE representation of the basic's private data in a form suitable for saving on disk and passing to a basic.set with op=$Restore. See TiogaNodeOps for registration of Basic Classes Κό˜Jšœ9™9Jšœ+™+J˜šΟk ˜ Iprocšœ ˜ J˜—Jšœœ œ œ ˜:J˜™ K˜Kšœœ˜2Kšœ œœ˜%K˜šœœœ˜šœœ˜Kšœ#™#—šœœ˜Kšœ"™"—šœœ˜Kšœ6™6—šœœ˜Kšœ$™$—šœœ˜ Kšœ\™\—šœ˜KšœU™U—šœ œœ˜Kšœ-™-—Kšœ˜—K˜Kšœ œœ˜K˜Kšœœ˜J˜JšΟn œœœ˜*J˜Jšžœœœ˜-J˜Jšž œœœ˜/J˜šž œœœœœœœ œœ˜_Jšœi™i—J˜šž œœœœœœœœ˜QJšœ²™²—J˜J™2J™—J™Jšœ˜J˜J˜—…—^