DIRECTORY Rope USING [ROPE], TiogaDocument USING [Selection], TiogaSelection USING [pSel, sSel], TiogaScrolling USING [AutoScroll], UndoEvent, ViewerClasses USING [Viewer], TiogaOps; TiogaOpsImpl: CEDAR PROGRAM IMPORTS TiogaSelection, TiogaScrolling EXPORTS TiogaOps = BEGIN OPEN TiogaOps, TiogaSelection, ViewerClasses; ------ Selections and their contents ------ GetSelContents: PUBLIC PROC RETURNS [contents: Rope.ROPE] = {RETURN[IF pSel.viewer=NIL THEN NIL ELSE NARROW[pSel.viewer.class.get[pSel.viewer, $SelChars]]]} ; GetSelData: PUBLIC PROC [primary: BOOLEAN _ TRUE] RETURNS [data: TiogaDocument.Selection] = {RETURN [IF primary THEN pSel ELSE sSel]} ; ------ display ------ AutoScroll: PUBLIC PROC [tryToGlitch: BOOLEAN _ TRUE] = { TiogaScrolling.AutoScroll[tryToGlitch: tryToGlitch] }; -- scroll to selection ------ Viewers and contents ------ GetTextContents: PUBLIC PROC [viewer: Viewer] RETURNS [contents: Rope.ROPE] = {RETURN[NARROW[viewer.class.get[viewer]]]} ; SetTextContents: PUBLIC PROC [viewer: Viewer, contents: Rope.ROPE] = {viewer.class.set[viewer, contents]} ; END. J-- TiogaOpsImpl.mesa, Edited by Paxton on October 28, 1982 11:47 am ÊÀ˜JšÏcC™CJ˜šÏk ˜ Jšœžœžœ˜Jšœžœ ˜ Jšœžœ˜"Jšœžœ˜"J˜ Jšœžœ ˜J˜ J˜—šœž ˜Jšžœ˜&Jšžœ ˜J˜—Jšžœžœ)˜3J˜J˜Jš+˜+J˜š Ïnœžœžœžœžœ˜;š œžœžœ žœžœž˜#Jšžœžœ3˜>J˜——š Ÿ œžœžœ žœžœ˜1Jšžœ"˜)Jš œžœžœ žœžœ ˜+J˜—J˜Jš˜J˜š Ÿ œžœžœžœžœ˜9Jšœ7˜MJ˜J˜—Jš"˜"J˜š Ÿœžœžœžœžœ˜NJšœžœžœ˜,J˜—šŸœžœžœ!žœ˜DJ˜&J˜—Jšžœ˜—…—R\