summaryrefslogtreecommitdiff
path: root/module/dividers.m
blob: f14a6405f7c3f5dd32eebc77db3e50a56a768f42 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Dividers: module {
	init: fn();
	Divider: adt {
		new: fn(win: ref Tk->Toplevel, w: string, wl: list of string, dir: int): (ref Divider, chan of string);
		event: fn(d: self ref Divider, e: string);

		# private from here.
		win: ref Tk->Toplevel;
		w: string;
		state: ref DState;
		
		dir: int;			# NS or EW
		widgets: array of ref DWidget;
		canvsize: Draw->Point;
	};

	EW, NS: con iota;
	PATH: con "/dis/lib/dividers.dis";

	# private from here
	DWidget: adt {
		w: string;
		r: Draw->Rect;
		size: Draw->Point;
	};
	
	DState: adt {
		dragdiv: int;
		dy: int;
		maxy, miny: int;
	};
	
};