tabloid-0.44: ShellCmdInputView.hs
module ShellCmdInputView where
import Graphics.UI.Gtk
import Graphics.UI.Gtk.ModelView as MV
import qualified TextInputView as TV
data ViewState = V
{
mainWidget :: Widget
, executeB :: Button
, exitCodeL :: Label
, textView :: TextView
, cancelB :: Button
, shellE :: Entry
, tvv :: TV.ViewState
}
new buf fileButtons = do
shellH <- hBoxNew False 2
shellE <- entryNew
entrySetText shellE "/bin/bash"
shellL <- labelNew $ Just "shell: "
boxPackStart shellH shellL PackNatural 2
boxPackStart shellH shellE PackGrow 2
tvv@(TV.V mainW execB exitL cmdE cancB) <- TV.new buf fileButtons
vbox <- vBoxNew False 2
boxPackStart vbox shellH PackGrow 2
boxPackStart vbox mainW PackGrow 2
return $ V (toWidget vbox) execB exitL cmdE cancB shellE tvv