grapefruit-ui-gtk-0.0.0.0: src/Graphics/UI/Grapefruit/GTK/Backend/Std.hs
module Graphics.UI.Grapefruit.GTK.Backend.Std () where
-- FRP.Grapefruit
import FRP.Grapefruit.Record as Record
import FRP.Grapefruit.Record.Context as ContextRecord
-- Graphics.UI.Grapefruit
import Graphics.UI.Grapefruit.Backend.Std as StdUIBackend
-- Graphics.UI.Gtk
import qualified Graphics.UI.Gtk as Gtk
-- Graphics.UI.Grapefruit.GTK
import {-# SOURCE #-} Graphics.UI.Grapefruit.GTK as GTK
import Graphics.UI.Grapefruit.GTK.Connector as GTKConnector
import Graphics.UI.Grapefruit.GTK.Item as GTKUIItem
import Graphics.UI.Grapefruit.GTK.Backend as GTKUIBackend
instance StdUIBackend GTK where
label = widgetBrick (Gtk.labelNew Nothing)
(X :& Text ::~~ attrConsumer Gtk.labelLabel)
X
pushButton = widgetBrick Gtk.buttonNew
(X :& Text ::~~ attrConsumer Gtk.buttonLabel)
(X :& Push ::~~ eventProducer Gtk.onPressed)
box orientation = widgetBox (case orientation of
Horizontal -> newGtkBox Gtk.hBoxNew
Vertical -> newGtkBox Gtk.vBoxNew)
Gtk.containerAdd
X
X where
newGtkBox rawNewGtkBox = fmap Gtk.toBox (rawNewGtkBox False 0)
window = windowBox Gtk.windowNew
Gtk.containerAdd
(X :& Title ::~~ attrConsumer Gtk.windowTitle)
(X :& Closure ::~~ eventProducer Gtk.onDestroy)