1Windowm : module { 2 PATH : con "/dis/acme/wind.dis"; 3 4 init : fn(mods : ref Dat->Mods); 5 6 Window : adt { 7 qlock : ref Dat->Lock; 8 refx : ref Dat->Ref; 9 tag : cyclic ref Textm->Text; 10 body : cyclic ref Textm->Text; 11 r : Draw->Rect; 12 isdir : int; 13 isscratch : int; 14 filemenu : int; 15 dirty : int; 16 id : int; 17 addr : Dat->Range; 18 limit : Dat->Range; 19 nopen : array of byte; 20 nomark : int; 21 noscroll : int; 22 echomode : int; 23 wrselrange : Dat->Range; 24 rdselfd : ref Sys->FD; 25 col : cyclic ref Columnm->Column; 26 eventx : cyclic ref Xfidm->Xfid; 27 events : string; 28 nevents : int; 29 owner : int; 30 maxlines : int; 31 dlp : array of ref Dat->Dirlist; 32 ndl : int; 33 putseq : int; 34 nincl : int; 35 incl : array of string; 36 reffont : ref Dat->Reffont; 37 ctllock : ref Dat->Lock; 38 ctlfid : int; 39 dumpstr : string; 40 dumpdir : string; 41 dumpid : int; 42 utflastqid : int; 43 utflastboff : int; 44 utflastq : int; 45 46 init : fn(w : self ref Window, w0 : ref Window, r : Draw->Rect); 47 lock : fn(w : self ref Window, n : int); 48 lock1 : fn(w : self ref Window, n : int); 49 unlock : fn(w : self ref Window); 50 typex : fn(w : self ref Window, t : ref Textm->Text, r : int); 51 undo : fn(w : self ref Window, n : int); 52 setname : fn(w : self ref Window, r : string, n : int); 53 settag : fn(w : self ref Window); 54 settag1 : fn(w : self ref Window); 55 commit : fn(w : self ref Window, t : ref Textm->Text); 56 reshape : fn(w : self ref Window, r : Draw->Rect, n : int) : int; 57 close : fn(w : self ref Window); 58 delete : fn(w : self ref Window); 59 clean : fn(w : self ref Window, n : int, exiting : int) : int; 60 dirfree : fn(w : self ref Window); 61 event : fn(w : self ref Window, b : string); 62 mousebut : fn(w : self ref Window); 63 addincl : fn(w : self ref Window, r : string, n : int); 64 cleartag : fn(w : self ref Window); 65 ctlprint : fn(w : self ref Window, fonts : int) : string; 66 }; 67}; 68