1*46439007SCharles.Forsyth# pop-up menus. 2*46439007SCharles.Forsyth# use choicebuttons instead - it's difficult to get these right. 3*46439007SCharles.ForsythPopup: module { 4*46439007SCharles.Forsyth PATH: con "/dis/lib/popup.dis"; 5*46439007SCharles.Forsyth init: fn(); 6*46439007SCharles.Forsyth# mkbutton: fn(win: ref Tk->Toplevel, w: string, a: array of string, n: int): chan of string; 7*46439007SCharles.Forsyth# changebutton: fn(win: ref Tk->Toplevel, w: string, a: array of string, n: int); 8*46439007SCharles.Forsyth# event: fn(win: ref Tk->Toplevel, e: string, a: array of string): int; 9*46439007SCharles.Forsyth# add: fn(a: array of string, s: string): (array of string, int); 10*46439007SCharles.Forsyth post: fn(win: ref Tk->Toplevel, p: Draw->Point, a: array of string, n: int): chan of int; 11*46439007SCharles.Forsyth}; 12