DIRECTORY Clock, Commander, IO, Process, Menus, ViewerOps, Rope, ViewerClasses; VideoCommands: CEDAR PROGRAM IMPORTS Clock, Commander, IO, Process, ViewerOps SHARES Clock = { clockForwards: INT _ 10; clockPause: INT _ 500; KickClock: PROC = { viewer: ViewerClasses.Viewer _ ViewerOps.FindViewer["Clock"]; data: REF _ viewer.data; FOR i:INT IN [0..clockForwards] DO Clock.ChangeOffset[parent: viewer, clientData: data, mouseButton: yellow, shift: TRUE, control: FALSE]; -- one minute forward Process.Pause[Process.MsecToTicks[clockPause]]; ENDLOOP; }; rope1: Rope.ROPE _ "PolleZ is visiting Terry at 2:03 PM.\n PolleZ calls will ring in Terry's office and PolleZ's office.\n"; rope2: Rope.ROPE _ NIL; Visit: Commander.CommandProc = { IO.PutRope[self: cmd.out, r: rope1]; IO.PutRope[self: cmd.out, r: rope2]; }; Commander.Register["Visit", Visit]; }. HVideoCommands.mesa Polle Zellweger (PTZ) February 12, 1986 5:58:39 pm PST CommandProc: TYPE = PROC [cmd: Handle] RETURNS [result: REF _ NIL, msg: ROPE _ NIL]; Polle Zellweger (PTZ) February 12, 1986 5:44:03 pm PST changes to: DIRECTORY, VideoCommands, KickClock (local of VideoCommands), Visit (local of VideoCommands) ΚT˜™Icode™6—J™šΟk ˜ JšœE˜EJ˜—šœœœœ)˜MJšœ˜J˜Jšœœ˜Jšœ œ˜J˜šΟn œœ˜Kšœ=˜=Kšœœ˜šœœœ˜#KšœQœ œΟc˜}Kšœ/˜/Kšœ˜—K˜K˜—Kšœ œn˜~Kšœ œœ˜K˜šΟbœ˜ Kšž œœœœ œœœœ™TKšœ"˜$Kšœ"˜$K˜K˜—K˜#K˜K˜—™6Kšœ Οr#œ‘œ™h—K™—…—\ψ