/* enter box - nov 97 - by Sylvain Huet a box to enter any data */ /* enter box structure */ struct EnterBox= [chEnterBox:Chn,winEnterBox:ObjWin,txtEnterBox:ObjText,endEnterBox:fun[S] I] mkEnterBox;; fun _ok(x,b)= let _GETtext b.txtEnterBox -> s in (_DSwindow b.winEnterBox; exec b.endEnterBox with [s]) ;; fun _cancel(x,b)= _DSwindow b.winEnterBox; exec b.endEnterBox with [nil] ;; fun _destroyE(x,b)= exec b.endEnterBox with [nil];; fun iniEnterBox(ch,father,x,y,title,end,txt)= let _CRwindow ch father x y 300 80 WN_MENU+WN_MINBOX title -> win in let _CRtext ch win 5 5 290 20 ET_BORDER txt -> banner in let _CReditLine ch win 5 30 290 20 ET_DOWN+ET_AHSCROLL "" -> text in let _CRbutton ch win 5 55 70 20 0 "Ok"-> ok in let _CRbutton ch win 80 55 70 20 0 "Cancel"-> cancel in let mkEnterBox [ch win text end]-> b in (_CBwinDestroy win @_destroyE b; _CBbutton ok @_ok b; _CBbutton cancel @_cancel b; b) ;; /*fun mydest(i)=_fooS i;_closemachine;; fun main()= iniEnterBox _channel nil 150 200 "rename window" @mydest "abc" ;; */