DIRECTORY IO, Real, Rope, TableBase, TSOutput, TSTypes; TableSelection: CEDAR DEFINITIONS = BEGIN OPEN TableBase; KindOfSelection: TYPE = {box, row, column, table}; BeforeOrAfter: TYPE = {before, after}; Selection: TYPE = REF SelectionRec; SelectionRec: TYPE = RECORD [ table: RefTable _ NIL, kind: KindOfSelection _ box, list: LIST OF SelectedThing _ NIL, insertion: BeforeOrAfter _ before ]; SelectedThing: TYPE ~ REF SelectedThingRec; SelectedThingRec: TYPE ~ RECORD [ box: RefTableBox _ NIL, grid1, grid2: GridNumber _ 0 ]; NewSelection: PROCEDURE [table: TableBase.RefTable] RETURNS [sel: Selection]; AnEmptySelection: PROCEDURE [sel: Selection] RETURNS [BOOLEAN]; ASingleSelection: PROCEDURE [sel: Selection] RETURNS [BOOLEAN]; ResolveToBox: PROCEDURE [table: RefTable, x, y: TSTypes.Dimn] RETURNS [box: RefTableBox]; SelectBox: PROCEDURE [table: RefTable, box: RefTableBox, kind: KindOfSelection] RETURNS [sel: Selection]; GrowSelection: PROCEDURE [sel: Selection, which: RowOrColumn]; END. ΰTableSelection.Mesa Copyright c 1985 by Xerox Corporation. All rights reserved. Created by Rick Beach, June 6, 1985 1:56:48 pm PDT x, y must be within the bounding box of table and relative to its coordinate system Κn˜code™Kšœ Οmœ1™—K˜Kšžœ˜—…—κ8