barrie-0.4.1: demos/InnerDemo.hs
module Main where
import Barrie
demoWidget :: Widget
demoWidget = vbox [ui "fst label" (textLabel "fst label"),
ui "snd label" (textLabel "snd label"),
innerWidget]
innerWidget :: Widget
innerWidget = ui "textEditor" textBox
type DemoState = (String, String)
type DemoGadget = Gadget DemoState
type InnerState = String
type InnerGadget = Gadget InnerState
demoGUI :: DemoGadget
demoGUI = sectionG "demo gui" [displayG "fst label" fst,
displayG "snd label" snd,
childG "demo inner" fst (\ x (_,y) -> (x,y))
innerGUI]
innerGUI :: InnerGadget
innerGUI = editorG "textEditor" id (\ s _ -> s)
main = do mapM_ putStrLn $ widgetToLines demoWidget
-- print $ abstract demoGUI
gtkMain demoGUI demoWidget ("change me", "can't change me")