xref: /inferno-os/appl/acme/row.m (revision 37da2899f40661e3e9631e497da8dc59b971cbd0)
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