Browser: module { PATH: con "/dis/grid/lib/browser.dis"; DESELECT: con 0; SELECT: con 1; TOGGLE: con 2; OPEN: con 3; CLOSE: con 4; init: fn (); dialog: fn (ctxt: ref draw->Context, oldtop: ref Tk->Toplevel, butlist: list of string, title, msg: string): int; prevpath: fn (path: string): string; setcentre: fn (top1, top2: ref Tk->Toplevel); Browse: adt { new: fn (top: ref Tk->Toplevel, tkchanname, root, rlabel: string, nopanes: int, reader: PathReader): ref Browse; refresh: fn (b: self ref Browse); defaultaction: fn (b: self ref Browse, lst: list of string, f: ref File); getpath: fn (b: self ref Browse, tkpath: string): ref File; opendir: fn (b: self ref Browse, file: File, tkpath: string, action: int): int; newroot: fn (b: self ref Browse, root, rlabel: string); changeview: fn (b: self ref Browse, nopanes: int); selectfile: fn (b: self ref Browse, pane, action: int, file: File, tkpath: string); gotoselectfile: fn (b: self ref Browse, file: File): string; gotopath: fn (b: self ref Browse, dir: File, openfinal: int): (File, string); getselected: fn (b: self ref Browse, pane: int): File; addopened: fn (b: self ref Browse, file: File, add: int); showpath: fn (b: self ref Browse, on: int); resize: fn (b: self ref Browse); top: ref Tk->Toplevel; tkchan: string; bgnorm, bgselect: string; nopanes: int; selected: array of Selected; opened: list of File; root, rlabel: string; reader: PathReader; pane1: File; pane0width: string; width: int; showpathlabel: int; released: int; }; SELECTED: con 0; UNSELECTED: con 1; ALL: con 2; Select: adt { new: fn (top: ref Tk->Toplevel, tkchanname: string): ref Select; addframe: fn (s: self ref Select, fname, title: string); showframe: fn (s: self ref Select, fname: string); delframe: fn (s: self ref Select, fname: string); addselection: fn (s: self ref Select, fname, text: string, lp: list of ref Parameter, allowdups: int): string; delselection: fn (s: self ref Select, fname, tkpath: string); getselection: fn (s: self ref Select, fname: string): list of (string, list of ref Parameter); getselected: fn (s: self ref Select, fname: string): string; select: fn (s: self ref Select, fname, tkpath: string, action: int); defaultaction: fn (s: self ref Select, lst: list of string); resize: fn (s: self ref Select, width, height: int); setscrollr: fn (s: self ref Select, fname: string); top: ref Tk->Toplevel; tkchan: string; currfname, currfid: string; frames: list of ref Frame; }; Frame: adt { name: string; path: string; selected: string; }; Parameter: adt { pick { ArgIn => name, initval: string; ArgOut => name, val: string; IntIn => min, max, initval: int; IntOut => val: int; } }; File: adt { eq: fn (a,b: File): int; path, qid: string; }; Selected: adt { file: File; tkpath: string; };};
Browser: module {
PATH: con "/dis/grid/lib/browser.dis";
DESELECT: con 0;
SELECT: con 1;
TOGGLE: con 2;
OPEN: con 3;
CLOSE: con 4;
init: fn ();
dialog: fn (ctxt: ref draw->Context, oldtop: ref Tk->Toplevel, butlist: list of string, title, msg: string): int;
prevpath: fn (path: string): string;
setcentre: fn (top1, top2: ref Tk->Toplevel);
Browse: adt {
new: fn (top: ref Tk->Toplevel, tkchanname, root, rlabel: string, nopanes: int, reader: PathReader): ref Browse;
refresh: fn (b: self ref Browse);
defaultaction: fn (b: self ref Browse, lst: list of string, f: ref File);
getpath: fn (b: self ref Browse, tkpath: string): ref File;
opendir: fn (b: self ref Browse, file: File, tkpath: string, action: int): int;
newroot: fn (b: self ref Browse, root, rlabel: string);
changeview: fn (b: self ref Browse, nopanes: int);
selectfile: fn (b: self ref Browse, pane, action: int, file: File, tkpath: string);
gotoselectfile: fn (b: self ref Browse, file: File): string;
gotopath: fn (b: self ref Browse, dir: File, openfinal: int): (File, string);
getselected: fn (b: self ref Browse, pane: int): File;
addopened: fn (b: self ref Browse, file: File, add: int);
showpath: fn (b: self ref Browse, on: int);
resize: fn (b: self ref Browse);
top: ref Tk->Toplevel;
tkchan: string;
bgnorm, bgselect: string;
nopanes: int;
selected: array of Selected;
opened: list of File;
root, rlabel: string;
reader: PathReader;
pane1: File;
pane0width: string;
width: int;
showpathlabel: int;
released: int;
};
SELECTED: con 0;
UNSELECTED: con 1;
ALL: con 2;
Select: adt {
new: fn (top: ref Tk->Toplevel, tkchanname: string): ref Select;
addframe: fn (s: self ref Select, fname, title: string);
showframe: fn (s: self ref Select, fname: string);
delframe: fn (s: self ref Select, fname: string);
addselection: fn (s: self ref Select, fname, text: string, lp: list of ref Parameter, allowdups: int): string;
delselection: fn (s: self ref Select, fname, tkpath: string);
getselection: fn (s: self ref Select, fname: string): list of (string, list of ref Parameter);
getselected: fn (s: self ref Select, fname: string): string;
select: fn (s: self ref Select, fname, tkpath: string, action: int);
defaultaction: fn (s: self ref Select, lst: list of string);
resize: fn (s: self ref Select, width, height: int);
setscrollr: fn (s: self ref Select, fname: string);
top: ref Tk->Toplevel;
tkchan: string;
currfname, currfid: string;
frames: list of ref Frame;
};
Frame: adt {
name: string;
path: string;
selected: string;
};
Parameter: adt {
pick {
ArgIn =>
name, initval: string;
ArgOut =>
name, val: string;
IntIn =>
min, max, initval: int;
IntOut =>
val: int;
}
};
File: adt {
eq: fn (a,b: File): int;
path, qid: string;
};
Selected: adt {
file: File;
tkpath: string;
};
};