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] |