Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,26 @@
|
|||
import Graphics.UI.WX
|
||||
import System.Random
|
||||
|
||||
main :: IO ()
|
||||
main = start $ do
|
||||
frm <- frame [text := "Interact"]
|
||||
fld <- textEntry frm [text := "0", on keyboard := checkKeys]
|
||||
inc <- button frm [text := "increment", on command := increment fld]
|
||||
ran <- button frm [text := "random", on command := (randReplace fld frm)]
|
||||
set frm [layout := margin 5 $ floatCentre $ column 2
|
||||
[centre $ widget fld, row 2 [widget inc, widget ran]]]
|
||||
|
||||
increment :: Textual w => w -> IO ()
|
||||
increment field = do
|
||||
val <- get field text
|
||||
when ((not . null) val) $ set field [text := show $ 1 + read val]
|
||||
|
||||
checkKeys :: EventKey -> IO ()
|
||||
checkKeys (EventKey key _ _) =
|
||||
when (elem (show key) $ "Backspace" : map show [0..9]) propagateEvent
|
||||
|
||||
randReplace :: Textual w => w -> Window a -> IO ()
|
||||
randReplace field frame = do
|
||||
answer <- confirmDialog frame "Random" "Generate a random number?" True
|
||||
when answer $ getStdRandom (randomR (1,100)) >>= \num ->
|
||||
set field [text := show (num :: Int)]
|
||||
Loading…
Add table
Add a link
Reference in a new issue