<> <> DIRECTORY TableBase, TableOps; TableOpsImpl: CEDAR PROGRAM EXPORTS TableOps = { OPEN TableBase, TableOps; <<>> DeleteRow: PUBLIC PROCEDURE [table: RefTable, deleteTopGrid, deleteBottomGrid: GridNumber] = { <> <<>> <> <> <> <<>> <> <> <> <= deleteTopGrid AND box.bottom <= deleteBottomGrid THEN don't copy this box>> <> < deleteTopGrid THEN {>> <> <> <> <<}>> < deleteTopGrid THEN {>> <> <> <> <<}>> <> <<}>> <<>> }; DeleteCol: PUBLIC PROCEDURE [table: RefTable, deleteLeftGrid, deleteRightGrid: GridNumber] = { <> }; InsertRow: PUBLIC PROCEDURE [table: RefTable, rowGrid: GridNumber, where: BeforeOrAfter] = { <> <<>> <> <> <> <> <> <> <> <<>> <> <> < {>> < rowGrid THEN box.top _ box.top + 1>> <= rowGrid THEN box.bottom _ box.bottom + 1>> <<}>> < {>> <= rowGrid THEN box.top _ box.top + 1>> < rowGrid THEN box.bottom _ box.bottom + 1>> <<}>> < ERROR;>> <> }; TransposeTable: PUBLIC PROCEDURE [table: RefTable] = { <> <<>> <> <> <> <> <> <> <> <<>> <> < box.left>> < box.right>> <> }; }.