-- TEditEditingClass.mesa; Edited by McGregor on 14-Sep-81 10:53:53

DIRECTORY

TextNode USING [Location],
ViewerClasses USING [Viewer];
  
TEditEditingClass: DEFINITIONS = BEGIN

DocAdr: TYPE = REF Position;
Position: TYPE = PRIVATE TextNode.Location;	-- Implementation use only

Insert: PROC [self: ViewerClasses.Viewer, char: CHARACTER ← 0C, insertion: REF ANY,
	adr: DocAdr ← NIL, repaint: BOOLEAN ← TRUE] ;

Get: PROC [self: ViewerClasses.Viewer, from, to: DocAdr ← NIL,
	advanceAdr: BOOLEAN ← TRUE] RETURNS [REF ANY] ;

Delete: PROC [self: ViewerClasses.Viewer, from, to: DocAdr ← NIL,
	repaint: BOOLEAN ← TRUE] ;

Bounds: PROC [self: ViewerClasses.Viewer] RETURNS [top, bottom: DocAdr] ;

Comparison: TYPE = {equal, notEqual, greater, less} ;

CompareAdr: PROC [self: ViewerClasses.Viewer, adr1, adr2: DocAdr ← NIL]
	RETURNS [Comparison] ;

AssignAdr: PROC [self: ViewerClasses.Viewer, from, into: DocAdr ← NIL] ;

OutOfBoundsDocAdr: SIGNAL;

MoveAdr: PROC [self: ViewerClasses.Viewer, n: LONG INTEGER, adr: DocAdr ← NIL] ; 

NewAdr: PROC [self: ViewerClasses.Viewer, adr: DocAdr ← NIL] RETURNS [DocAdr] ; 

END.