Re: 7GUIs

new topic     » goto parent     » topic index » view thread      » older message » newer message

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 
new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu