Charles.Forsyth20060303a828770d19 years agoHistory
75 lines · 1.6 KB · Objective-C
RawDownload
include "tk.m";include "wmlib.m"; Samterm: module{ 	PATH:		con "/dis/wm/sam.dis"; 	Section: adt	{		nrunes:	int;		text:	string;		# if null, we haven't got it	}; 	Range: adt {		first, last: int;	}; 	Flayer: adt {		tag:		int;		t:		ref Tk->Toplevel;		tkwin:		string;	# tk window name		scope:		Range;	# part of file in range		dot:		Range;	# cursor position wrt file, not scope		width:		int;	# window width (not used yet)		lineheigth:	int;	# height of a single line (for resize)		lines:		int;	# window height in lines		scrollbar:	Range;	# current position of scrollbar		typepoint:	int;	# -1, or pos of first unsent char typed	}; 	Text: adt {		tag:		int;		lock:		int;		flayers:	list of ref Flayer;	# hd flayers is current		nrunes:		int;		sects:		list of ref Section;		state:		int;	}; 	Dirty:	con 1;	LDirty:	con 2; 	Menu: adt {		tag:		int;		name:		string;		text:		ref Text;	}; 	Context: adt {		ctxt:		ref Draw->Context;		tag:		int;	# globally unique tag generator		lock:		int;	# global lock 		keysel:		array of chan of string;		scrollsel:	array of chan of string;		buttonsel:	array of chan of string;		menu2sel:	array of chan of string;		menu3sel:	array of chan of string;		titlesel:	array of chan of string;		flayers:	array of ref Flayer; 		menus:		array of ref Menu;		texts:		array of ref Text; 		cmd:		ref Text;	# sam command window		which:		ref Flayer;	# current flayer (sam or work)		work:		ref Flayer;	# current work flayer 		pgrp:		int;		# process group		logfd:		ref FD;	}; 	init:		fn(ctxt: ref Draw->Context, args: list of string);};