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")