tabloid-0.44: DataProcView.hs
module DataProcView where
import Graphics.UI.Gtk
import Graphics.UI.Gtk.ModelView as MV
data ViewState = V
{
mainWidget :: Widget
, shellView :: Widget
, haskellView :: Widget
, shellOrHaskellContainer :: VBox
, useShellRB :: RadioButton
, useHaskellRB :: RadioButton
}
new :: Widget -> Widget -> Widget -> Widget -> IO ViewState
new sv rv tv haskellView = do
useShellRB <- radioButtonNewWithLabel "Input From Shell"
useHaskellRB <- radioButtonNewWithLabelFromWidget useShellRB "Haskell Code"
vbox <- vBoxNew False 0
radioButtonHBox <- hBoxNew False 0
boxPackStart radioButtonHBox useShellRB PackNatural 2
boxPackStart radioButtonHBox useHaskellRB PackNatural 2
boxPackStart vbox radioButtonHBox PackNatural 2
shellOrHaskellContainer <- vBoxNew False 0
boxPackStart vbox shellOrHaskellContainer PackNatural 2
shellView <- vBoxNew False 2
vbox2 <- vBoxNew False 0
w1ex <- expanderNew "Shell Command"
expanderSetExpanded w1ex True
containerAdd w1ex sv
w2ex <- expanderNew "Splitter Regex"
expanderSetExpanded w2ex False
containerAdd w2ex rv
boxPackStart vbox2 w1ex PackNatural 2
boxPackEnd vbox2 w2ex PackNatural 2
boxPackStart shellView vbox2 PackNatural 2
boxPackStart shellOrHaskellContainer shellView PackNatural 2
boxPackEnd vbox tv PackGrow 2
return (V
(toWidget vbox)
(toWidget shellView)
(toWidget haskellView)
shellOrHaskellContainer
useShellRB
useHaskellRB)