DIRECTORY FeedbackTypes, GGInterfaceTypes, IO, Rope; GGSessionLog: CEDAR DEFINITIONS = BEGIN MsgRouter: TYPE = FeedbackTypes.MsgRouter; GGData: TYPE = GGInterfaceTypes.GGData; OpenScript: PROC [fileName: Rope.ROPE, ggData: GGData, oldStream: IO.STREAM _ NIL, oldScriptName: Rope.ROPE _ NIL] RETURNS [stream: IO.STREAM, fullName: Rope.ROPE]; AppendScript: PROC [fileName: Rope.ROPE, ggData: GGData, oldStream: IO.STREAM _ NIL, oldScriptName: Rope.ROPE] RETURNS [stream: IO.STREAM, fullName: Rope.ROPE]; CloseScript: PROC [stream: IO.STREAM, scriptName: Rope.ROPE, router: MsgRouter] RETURNS [newStream: IO.STREAM, newName: Rope.ROPE]; FlushScript: PROC [oldStream: IO.STREAM, oldScriptName: Rope.ROPE, router: MsgRouter] RETURNS [newStream: IO.STREAM, newName: Rope.ROPE]; EnterAction: PROC [clientData: REF, inputAction: REF]; PlaybackFromFile: PROC [fileName: Rope.ROPE, ggData: GGData]; EndOfScriptMessage: PROC [ggData: GGData, event: LIST OF REF ANY]; END. €GGSessionLog.mesa Pier, May 5, 1987 6:20:06 pm PDT Bier, March 14, 1991 10:26 am PST Contents: Routines for saving TIP Table atoms in a file to aid in interface evaluation and for playback. Implemented in GGUIUtilityImpl.mesa. Opens a script file (default extension ".script") to be written to. Resets the alignment lines of the Gargoyle viewer. Writes the rest of the Gargoyle state (i.e. other than alignment lines) into the script as a set of events that will achieve that state. If oldStream#NIL then it closes that stream before opening the new one. Close the script, causing all actions to be written to disk. Then, open it again with a new version number. Κ˜code™KšœΟk™ K™!—KšΟnœœm™K˜š ˜ Jšœ*˜*—K˜Kšž œœ œ˜'K˜Kšœ œ˜*Kšœœ˜'K˜šž œœœœœœ œœ œœœ˜€KšœΚ™Κ—Kšž œœœœœœœœ œœœ˜ Kšž œœ œœœœ œœœ˜ƒšž œœ œœœœ œœœ˜‰K™l—Kšž œœœœ˜6Kšžœœœ˜=Kš žœœœœœœ˜BK˜Kšœ˜K˜K˜—…—Κ