Mercurial > hg > Applications > Lite
diff disp.pl @ 19:e1d3145cff7a lite-verifier
*** empty log message ***
author | kono |
---|---|
date | Thu, 30 Aug 2007 12:44:35 +0900 |
parents | 1c57a78f1d98 |
children | 07d6c4c5654b |
line wrap: on
line diff
--- a/disp.pl Sun Jan 21 10:21:43 2001 +0900 +++ b/disp.pl Thu Aug 30 12:44:35 2007 +0900 @@ -30,11 +30,31 @@ display :- init_display,!, - event_loop(run). + event_loop(run), + tcl_exit. + +tcl_exit :- + tcl(X),tcl_delete(X),retract(tcl(X)). + +tcl_name(L,Name) :- + concatenate(L,L1), + name(Name,L1). + +concatenate([],[]). +concatenate([H|T],X) :- atomic(H),!, + name(H,List),concatenate(T,X1),append(List,X1,X). +concatenate([H|T],X) :- H=[_|_], + concatenate(T,X1),append(H,X1,X). + +tcl_eval(E) :- atomic(E),!, + tcl(Tcl),tcl_eval(Tcl,E,_). +tcl_eval(E) :- E=[_|_],tcl_name(E,N), + tcl(Tcl),tcl_eval(Tcl,N,_). init_display :- (retract(r_event(_,_)),fail;true), - tk_init('lite',[]), + tk_new([name('Lite Verifier')], Tcl), + assert(tcl(Tcl)), % tcl_eval('source disp.tcl'), tcl_eval('source xf-disp'), all_disable. @@ -78,8 +98,9 @@ all_enable. verify(_) :- all_disable. + display_contents(X) :- - ttyflush,t2strings(X,XS0),easy_pp(XS0,XS), + ttyflush,t2string(X,XS0),easy_pp(XS0,XS), tcl_eval('$symbolicName(entry) delete 0.0 end'), tcl_eval(['$symbolicName(entry) insert 0.0 {',XS,'}']), display_update.