barrie-0.4.1: demos/ChooserDemo.hs
{-# LANGUAGE DeriveDataTypeable #-}
module Main where
import Data.Maybe
import Data.Typeable
import Barrie
demoWidget :: Widget
demoWidget = vbox [ui "demo chooser" dropList,
ui "demo chooser" listView,
ui "choice" (textLabel "Nothing chosen")]
data Option = Trains | Planes | Automobiles
deriving (Read, Show, Enum, Bounded, Typeable)
type DemoState = Option
type DemoGadget = Gadget DemoState
demoGUI :: DemoGadget
demoGUI = sectionG "demo gui" [enumChooserG "demo chooser" id const,
displayG "choice" show]
main = gtkMain demoGUI demoWidget Trains