Re: 7GUIs
- Posted by irv Nov 20, 2017
- 1670 views
Here's the timer:
include GtkEngine.e atom duration = 0, elapsed = 0 constant win = create(GtkWindow,"border=10,$destroy=Quit"), grid = create(GtkGrid,"column spacing=10"), L1 = create(GtkLabel,"Elapsed Time"), G1 = create(GtkProgressBar), L2 = create(GtkLabel,"0s"), L3 = create(GtkLabel,"Duration"), S1 = create(GtkScale,HORIZONTAL,0,60,.1), B1 = create(GtkButton,"Reset","Reset") add(win,grid) --set(S1,"draw value",FALSE) connect(S1,"value-changed","UpdateDuration") set(grid,"attach",L1,1,1,1,1) set(grid,"attach",G1,2,1,1,1) set(grid,"attach",L2,1,2,1,1) set(grid,"attach",L3,1,3,1,1) set(grid,"attach",S1,2,3,1,1) set(grid,"attach",B1,1,4,2,1) atom tick = create(GTimeout,100,_("tock")) show_all(win) main() ----------------------- global function tock() ----------------------- if duration <= 0 then return 1 end if elapsed += 0.1 atom percent = round(elapsed/duration,10) if duration >= elapsed and percent <= 100 then set(G1,"fraction",percent) set(L2,"text",text:format("[.1s]",elapsed)) end if return 1 end function --------------------------------- global function UpdateDuration() --------------------------------- duration = get(S1,"value") return 1 end function ----------------------- global function Reset() ----------------------- elapsed = 0 set(G1,"fraction",0) return 1 end function