1Rowm : module { 2 PATH : con "/dis/acme/row.dis"; 3 4 init : fn(mods : ref Dat->Mods); 5 6 newrow : fn() : ref Row; 7 8 Row : adt { 9 qlock : ref Dat->Lock; 10 r : Draw->Rect; 11 tag : cyclic ref Textm->Text; 12 col : cyclic array of ref Columnm->Column; 13 ncol : int; 14 15 init : fn(r : self ref Row, re : Draw->Rect); 16 add : fn(r : self ref Row, c : ref Columnm->Column, n : int) : ref Columnm->Column; 17 close : fn(r : self ref Row, c : ref Columnm->Column, n : int); 18 which : fn(r : self ref Row, p : Draw->Point) : ref Textm->Text; 19 whichcol : fn(r : self ref Row, p : Draw->Point) : ref Columnm->Column; 20 reshape : fn(r : self ref Row, re : Draw->Rect); 21 typex : fn(r : self ref Row, ru : int, p : Draw->Point) : ref Textm->Text; 22 dragcol : fn(r : self ref Row, c : ref Columnm->Column); 23 clean : fn(r : self ref Row, exiting : int) : int; 24 dump : fn(r : self ref Row, b : string); 25 loadx : fn(r : self ref Row, b : string, n : int); 26 }; 27 28 allwindows: fn(a0: int, aw: ref Dat->Allwin); 29}; 30