module Graphics.UI.Gtk.Layout.Layout (
Layout,
LayoutClass,
castToLayout, gTypeLayout,
toLayout,
layoutNew,
layoutPut,
layoutMove,
layoutSetSize,
layoutGetSize,
layoutGetHAdjustment,
layoutGetVAdjustment,
layoutSetHAdjustment,
layoutSetVAdjustment,
layoutGetDrawWindow,
layoutHAdjustment,
layoutVAdjustment,
layoutWidth,
layoutHeight,
layoutChildX,
layoutChildY,
onSetScrollAdjustments,
afterSetScrollAdjustments,
) where
import Data.Maybe (fromMaybe)
import Control.Monad (liftM)
import System.Glib.FFI
import System.Glib.Attributes
import System.Glib.Properties
import Graphics.UI.Gtk.Abstract.Object (makeNewObject)
import Graphics.UI.Gtk.Types
import Graphics.UI.Gtk.Signals
import Graphics.UI.Gtk.General.Structs (layoutGetDrawWindow)
import Graphics.UI.Gtk.Abstract.ContainerChildProperties
layoutNew ::
Maybe Adjustment
-> Maybe Adjustment
-> IO Layout
layoutNew hadjustment vadjustment =
makeNewObject mkLayout $
liftM (castPtr :: Ptr Widget -> Ptr Layout) $
(\(Adjustment arg1) (Adjustment arg2) -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_layout_new argPtr1 argPtr2)
(fromMaybe (Adjustment nullForeignPtr) hadjustment)
(fromMaybe (Adjustment nullForeignPtr) vadjustment)
layoutPut :: (LayoutClass self, WidgetClass childWidget) => self
-> childWidget
-> Int
-> Int
-> IO ()
layoutPut self childWidget x y =
(\(Layout arg1) (Widget arg2) arg3 arg4 -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_layout_put argPtr1 argPtr2 arg3 arg4)
(toLayout self)
(toWidget childWidget)
(fromIntegral x)
(fromIntegral y)
layoutMove :: (LayoutClass self, WidgetClass childWidget) => self
-> childWidget
-> Int
-> Int
-> IO ()
layoutMove self childWidget x y =
(\(Layout arg1) (Widget arg2) arg3 arg4 -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_layout_move argPtr1 argPtr2 arg3 arg4)
(toLayout self)
(toWidget childWidget)
(fromIntegral x)
(fromIntegral y)
layoutSetSize :: LayoutClass self => self
-> Int
-> Int
-> IO ()
layoutSetSize self width height =
(\(Layout arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->gtk_layout_set_size argPtr1 arg2 arg3)
(toLayout self)
(fromIntegral width)
(fromIntegral height)
layoutGetSize :: LayoutClass self => self
-> IO (Int, Int)
layoutGetSize self =
alloca $ \widthPtr ->
alloca $ \heightPtr -> do
(\(Layout arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->gtk_layout_get_size argPtr1 arg2 arg3)
(toLayout self)
widthPtr
heightPtr
width <-peek widthPtr
height <- peek heightPtr
return (fromIntegral width, fromIntegral height)
layoutGetHAdjustment :: LayoutClass self => self
-> IO Adjustment
layoutGetHAdjustment self =
makeNewObject mkAdjustment $
(\(Layout arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_layout_get_hadjustment argPtr1)
(toLayout self)
layoutGetVAdjustment :: LayoutClass self => self
-> IO Adjustment
layoutGetVAdjustment self =
makeNewObject mkAdjustment $
(\(Layout arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_layout_get_vadjustment argPtr1)
(toLayout self)
layoutSetHAdjustment :: LayoutClass self => self
-> Adjustment
-> IO ()
layoutSetHAdjustment self adjustment =
(\(Layout arg1) (Adjustment arg2) -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_layout_set_hadjustment argPtr1 argPtr2)
(toLayout self)
adjustment
layoutSetVAdjustment :: LayoutClass self => self
-> Adjustment
-> IO ()
layoutSetVAdjustment self adjustment =
(\(Layout arg1) (Adjustment arg2) -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_layout_set_vadjustment argPtr1 argPtr2)
(toLayout self)
adjustment
layoutHAdjustment :: LayoutClass self => Attr self Adjustment
layoutHAdjustment = newAttr
layoutGetHAdjustment
layoutSetHAdjustment
layoutVAdjustment :: LayoutClass self => Attr self Adjustment
layoutVAdjustment = newAttr
layoutGetVAdjustment
layoutSetVAdjustment
layoutWidth :: LayoutClass self => Attr self Int
layoutWidth = newAttrFromUIntProperty "width"
layoutHeight :: LayoutClass self => Attr self Int
layoutHeight = newAttrFromUIntProperty "height"
layoutChildX :: (LayoutClass self, WidgetClass child) => child -> Attr self Int
layoutChildX = newAttrFromContainerChildIntProperty "x"
layoutChildY :: (LayoutClass self, WidgetClass child) => child -> Attr self Int
layoutChildY = newAttrFromContainerChildIntProperty "y"
onSetScrollAdjustments, afterSetScrollAdjustments :: LayoutClass self => self
-> (Adjustment -> Adjustment -> IO ())
-> IO (ConnectId self)
onSetScrollAdjustments = connect_OBJECT_OBJECT__NONE "set-scroll-adjustments" False
afterSetScrollAdjustments = connect_OBJECT_OBJECT__NONE "set-scroll-adjustments" True
foreign import ccall unsafe "gtk_layout_new"
gtk_layout_new :: ((Ptr Adjustment) -> ((Ptr Adjustment) -> (IO (Ptr Widget))))
foreign import ccall safe "gtk_layout_put"
gtk_layout_put :: ((Ptr Layout) -> ((Ptr Widget) -> (CInt -> (CInt -> (IO ())))))
foreign import ccall safe "gtk_layout_move"
gtk_layout_move :: ((Ptr Layout) -> ((Ptr Widget) -> (CInt -> (CInt -> (IO ())))))
foreign import ccall safe "gtk_layout_set_size"
gtk_layout_set_size :: ((Ptr Layout) -> (CUInt -> (CUInt -> (IO ()))))
foreign import ccall unsafe "gtk_layout_get_size"
gtk_layout_get_size :: ((Ptr Layout) -> ((Ptr CUInt) -> ((Ptr CUInt) -> (IO ()))))
foreign import ccall unsafe "gtk_layout_get_hadjustment"
gtk_layout_get_hadjustment :: ((Ptr Layout) -> (IO (Ptr Adjustment)))
foreign import ccall unsafe "gtk_layout_get_vadjustment"
gtk_layout_get_vadjustment :: ((Ptr Layout) -> (IO (Ptr Adjustment)))
foreign import ccall safe "gtk_layout_set_hadjustment"
gtk_layout_set_hadjustment :: ((Ptr Layout) -> ((Ptr Adjustment) -> (IO ())))
foreign import ccall safe "gtk_layout_set_vadjustment"
gtk_layout_set_vadjustment :: ((Ptr Layout) -> ((Ptr Adjustment) -> (IO ())))