{-# OPTIONS -Wall #-}
module DataTreeView.SimpleView where
import Graphics.UI.Gtk
import Data.Data
import Data.Monoid
import Control.Monad.Trans

import DataTreeView.Widget
import DataTreeView.DataToTree

simpleView ::  Data d => [d] -> IO ()
simpleView = simpleViewWithCH mempty

simpleViewWithCH ::  Data d => CustomHandler -> [d] -> IO ()
simpleViewWithCH ch xs = do
   _ <- initGUI
   window <- windowNew
   _ <- window `on` deleteEvent $ liftIO (mainQuit >> return False)
   
   dtv <- dtvNewWithCH ch xs

   set window [ windowTypeHint := WindowTypeHintNormal
              , containerChild := dtv ]

   -- i.e., on window deleteEvent (liftIO mainQuit >> return False)
   widgetShowAll window
   mainGUI