{-# LINE 2 "./Graphics/UI/Gtk/Abstract/Container.chs" #-}
module Graphics.UI.Gtk.Abstract.Container (
Container,
ContainerClass,
castToContainer, gTypeContainer,
toContainer,
ContainerForeachCB,
ResizeMode(..),
containerAdd,
containerRemove,
containerForeach,
containerForall,
containerGetChildren,
containerSetFocusChild,
containerSetFocusChain,
containerGetFocusChain,
containerUnsetFocusChain,
containerSetFocusVAdjustment,
containerGetFocusVAdjustment,
containerSetFocusHAdjustment,
containerGetFocusHAdjustment,
containerResizeChildren,
containerSetBorderWidth,
containerGetBorderWidth,
containerGetResizeMode,
containerSetResizeMode,
containerResizeMode,
containerBorderWidth,
containerChild,
containerFocusHAdjustment,
containerFocusVAdjustment,
add,
checkResize,
remove,
setFocusChild,
{-# LINE 196 "./Graphics/UI/Gtk/Abstract/Container.chs" #-}
) where
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
{-# LINE 205 "./Graphics/UI/Gtk/Abstract/Container.chs" #-}
import Graphics.UI.Gtk.Signals
{-# LINE 206 "./Graphics/UI/Gtk/Abstract/Container.chs" #-}
import System.Glib.GList (fromGList, withGList)
import Graphics.UI.Gtk.General.Enums (ResizeMode(..))
{-# LINE 210 "./Graphics/UI/Gtk/Abstract/Container.chs" #-}
containerAdd :: (ContainerClass self, WidgetClass widget) => self
-> widget
-> IO ()
containerAdd :: forall self widget.
(ContainerClass self, WidgetClass widget) =>
self -> widget -> IO ()
containerAdd self
self widget
widget =
(\(Container ForeignPtr Container
arg1) (Widget ForeignPtr Widget
arg2) -> ForeignPtr Container -> (Ptr Container -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Container
arg1 ((Ptr Container -> IO ()) -> IO ())
-> (Ptr Container -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Container
argPtr1 ->ForeignPtr Widget -> (Ptr Widget -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Widget
arg2 ((Ptr Widget -> IO ()) -> IO ()) -> (Ptr Widget -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Widget
argPtr2 ->Ptr Container -> Ptr Widget -> IO ()
gtk_container_add Ptr Container
argPtr1 Ptr Widget
argPtr2)
{-# LINE 227 "./Graphics/UI/Gtk/Abstract/Container.chs" #-}
(toContainer self)
(widget -> Widget
forall o. WidgetClass o => o -> Widget
toWidget widget
widget)
containerRemove :: (ContainerClass self, WidgetClass widget) => self
-> widget
-> IO ()
containerRemove :: forall self widget.
(ContainerClass self, WidgetClass widget) =>
self -> widget -> IO ()
containerRemove self
self widget
widget =
(\(Container ForeignPtr Container
arg1) (Widget ForeignPtr Widget
arg2) -> ForeignPtr Container -> (Ptr Container -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Container
arg1 ((Ptr Container -> IO ()) -> IO ())
-> (Ptr Container -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Container
argPtr1 ->ForeignPtr Widget -> (Ptr Widget -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Widget
arg2 ((Ptr Widget -> IO ()) -> IO ()) -> (Ptr Widget -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Widget
argPtr2 ->Ptr Container -> Ptr Widget -> IO ()
gtk_container_remove Ptr Container
argPtr1 Ptr Widget
argPtr2)
{-# LINE 237 "./Graphics/UI/Gtk/Abstract/Container.chs" #-}
(toContainer self)
(widget -> Widget
forall o. WidgetClass o => o -> Widget
toWidget widget
widget)
containerForeach :: ContainerClass self => self
-> ContainerForeachCB
-> IO ()
containerForeach :: forall self.
ContainerClass self =>
self -> (Widget -> IO ()) -> IO ()
containerForeach self
self Widget -> IO ()
fun = do
Callback
fPtr <- (Ptr Widget -> Ptr () -> IO ()) -> IO Callback
mkContainerForeachFunc (\Ptr Widget
wPtr Ptr ()
_ -> do
Widget
w <- (ForeignPtr Widget -> Widget, FinalizerPtr Widget)
-> IO (Ptr Widget) -> IO Widget
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewObject (ForeignPtr Widget -> Widget, FinalizerPtr Widget)
forall {a}. (ForeignPtr Widget -> Widget, FinalizerPtr a)
mkWidget (Ptr Widget -> IO (Ptr Widget)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Widget
wPtr)
Widget -> IO ()
fun Widget
w)
(\(Container ForeignPtr Container
arg1) Callback
arg2 Ptr ()
arg3 -> ForeignPtr Container -> (Ptr Container -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Container
arg1 ((Ptr Container -> IO ()) -> IO ())
-> (Ptr Container -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Container
argPtr1 ->Ptr Container -> Callback -> Ptr () -> IO ()
gtk_container_foreach Ptr Container
argPtr1 Callback
arg2 Ptr ()
arg3)
{-# LINE 253 "./Graphics/UI/Gtk/Abstract/Container.chs" #-}
(toContainer self)
Callback
fPtr
Ptr ()
forall a. Ptr a
nullPtr
Callback -> IO ()
forall a. FunPtr a -> IO ()
freeHaskellFunPtr Callback
fPtr
type ContainerForeachCB = Widget -> IO ()
type Callback = FunPtr (((Ptr Widget) -> ((Ptr ()) -> (IO ()))))
{-# LINE 261 "./Graphics/UI/Gtk/Abstract/Container.chs" #-}
foreign import ccall "wrapper" mkContainerForeachFunc ::
(Ptr Widget -> Ptr () -> IO ()) -> IO Callback
containerForall :: ContainerClass self => self
-> ContainerForeachCB
-> IO ()
containerForall :: forall self.
ContainerClass self =>
self -> (Widget -> IO ()) -> IO ()
containerForall self
self Widget -> IO ()
fun = do
Callback
fPtr <- (Ptr Widget -> Ptr () -> IO ()) -> IO Callback
mkContainerForeachFunc (\Ptr Widget
wPtr Ptr ()
_ -> do
Widget
w <- (ForeignPtr Widget -> Widget, FinalizerPtr Widget)
-> IO (Ptr Widget) -> IO Widget
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewObject (ForeignPtr Widget -> Widget, FinalizerPtr Widget)
forall {a}. (ForeignPtr Widget -> Widget, FinalizerPtr a)
mkWidget (Ptr Widget -> IO (Ptr Widget)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Widget
wPtr)
Widget -> IO ()
fun Widget
w)
(\(Container ForeignPtr Container
arg1) Callback
arg2 Ptr ()
arg3 -> ForeignPtr Container -> (Ptr Container -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Container
arg1 ((Ptr Container -> IO ()) -> IO ())
-> (Ptr Container -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Container
argPtr1 ->Ptr Container -> Callback -> Ptr () -> IO ()
gtk_container_forall Ptr Container
argPtr1 Callback
arg2 Ptr ()
arg3)
{-# LINE 279 "./Graphics/UI/Gtk/Abstract/Container.chs" #-}
(toContainer self)
Callback
fPtr
Ptr ()
forall a. Ptr a
nullPtr
Callback -> IO ()
forall a. FunPtr a -> IO ()
freeHaskellFunPtr Callback
fPtr
containerGetChildren :: ContainerClass self => self
-> IO [Widget]
containerGetChildren :: forall self. ContainerClass self => self -> IO [Widget]
containerGetChildren self
self = do
Ptr ()
glist <- (\(Container ForeignPtr Container
arg1) -> ForeignPtr Container
-> (Ptr Container -> IO (Ptr ())) -> IO (Ptr ())
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Container
arg1 ((Ptr Container -> IO (Ptr ())) -> IO (Ptr ()))
-> (Ptr Container -> IO (Ptr ())) -> IO (Ptr ())
forall a b. (a -> b) -> a -> b
$ \Ptr Container
argPtr1 ->Ptr Container -> IO (Ptr ())
gtk_container_get_children Ptr Container
argPtr1) (self -> Container
forall o. ContainerClass o => o -> Container
toContainer self
self)
[Ptr Widget]
widgetPtrs <- Ptr () -> IO [Ptr Widget]
forall a. Ptr () -> IO [Ptr a]
fromGList Ptr ()
glist
(Ptr Widget -> IO Widget) -> [Ptr Widget] -> IO [Widget]
forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
forall (m :: * -> *) a b. Monad m => (a -> m b) -> [a] -> m [b]
mapM ((ForeignPtr Widget -> Widget, FinalizerPtr Widget)
-> IO (Ptr Widget) -> IO Widget
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewObject (ForeignPtr Widget -> Widget, FinalizerPtr Widget)
forall {a}. (ForeignPtr Widget -> Widget, FinalizerPtr a)
mkWidget (IO (Ptr Widget) -> IO Widget)
-> (Ptr Widget -> IO (Ptr Widget)) -> Ptr Widget -> IO Widget
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Ptr Widget -> IO (Ptr Widget)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return) [Ptr Widget]
widgetPtrs
containerSetFocusChild :: (ContainerClass self, WidgetClass child) => self
-> child
-> IO ()
containerSetFocusChild :: forall self widget.
(ContainerClass self, WidgetClass widget) =>
self -> widget -> IO ()
containerSetFocusChild self
self child
child =
(\(Container ForeignPtr Container
arg1) (Widget ForeignPtr Widget
arg2) -> ForeignPtr Container -> (Ptr Container -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Container
arg1 ((Ptr Container -> IO ()) -> IO ())
-> (Ptr Container -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Container
argPtr1 ->ForeignPtr Widget -> (Ptr Widget -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Widget
arg2 ((Ptr Widget -> IO ()) -> IO ()) -> (Ptr Widget -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Widget
argPtr2 ->Ptr Container -> Ptr Widget -> IO ()
gtk_container_set_focus_child Ptr Container
argPtr1 Ptr Widget
argPtr2)
{-# LINE 301 "./Graphics/UI/Gtk/Abstract/Container.chs" #-}
(toContainer self)
(child -> Widget
forall o. WidgetClass o => o -> Widget
toWidget child
child)
containerSetFocusChain :: ContainerClass self => self
-> [Widget]
-> IO ()
containerSetFocusChain :: forall self. ContainerClass self => self -> [Widget] -> IO ()
containerSetFocusChain self
self [Widget]
chain =
[ForeignPtr Widget] -> ([Ptr Widget] -> IO ()) -> IO ()
forall a b. [ForeignPtr a] -> ([Ptr a] -> IO b) -> IO b
withForeignPtrs ((Widget -> ForeignPtr Widget) -> [Widget] -> [ForeignPtr Widget]
forall a b. (a -> b) -> [a] -> [b]
map Widget -> ForeignPtr Widget
unWidget [Widget]
chain) (([Ptr Widget] -> IO ()) -> IO ())
-> ([Ptr Widget] -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \[Ptr Widget]
wPtrs ->
[Ptr Widget] -> (Ptr () -> IO ()) -> IO ()
forall a b. [Ptr a] -> (Ptr () -> IO b) -> IO b
withGList [Ptr Widget]
wPtrs ((Ptr () -> IO ()) -> IO ()) -> (Ptr () -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ()
glist ->
(\(Container ForeignPtr Container
arg1) Ptr ()
arg2 -> ForeignPtr Container -> (Ptr Container -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Container
arg1 ((Ptr Container -> IO ()) -> IO ())
-> (Ptr Container -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Container
argPtr1 ->Ptr Container -> Ptr () -> IO ()
gtk_container_set_focus_chain Ptr Container
argPtr1 Ptr ()
arg2)
{-# LINE 319 "./Graphics/UI/Gtk/Abstract/Container.chs" #-}
(toContainer self)
Ptr ()
glist
containerGetFocusChain :: ContainerClass self => self
-> IO (Maybe [Widget])
containerGetFocusChain :: forall self. ContainerClass self => self -> IO (Maybe [Widget])
containerGetFocusChain self
self =
(Ptr (Ptr ()) -> IO (Maybe [Widget])) -> IO (Maybe [Widget])
forall a b. Storable a => (Ptr a -> IO b) -> IO b
alloca ((Ptr (Ptr ()) -> IO (Maybe [Widget])) -> IO (Maybe [Widget]))
-> (Ptr (Ptr ()) -> IO (Maybe [Widget])) -> IO (Maybe [Widget])
forall a b. (a -> b) -> a -> b
$ \Ptr (Ptr ())
glistPtr -> do
(\(Container ForeignPtr Container
arg1) Ptr (Ptr ())
arg2 -> ForeignPtr Container -> (Ptr Container -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Container
arg1 ((Ptr Container -> IO CInt) -> IO CInt)
-> (Ptr Container -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr Container
argPtr1 ->Ptr Container -> Ptr (Ptr ()) -> IO CInt
gtk_container_get_focus_chain Ptr Container
argPtr1 Ptr (Ptr ())
arg2)
{-# LINE 332 "./Graphics/UI/Gtk/Abstract/Container.chs" #-}
(toContainer self)
Ptr (Ptr ())
glistPtr
if Ptr (Ptr ())
glistPtr Ptr (Ptr ()) -> Ptr (Ptr ()) -> Bool
forall a. Eq a => a -> a -> Bool
== Ptr (Ptr ())
forall a. Ptr a
nullPtr then Maybe [Widget] -> IO (Maybe [Widget])
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe [Widget]
forall a. Maybe a
Nothing else ([Widget] -> Maybe [Widget]) -> IO [Widget] -> IO (Maybe [Widget])
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM [Widget] -> Maybe [Widget]
forall a. a -> Maybe a
Just (IO [Widget] -> IO (Maybe [Widget]))
-> IO [Widget] -> IO (Maybe [Widget])
forall a b. (a -> b) -> a -> b
$ do
Ptr ()
glist <- Ptr (Ptr ()) -> IO (Ptr ())
forall a. Storable a => Ptr a -> IO a
peek Ptr (Ptr ())
glistPtr
[Ptr Widget]
widgetPtrs <- Ptr () -> IO [Ptr Widget]
forall a. Ptr () -> IO [Ptr a]
fromGList Ptr ()
glist
(Ptr Widget -> IO Widget) -> [Ptr Widget] -> IO [Widget]
forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
forall (m :: * -> *) a b. Monad m => (a -> m b) -> [a] -> m [b]
mapM ((ForeignPtr Widget -> Widget, FinalizerPtr Widget)
-> IO (Ptr Widget) -> IO Widget
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewObject (ForeignPtr Widget -> Widget, FinalizerPtr Widget)
forall {a}. (ForeignPtr Widget -> Widget, FinalizerPtr a)
mkWidget (IO (Ptr Widget) -> IO Widget)
-> (Ptr Widget -> IO (Ptr Widget)) -> Ptr Widget -> IO Widget
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Ptr Widget -> IO (Ptr Widget)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return) [Ptr Widget]
widgetPtrs
containerUnsetFocusChain :: ContainerClass self => self -> IO ()
containerUnsetFocusChain :: forall self. ContainerClass self => self -> IO ()
containerUnsetFocusChain self
self =
(\(Container ForeignPtr Container
arg1) -> ForeignPtr Container -> (Ptr Container -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Container
arg1 ((Ptr Container -> IO ()) -> IO ())
-> (Ptr Container -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Container
argPtr1 ->Ptr Container -> IO ()
gtk_container_unset_focus_chain Ptr Container
argPtr1)
{-# LINE 344 "./Graphics/UI/Gtk/Abstract/Container.chs" #-}
(toContainer self)
containerSetFocusVAdjustment :: ContainerClass self => self
-> Adjustment
-> IO ()
containerSetFocusVAdjustment :: forall self. ContainerClass self => self -> Adjustment -> IO ()
containerSetFocusVAdjustment self
self Adjustment
adjustment =
(\(Container ForeignPtr Container
arg1) (Adjustment ForeignPtr Adjustment
arg2) -> ForeignPtr Container -> (Ptr Container -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Container
arg1 ((Ptr Container -> IO ()) -> IO ())
-> (Ptr Container -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Container
argPtr1 ->ForeignPtr Adjustment -> (Ptr Adjustment -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Adjustment
arg2 ((Ptr Adjustment -> IO ()) -> IO ())
-> (Ptr Adjustment -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Adjustment
argPtr2 ->Ptr Container -> Ptr Adjustment -> IO ()
gtk_container_set_focus_vadjustment Ptr Container
argPtr1 Ptr Adjustment
argPtr2)
{-# LINE 361 "./Graphics/UI/Gtk/Abstract/Container.chs" #-}
(toContainer self)
Adjustment
adjustment
containerGetFocusVAdjustment :: ContainerClass self => self
-> IO (Maybe Adjustment)
containerGetFocusVAdjustment :: forall self. ContainerClass self => self -> IO (Maybe Adjustment)
containerGetFocusVAdjustment self
self =
(IO (Ptr Adjustment) -> IO Adjustment)
-> IO (Ptr Adjustment) -> IO (Maybe Adjustment)
forall a. (IO (Ptr a) -> IO a) -> IO (Ptr a) -> IO (Maybe a)
maybeNull ((ForeignPtr Adjustment -> Adjustment, FinalizerPtr Adjustment)
-> IO (Ptr Adjustment) -> IO Adjustment
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewObject (ForeignPtr Adjustment -> Adjustment, FinalizerPtr Adjustment)
forall {a}. (ForeignPtr Adjustment -> Adjustment, FinalizerPtr a)
mkAdjustment) (IO (Ptr Adjustment) -> IO (Maybe Adjustment))
-> IO (Ptr Adjustment) -> IO (Maybe Adjustment)
forall a b. (a -> b) -> a -> b
$
(\(Container ForeignPtr Container
arg1) -> ForeignPtr Container
-> (Ptr Container -> IO (Ptr Adjustment)) -> IO (Ptr Adjustment)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Container
arg1 ((Ptr Container -> IO (Ptr Adjustment)) -> IO (Ptr Adjustment))
-> (Ptr Container -> IO (Ptr Adjustment)) -> IO (Ptr Adjustment)
forall a b. (a -> b) -> a -> b
$ \Ptr Container
argPtr1 ->Ptr Container -> IO (Ptr Adjustment)
gtk_container_get_focus_vadjustment Ptr Container
argPtr1)
{-# LINE 373 "./Graphics/UI/Gtk/Abstract/Container.chs" #-}
(toContainer self)
containerSetFocusHAdjustment :: ContainerClass self => self
-> Adjustment
-> IO ()
containerSetFocusHAdjustment :: forall self. ContainerClass self => self -> Adjustment -> IO ()
containerSetFocusHAdjustment self
self Adjustment
adjustment =
(\(Container ForeignPtr Container
arg1) (Adjustment ForeignPtr Adjustment
arg2) -> ForeignPtr Container -> (Ptr Container -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Container
arg1 ((Ptr Container -> IO ()) -> IO ())
-> (Ptr Container -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Container
argPtr1 ->ForeignPtr Adjustment -> (Ptr Adjustment -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Adjustment
arg2 ((Ptr Adjustment -> IO ()) -> IO ())
-> (Ptr Adjustment -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Adjustment
argPtr2 ->Ptr Container -> Ptr Adjustment -> IO ()
gtk_container_set_focus_hadjustment Ptr Container
argPtr1 Ptr Adjustment
argPtr2)
{-# LINE 390 "./Graphics/UI/Gtk/Abstract/Container.chs" #-}
(toContainer self)
Adjustment
adjustment
containerGetFocusHAdjustment :: ContainerClass self => self
-> IO (Maybe Adjustment)
containerGetFocusHAdjustment :: forall self. ContainerClass self => self -> IO (Maybe Adjustment)
containerGetFocusHAdjustment self
self =
(IO (Ptr Adjustment) -> IO Adjustment)
-> IO (Ptr Adjustment) -> IO (Maybe Adjustment)
forall a. (IO (Ptr a) -> IO a) -> IO (Ptr a) -> IO (Maybe a)
maybeNull ((ForeignPtr Adjustment -> Adjustment, FinalizerPtr Adjustment)
-> IO (Ptr Adjustment) -> IO Adjustment
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewObject (ForeignPtr Adjustment -> Adjustment, FinalizerPtr Adjustment)
forall {a}. (ForeignPtr Adjustment -> Adjustment, FinalizerPtr a)
mkAdjustment) (IO (Ptr Adjustment) -> IO (Maybe Adjustment))
-> IO (Ptr Adjustment) -> IO (Maybe Adjustment)
forall a b. (a -> b) -> a -> b
$
(\(Container ForeignPtr Container
arg1) -> ForeignPtr Container
-> (Ptr Container -> IO (Ptr Adjustment)) -> IO (Ptr Adjustment)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Container
arg1 ((Ptr Container -> IO (Ptr Adjustment)) -> IO (Ptr Adjustment))
-> (Ptr Container -> IO (Ptr Adjustment)) -> IO (Ptr Adjustment)
forall a b. (a -> b) -> a -> b
$ \Ptr Container
argPtr1 ->Ptr Container -> IO (Ptr Adjustment)
gtk_container_get_focus_hadjustment Ptr Container
argPtr1)
{-# LINE 402 "./Graphics/UI/Gtk/Abstract/Container.chs" #-}
(toContainer self)
containerResizeChildren :: ContainerClass self => self -> IO ()
containerResizeChildren :: forall self. ContainerClass self => self -> IO ()
containerResizeChildren self
self =
(\(Container ForeignPtr Container
arg1) -> ForeignPtr Container -> (Ptr Container -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Container
arg1 ((Ptr Container -> IO ()) -> IO ())
-> (Ptr Container -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Container
argPtr1 ->Ptr Container -> IO ()
gtk_container_resize_children Ptr Container
argPtr1)
{-# LINE 409 "./Graphics/UI/Gtk/Abstract/Container.chs" #-}
(toContainer self)
containerSetBorderWidth :: ContainerClass self => self
-> Int
-> IO ()
containerSetBorderWidth :: forall self. ContainerClass self => self -> Int -> IO ()
containerSetBorderWidth self
self Int
borderWidth =
(\(Container ForeignPtr Container
arg1) CUInt
arg2 -> ForeignPtr Container -> (Ptr Container -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Container
arg1 ((Ptr Container -> IO ()) -> IO ())
-> (Ptr Container -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Container
argPtr1 ->Ptr Container -> CUInt -> IO ()
gtk_container_set_border_width Ptr Container
argPtr1 CUInt
arg2)
{-# LINE 427 "./Graphics/UI/Gtk/Abstract/Container.chs" #-}
(toContainer self)
(Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
borderWidth)
containerGetBorderWidth :: ContainerClass self => self
-> IO Int
containerGetBorderWidth :: forall self. ContainerClass self => self -> IO Int
containerGetBorderWidth self
self =
(CUInt -> Int) -> IO CUInt -> IO Int
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral (IO CUInt -> IO Int) -> IO CUInt -> IO Int
forall a b. (a -> b) -> a -> b
$
(\(Container ForeignPtr Container
arg1) -> ForeignPtr Container -> (Ptr Container -> IO CUInt) -> IO CUInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Container
arg1 ((Ptr Container -> IO CUInt) -> IO CUInt)
-> (Ptr Container -> IO CUInt) -> IO CUInt
forall a b. (a -> b) -> a -> b
$ \Ptr Container
argPtr1 ->Ptr Container -> IO CUInt
gtk_container_get_border_width Ptr Container
argPtr1)
{-# LINE 438 "./Graphics/UI/Gtk/Abstract/Container.chs" #-}
(toContainer self)
containerGetResizeMode :: ContainerClass self => self
-> IO ResizeMode
containerGetResizeMode :: forall self. ContainerClass self => self -> IO ResizeMode
containerGetResizeMode self
self =
(CInt -> ResizeMode) -> IO CInt -> IO ResizeMode
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM (Int -> ResizeMode
forall a. Enum a => Int -> a
toEnum (Int -> ResizeMode) -> (CInt -> Int) -> CInt -> ResizeMode
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) (IO CInt -> IO ResizeMode) -> IO CInt -> IO ResizeMode
forall a b. (a -> b) -> a -> b
$
(\(Container ForeignPtr Container
arg1) -> ForeignPtr Container -> (Ptr Container -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Container
arg1 ((Ptr Container -> IO CInt) -> IO CInt)
-> (Ptr Container -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr Container
argPtr1 ->Ptr Container -> IO CInt
gtk_container_get_resize_mode Ptr Container
argPtr1)
{-# LINE 447 "./Graphics/UI/Gtk/Abstract/Container.chs" #-}
(toContainer self)
containerSetResizeMode :: ContainerClass self => self
-> ResizeMode
-> IO ()
containerSetResizeMode :: forall self. ContainerClass self => self -> ResizeMode -> IO ()
containerSetResizeMode self
self ResizeMode
resizeMode =
(\(Container ForeignPtr Container
arg1) CInt
arg2 -> ForeignPtr Container -> (Ptr Container -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Container
arg1 ((Ptr Container -> IO ()) -> IO ())
-> (Ptr Container -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Container
argPtr1 ->Ptr Container -> CInt -> IO ()
gtk_container_set_resize_mode Ptr Container
argPtr1 CInt
arg2)
{-# LINE 460 "./Graphics/UI/Gtk/Abstract/Container.chs" #-}
(toContainer self)
((Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (ResizeMode -> Int) -> ResizeMode -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ResizeMode -> Int
forall a. Enum a => a -> Int
fromEnum) ResizeMode
resizeMode)
containerResizeMode :: ContainerClass self => Attr self ResizeMode
containerResizeMode :: forall self. ContainerClass self => Attr self ResizeMode
containerResizeMode = (self -> IO ResizeMode)
-> (self -> ResizeMode -> IO ())
-> ReadWriteAttr self ResizeMode ResizeMode
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
self -> IO ResizeMode
forall self. ContainerClass self => self -> IO ResizeMode
containerGetResizeMode
self -> ResizeMode -> IO ()
forall self. ContainerClass self => self -> ResizeMode -> IO ()
containerSetResizeMode
containerBorderWidth :: ContainerClass self => Attr self Int
containerBorderWidth :: forall self. ContainerClass self => Attr self Int
containerBorderWidth = (self -> IO Int)
-> (self -> Int -> IO ()) -> ReadWriteAttr self Int Int
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
self -> IO Int
forall self. ContainerClass self => self -> IO Int
containerGetBorderWidth
self -> Int -> IO ()
forall self. ContainerClass self => self -> Int -> IO ()
containerSetBorderWidth
containerChild :: (ContainerClass self, WidgetClass widget) => WriteAttr self widget
containerChild :: forall self widget.
(ContainerClass self, WidgetClass widget) =>
WriteAttr self widget
containerChild = String -> GType -> WriteAttr self widget
forall gobj gobj'.
(GObjectClass gobj, GObjectClass gobj') =>
String -> GType -> WriteAttr gobj gobj'
writeAttrFromObjectProperty String
"child"
GType
gtk_widget_get_type
{-# LINE 491 "./Graphics/UI/Gtk/Abstract/Container.chs" #-}
containerFocusHAdjustment :: ContainerClass self => ReadWriteAttr self (Maybe Adjustment) Adjustment
containerFocusHAdjustment :: forall self.
ContainerClass self =>
ReadWriteAttr self (Maybe Adjustment) Adjustment
containerFocusHAdjustment = (self -> IO (Maybe Adjustment))
-> (self -> Adjustment -> IO ())
-> ReadWriteAttr self (Maybe Adjustment) Adjustment
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
self -> IO (Maybe Adjustment)
forall self. ContainerClass self => self -> IO (Maybe Adjustment)
containerGetFocusHAdjustment
self -> Adjustment -> IO ()
forall self. ContainerClass self => self -> Adjustment -> IO ()
containerSetFocusHAdjustment
containerFocusVAdjustment :: ContainerClass self => ReadWriteAttr self (Maybe Adjustment) Adjustment
containerFocusVAdjustment :: forall self.
ContainerClass self =>
ReadWriteAttr self (Maybe Adjustment) Adjustment
containerFocusVAdjustment = (self -> IO (Maybe Adjustment))
-> (self -> Adjustment -> IO ())
-> ReadWriteAttr self (Maybe Adjustment) Adjustment
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
self -> IO (Maybe Adjustment)
forall self. ContainerClass self => self -> IO (Maybe Adjustment)
containerGetFocusVAdjustment
self -> Adjustment -> IO ()
forall self. ContainerClass self => self -> Adjustment -> IO ()
containerSetFocusVAdjustment
add :: ContainerClass self => Signal self (Widget -> IO ())
add :: forall self. ContainerClass self => Signal self (Widget -> IO ())
add = (Bool -> self -> (Widget -> IO ()) -> IO (ConnectId self))
-> Signal self (Widget -> IO ())
forall object handler.
(Bool -> object -> handler -> IO (ConnectId object))
-> Signal object handler
Signal (String -> Bool -> self -> (Widget -> IO ()) -> IO (ConnectId self)
forall a' obj.
(GObjectClass a', GObjectClass obj) =>
String -> Bool -> obj -> (a' -> IO ()) -> IO (ConnectId obj)
connect_OBJECT__NONE String
"add")
remove :: ContainerClass self => Signal self (Widget -> IO ())
remove :: forall self. ContainerClass self => Signal self (Widget -> IO ())
remove = (Bool -> self -> (Widget -> IO ()) -> IO (ConnectId self))
-> Signal self (Widget -> IO ())
forall object handler.
(Bool -> object -> handler -> IO (ConnectId object))
-> Signal object handler
Signal (String -> Bool -> self -> (Widget -> IO ()) -> IO (ConnectId self)
forall a' obj.
(GObjectClass a', GObjectClass obj) =>
String -> Bool -> obj -> (a' -> IO ()) -> IO (ConnectId obj)
connect_OBJECT__NONE String
"remove")
checkResize :: ContainerClass self => Signal self (IO ())
checkResize :: forall self. ContainerClass self => Signal self (IO ())
checkResize = (Bool -> self -> IO () -> IO (ConnectId self))
-> Signal self (IO ())
forall object handler.
(Bool -> object -> handler -> IO (ConnectId object))
-> Signal object handler
Signal (String -> Bool -> self -> IO () -> IO (ConnectId self)
forall obj.
GObjectClass obj =>
String -> Bool -> obj -> IO () -> IO (ConnectId obj)
connect_NONE__NONE String
"check-resize")
setFocusChild :: ContainerClass self => Signal self (Maybe Widget -> IO ())
setFocusChild :: forall self.
ContainerClass self =>
Signal self (Maybe Widget -> IO ())
setFocusChild = (Bool -> self -> (Maybe Widget -> IO ()) -> IO (ConnectId self))
-> Signal self (Maybe Widget -> IO ())
forall object handler.
(Bool -> object -> handler -> IO (ConnectId object))
-> Signal object handler
Signal (String
-> Bool -> self -> (Maybe Widget -> IO ()) -> IO (ConnectId self)
forall a' obj.
(GObjectClass a', GObjectClass obj) =>
String -> Bool -> obj -> (Maybe a' -> IO ()) -> IO (ConnectId obj)
connect_MOBJECT__NONE String
"set-focus-child")
foreign import ccall safe "gtk_container_add"
gtk_container_add :: ((Ptr Container) -> ((Ptr Widget) -> (IO ())))
foreign import ccall safe "gtk_container_remove"
gtk_container_remove :: ((Ptr Container) -> ((Ptr Widget) -> (IO ())))
foreign import ccall safe "gtk_container_foreach"
gtk_container_foreach :: ((Ptr Container) -> ((FunPtr ((Ptr Widget) -> ((Ptr ()) -> (IO ())))) -> ((Ptr ()) -> (IO ()))))
foreign import ccall safe "gtk_container_forall"
gtk_container_forall :: ((Ptr Container) -> ((FunPtr ((Ptr Widget) -> ((Ptr ()) -> (IO ())))) -> ((Ptr ()) -> (IO ()))))
foreign import ccall safe "gtk_container_get_children"
gtk_container_get_children :: ((Ptr Container) -> (IO (Ptr ())))
foreign import ccall safe "gtk_container_set_focus_child"
gtk_container_set_focus_child :: ((Ptr Container) -> ((Ptr Widget) -> (IO ())))
foreign import ccall safe "gtk_container_set_focus_chain"
gtk_container_set_focus_chain :: ((Ptr Container) -> ((Ptr ()) -> (IO ())))
foreign import ccall safe "gtk_container_get_focus_chain"
gtk_container_get_focus_chain :: ((Ptr Container) -> ((Ptr (Ptr ())) -> (IO CInt)))
foreign import ccall safe "gtk_container_unset_focus_chain"
gtk_container_unset_focus_chain :: ((Ptr Container) -> (IO ()))
foreign import ccall safe "gtk_container_set_focus_vadjustment"
gtk_container_set_focus_vadjustment :: ((Ptr Container) -> ((Ptr Adjustment) -> (IO ())))
foreign import ccall unsafe "gtk_container_get_focus_vadjustment"
gtk_container_get_focus_vadjustment :: ((Ptr Container) -> (IO (Ptr Adjustment)))
foreign import ccall safe "gtk_container_set_focus_hadjustment"
gtk_container_set_focus_hadjustment :: ((Ptr Container) -> ((Ptr Adjustment) -> (IO ())))
foreign import ccall unsafe "gtk_container_get_focus_hadjustment"
gtk_container_get_focus_hadjustment :: ((Ptr Container) -> (IO (Ptr Adjustment)))
foreign import ccall safe "gtk_container_resize_children"
gtk_container_resize_children :: ((Ptr Container) -> (IO ()))
foreign import ccall safe "gtk_container_set_border_width"
gtk_container_set_border_width :: ((Ptr Container) -> (CUInt -> (IO ())))
foreign import ccall unsafe "gtk_container_get_border_width"
gtk_container_get_border_width :: ((Ptr Container) -> (IO CUInt))
foreign import ccall safe "gtk_container_get_resize_mode"
gtk_container_get_resize_mode :: ((Ptr Container) -> (IO CInt))
foreign import ccall safe "gtk_container_set_resize_mode"
gtk_container_set_resize_mode :: ((Ptr Container) -> (CInt -> (IO ())))
foreign import ccall unsafe "gtk_widget_get_type"
gtk_widget_get_type :: CULong