DIRECTORY IndexProps USING [IndexEntry], RedBlackTree USING [Table], Rope USING [ROPE], TextNode USING [Span, nullSpan, Ref], TiogaButtons USING [TiogaButton]; IndexTree: CEDAR DEFINITIONS = BEGIN Index: TYPE ~ RECORD[ table: RedBlackTree.Table, root: TextNode.Ref ]; CreateIndex: PROC [rootOfIndex: TextNode.Ref] RETURNS [index: Index]; IxItem: TYPE ~ REF IxItemRec; IxItemRec: TYPE ~ RECORD[ ix: IndexProps.IndexEntry, range: TextNode.Span _ TextNode.nullSpan, button: TiogaButtons.TiogaButton _ NIL ]; InsertNewIndexEntry: PROCEDURE [ix: IndexProps.IndexEntry, range: TextNode.Span, index: Index] RETURNS [ixItem: IxItem]; DuplicateKey: SIGNAL; -- if ix entry already present in the table RopeForIndexReference: PROCEDURE [ixItem: IxItem, seenPage, seenSee: BOOLEAN _ FALSE] RETURNS [reference: Rope.ROPE _ NIL, sawPage, sawSee: BOOLEAN _ FALSE]; DeleteIndexEntry: PROCEDURE [ixItem: IxItem, index: Index]; END. ͺIndexTree.mesa Copyright c 1985 by Xerox Corporation. All rights reserved. Created by Rick Beach, July 11, 1983 9:20 am Rick Beach, April 29, 1985 12:04:52 pm PDT Κ}˜codešœ™Kšœ Οmœ1™