{-# LINE 2 "./Graphics/UI/Gtk/Misc/SizeGroup.chs" #-}
module Graphics.UI.Gtk.Misc.SizeGroup (
SizeGroup,
SizeGroupClass,
castToSizeGroup, gTypeSizeGroup,
toSizeGroup,
sizeGroupNew,
SizeGroupMode(..),
sizeGroupSetMode,
sizeGroupGetMode,
sizeGroupAddWidget,
sizeGroupRemoveWidget,
sizeGroupSetIgnoreHidden,
sizeGroupGetIgnoreHidden,
sizeGroupMode,
sizeGroupIgnoreHidden,
) where
import Control.Monad (liftM)
import System.Glib.FFI
import System.Glib.Attributes
import Graphics.UI.Gtk.Types
{-# LINE 95 "./Graphics/UI/Gtk/Misc/SizeGroup.chs" #-}
{-# LINE 97 "./Graphics/UI/Gtk/Misc/SizeGroup.chs" #-}
data SizeGroupMode = SizeGroupNone
| SizeGroupHorizontal
| SizeGroupVertical
| SizeGroupBoth
deriving (Int -> SizeGroupMode
SizeGroupMode -> Int
SizeGroupMode -> [SizeGroupMode]
SizeGroupMode -> SizeGroupMode
SizeGroupMode -> SizeGroupMode -> [SizeGroupMode]
SizeGroupMode -> SizeGroupMode -> SizeGroupMode -> [SizeGroupMode]
(SizeGroupMode -> SizeGroupMode)
-> (SizeGroupMode -> SizeGroupMode)
-> (Int -> SizeGroupMode)
-> (SizeGroupMode -> Int)
-> (SizeGroupMode -> [SizeGroupMode])
-> (SizeGroupMode -> SizeGroupMode -> [SizeGroupMode])
-> (SizeGroupMode -> SizeGroupMode -> [SizeGroupMode])
-> (SizeGroupMode
-> SizeGroupMode -> SizeGroupMode -> [SizeGroupMode])
-> Enum SizeGroupMode
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
$csucc :: SizeGroupMode -> SizeGroupMode
succ :: SizeGroupMode -> SizeGroupMode
$cpred :: SizeGroupMode -> SizeGroupMode
pred :: SizeGroupMode -> SizeGroupMode
$ctoEnum :: Int -> SizeGroupMode
toEnum :: Int -> SizeGroupMode
$cfromEnum :: SizeGroupMode -> Int
fromEnum :: SizeGroupMode -> Int
$cenumFrom :: SizeGroupMode -> [SizeGroupMode]
enumFrom :: SizeGroupMode -> [SizeGroupMode]
$cenumFromThen :: SizeGroupMode -> SizeGroupMode -> [SizeGroupMode]
enumFromThen :: SizeGroupMode -> SizeGroupMode -> [SizeGroupMode]
$cenumFromTo :: SizeGroupMode -> SizeGroupMode -> [SizeGroupMode]
enumFromTo :: SizeGroupMode -> SizeGroupMode -> [SizeGroupMode]
$cenumFromThenTo :: SizeGroupMode -> SizeGroupMode -> SizeGroupMode -> [SizeGroupMode]
enumFromThenTo :: SizeGroupMode -> SizeGroupMode -> SizeGroupMode -> [SizeGroupMode]
Enum)
{-# LINE 99 "./Graphics/UI/Gtk/Misc/SizeGroup.chs" #-}
sizeGroupNew ::
SizeGroupMode
-> IO SizeGroup
sizeGroupNew :: SizeGroupMode -> IO SizeGroup
sizeGroupNew SizeGroupMode
mode =
(ForeignPtr SizeGroup -> SizeGroup, FinalizerPtr SizeGroup)
-> IO (Ptr SizeGroup) -> IO SizeGroup
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
wrapNewGObject (ForeignPtr SizeGroup -> SizeGroup, FinalizerPtr SizeGroup)
forall {a}. (ForeignPtr SizeGroup -> SizeGroup, FinalizerPtr a)
mkSizeGroup (IO (Ptr SizeGroup) -> IO SizeGroup)
-> IO (Ptr SizeGroup) -> IO SizeGroup
forall a b. (a -> b) -> a -> b
$
CInt -> IO (Ptr SizeGroup)
gtk_size_group_new
{-# LINE 111 "./Graphics/UI/Gtk/Misc/SizeGroup.chs" #-}
((fromIntegral . fromEnum) mode)
sizeGroupAddWidget :: (SizeGroupClass self, WidgetClass widget) => self
-> widget
-> IO ()
sizeGroupAddWidget :: forall self widget.
(SizeGroupClass self, WidgetClass widget) =>
self -> widget -> IO ()
sizeGroupAddWidget self
self widget
widget =
(\(SizeGroup ForeignPtr SizeGroup
arg1) (Widget ForeignPtr Widget
arg2) -> ForeignPtr SizeGroup -> (Ptr SizeGroup -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr SizeGroup
arg1 ((Ptr SizeGroup -> IO ()) -> IO ())
-> (Ptr SizeGroup -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr SizeGroup
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 SizeGroup -> Ptr Widget -> IO ()
gtk_size_group_add_widget Ptr SizeGroup
argPtr1 Ptr Widget
argPtr2)
{-# LINE 127 "./Graphics/UI/Gtk/Misc/SizeGroup.chs" #-}
(toSizeGroup self)
(widget -> Widget
forall o. WidgetClass o => o -> Widget
toWidget widget
widget)
sizeGroupGetMode :: SizeGroupClass self => self
-> IO SizeGroupMode
sizeGroupGetMode :: forall self. SizeGroupClass self => self -> IO SizeGroupMode
sizeGroupGetMode self
self =
(CInt -> SizeGroupMode) -> IO CInt -> IO SizeGroupMode
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM (Int -> SizeGroupMode
forall a. Enum a => Int -> a
toEnum (Int -> SizeGroupMode) -> (CInt -> Int) -> CInt -> SizeGroupMode
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 SizeGroupMode) -> IO CInt -> IO SizeGroupMode
forall a b. (a -> b) -> a -> b
$
(\(SizeGroup ForeignPtr SizeGroup
arg1) -> ForeignPtr SizeGroup -> (Ptr SizeGroup -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr SizeGroup
arg1 ((Ptr SizeGroup -> IO CInt) -> IO CInt)
-> (Ptr SizeGroup -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr SizeGroup
argPtr1 ->Ptr SizeGroup -> IO CInt
gtk_size_group_get_mode Ptr SizeGroup
argPtr1)
{-# LINE 137 "./Graphics/UI/Gtk/Misc/SizeGroup.chs" #-}
(toSizeGroup self)
sizeGroupRemoveWidget :: (SizeGroupClass self, WidgetClass widget) => self
-> widget
-> IO ()
sizeGroupRemoveWidget :: forall self widget.
(SizeGroupClass self, WidgetClass widget) =>
self -> widget -> IO ()
sizeGroupRemoveWidget self
self widget
widget =
(\(SizeGroup ForeignPtr SizeGroup
arg1) (Widget ForeignPtr Widget
arg2) -> ForeignPtr SizeGroup -> (Ptr SizeGroup -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr SizeGroup
arg1 ((Ptr SizeGroup -> IO ()) -> IO ())
-> (Ptr SizeGroup -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr SizeGroup
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 SizeGroup -> Ptr Widget -> IO ()
gtk_size_group_remove_widget Ptr SizeGroup
argPtr1 Ptr Widget
argPtr2)
{-# LINE 146 "./Graphics/UI/Gtk/Misc/SizeGroup.chs" #-}
(toSizeGroup self)
(widget -> Widget
forall o. WidgetClass o => o -> Widget
toWidget widget
widget)
sizeGroupSetMode :: SizeGroupClass self => self
-> SizeGroupMode
-> IO ()
sizeGroupSetMode :: forall self. SizeGroupClass self => self -> SizeGroupMode -> IO ()
sizeGroupSetMode self
self SizeGroupMode
mode =
(\(SizeGroup ForeignPtr SizeGroup
arg1) CInt
arg2 -> ForeignPtr SizeGroup -> (Ptr SizeGroup -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr SizeGroup
arg1 ((Ptr SizeGroup -> IO ()) -> IO ())
-> (Ptr SizeGroup -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr SizeGroup
argPtr1 ->Ptr SizeGroup -> CInt -> IO ()
gtk_size_group_set_mode Ptr SizeGroup
argPtr1 CInt
arg2)
{-# LINE 160 "./Graphics/UI/Gtk/Misc/SizeGroup.chs" #-}
(toSizeGroup self)
((Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (SizeGroupMode -> Int) -> SizeGroupMode -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. SizeGroupMode -> Int
forall a. Enum a => a -> Int
fromEnum) SizeGroupMode
mode)
sizeGroupSetIgnoreHidden :: SizeGroupClass self => self
-> Bool
-> IO ()
sizeGroupSetIgnoreHidden :: forall self. SizeGroupClass self => self -> Bool -> IO ()
sizeGroupSetIgnoreHidden self
self Bool
ignoreHidden =
(\(SizeGroup ForeignPtr SizeGroup
arg1) CInt
arg2 -> ForeignPtr SizeGroup -> (Ptr SizeGroup -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr SizeGroup
arg1 ((Ptr SizeGroup -> IO ()) -> IO ())
-> (Ptr SizeGroup -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr SizeGroup
argPtr1 ->Ptr SizeGroup -> CInt -> IO ()
gtk_size_group_set_ignore_hidden Ptr SizeGroup
argPtr1 CInt
arg2)
{-# LINE 175 "./Graphics/UI/Gtk/Misc/SizeGroup.chs" #-}
(toSizeGroup self)
(Bool -> CInt
forall a. Num a => Bool -> a
fromBool Bool
ignoreHidden)
sizeGroupGetIgnoreHidden :: SizeGroupClass self => self
-> IO Bool
sizeGroupGetIgnoreHidden :: forall self. SizeGroupClass self => self -> IO Bool
sizeGroupGetIgnoreHidden self
self =
(CInt -> Bool) -> IO CInt -> IO Bool
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CInt -> Bool
forall a. (Eq a, Num a) => a -> Bool
toBool (IO CInt -> IO Bool) -> IO CInt -> IO Bool
forall a b. (a -> b) -> a -> b
$
(\(SizeGroup ForeignPtr SizeGroup
arg1) -> ForeignPtr SizeGroup -> (Ptr SizeGroup -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr SizeGroup
arg1 ((Ptr SizeGroup -> IO CInt) -> IO CInt)
-> (Ptr SizeGroup -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr SizeGroup
argPtr1 ->Ptr SizeGroup -> IO CInt
gtk_size_group_get_ignore_hidden Ptr SizeGroup
argPtr1)
{-# LINE 187 "./Graphics/UI/Gtk/Misc/SizeGroup.chs" #-}
(toSizeGroup self)
sizeGroupMode :: SizeGroupClass self => Attr self SizeGroupMode
sizeGroupMode :: forall self. SizeGroupClass self => Attr self SizeGroupMode
sizeGroupMode = (self -> IO SizeGroupMode)
-> (self -> SizeGroupMode -> IO ())
-> ReadWriteAttr self SizeGroupMode SizeGroupMode
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
self -> IO SizeGroupMode
forall self. SizeGroupClass self => self -> IO SizeGroupMode
sizeGroupGetMode
self -> SizeGroupMode -> IO ()
forall self. SizeGroupClass self => self -> SizeGroupMode -> IO ()
sizeGroupSetMode
sizeGroupIgnoreHidden :: SizeGroupClass self => Attr self Bool
sizeGroupIgnoreHidden :: forall self. SizeGroupClass self => Attr self Bool
sizeGroupIgnoreHidden = (self -> IO Bool)
-> (self -> Bool -> IO ()) -> ReadWriteAttr self Bool Bool
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
self -> IO Bool
forall self. SizeGroupClass self => self -> IO Bool
sizeGroupGetIgnoreHidden
self -> Bool -> IO ()
forall self. SizeGroupClass self => self -> Bool -> IO ()
sizeGroupSetIgnoreHidden
foreign import ccall unsafe "gtk_size_group_new"
gtk_size_group_new :: (CInt -> (IO (Ptr SizeGroup)))
foreign import ccall safe "gtk_size_group_add_widget"
gtk_size_group_add_widget :: ((Ptr SizeGroup) -> ((Ptr Widget) -> (IO ())))
foreign import ccall unsafe "gtk_size_group_get_mode"
gtk_size_group_get_mode :: ((Ptr SizeGroup) -> (IO CInt))
foreign import ccall safe "gtk_size_group_remove_widget"
gtk_size_group_remove_widget :: ((Ptr SizeGroup) -> ((Ptr Widget) -> (IO ())))
foreign import ccall safe "gtk_size_group_set_mode"
gtk_size_group_set_mode :: ((Ptr SizeGroup) -> (CInt -> (IO ())))
foreign import ccall safe "gtk_size_group_set_ignore_hidden"
gtk_size_group_set_ignore_hidden :: ((Ptr SizeGroup) -> (CInt -> (IO ())))
foreign import ccall safe "gtk_size_group_get_ignore_hidden"
gtk_size_group_get_ignore_hidden :: ((Ptr SizeGroup) -> (IO CInt))