|
From: <kr_...@us...> - 2003-03-27 13:36:24
|
Update of /cvsroot/htoolkit/gio/src/examples/simple
In directory sc8-pr-cvs1:/tmp/cvs-serv10752/gio/src/examples/simple
Added Files:
Progress.hs
Log Message:
Added implementation for ProgressBar and Slider controls
--- NEW FILE: Progress.hs ---
module Main where
import Graphics.UI.GIO
main = start "Progress" SDI [] demo
maxSpeed = 200 :: Int
maxProgress = 200 :: Int
demo = do
myfont <- createFont defaultFontDef{fontSize=50}
w <- window [view =: sz 800 100, domain =: sz 800 80]
tm <- timer [interval =: maxSpeed `div` 2]
prg <- hProgressBar True [progressRange =: (0,maxProgress)] w
lbl <- label [text =: "Speed"] w
sld <- hslider [sliderRange =: (0,maxSpeed), sliderPos =: maxSpeed `div` 2] w
set w [layout =: (hfill prg ^^^ (lbl <<< hfill sld))]
set tm [on command =: set prg [progressPos ~: next]]
set sld [on command =: changeSpeed tm sld]
set w [on destroy =: destroyTimer tm]
return ()
where
next x | x >= maxProgress = 0
| otherwise = x+1
changeSpeed tm sld = do
pos <- get sld sliderPos
set tm [interval =: maxSpeed-pos+20]
|