{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gtk.Interfaces.CellLayout
(
CellLayout(..) ,
IsCellLayout ,
toCellLayout ,
#if defined(ENABLE_OVERLOADING)
ResolveCellLayoutMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
CellLayoutAddAttributeMethodInfo ,
#endif
cellLayoutAddAttribute ,
#if defined(ENABLE_OVERLOADING)
CellLayoutClearMethodInfo ,
#endif
cellLayoutClear ,
#if defined(ENABLE_OVERLOADING)
CellLayoutClearAttributesMethodInfo ,
#endif
cellLayoutClearAttributes ,
#if defined(ENABLE_OVERLOADING)
CellLayoutGetAreaMethodInfo ,
#endif
cellLayoutGetArea ,
#if defined(ENABLE_OVERLOADING)
CellLayoutGetCellsMethodInfo ,
#endif
cellLayoutGetCells ,
#if defined(ENABLE_OVERLOADING)
CellLayoutPackEndMethodInfo ,
#endif
cellLayoutPackEnd ,
#if defined(ENABLE_OVERLOADING)
CellLayoutPackStartMethodInfo ,
#endif
cellLayoutPackStart ,
#if defined(ENABLE_OVERLOADING)
CellLayoutReorderMethodInfo ,
#endif
cellLayoutReorder ,
#if defined(ENABLE_OVERLOADING)
CellLayoutSetCellDataFuncMethodInfo ,
#endif
cellLayoutSetCellDataFunc ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GHC.Records as R
import qualified GI.GLib.Callbacks as GLib.Callbacks
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gtk.Callbacks as Gtk.Callbacks
import {-# SOURCE #-} qualified GI.Gtk.Objects.CellArea as Gtk.CellArea
import {-# SOURCE #-} qualified GI.Gtk.Objects.CellRenderer as Gtk.CellRenderer
newtype CellLayout = CellLayout (SP.ManagedPtr CellLayout)
deriving (CellLayout -> CellLayout -> Bool
(CellLayout -> CellLayout -> Bool)
-> (CellLayout -> CellLayout -> Bool) -> Eq CellLayout
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: CellLayout -> CellLayout -> Bool
== :: CellLayout -> CellLayout -> Bool
$c/= :: CellLayout -> CellLayout -> Bool
/= :: CellLayout -> CellLayout -> Bool
Eq)
instance SP.ManagedPtrNewtype CellLayout where
toManagedPtr :: CellLayout -> ManagedPtr CellLayout
toManagedPtr (CellLayout ManagedPtr CellLayout
p) = ManagedPtr CellLayout
p
foreign import ccall "gtk_cell_layout_get_type"
c_gtk_cell_layout_get_type :: IO B.Types.GType
instance B.Types.TypedObject CellLayout where
glibType :: IO GType
glibType = IO GType
c_gtk_cell_layout_get_type
instance B.Types.GObject CellLayout
class (SP.GObject o, O.IsDescendantOf CellLayout o) => IsCellLayout o
instance (SP.GObject o, O.IsDescendantOf CellLayout o) => IsCellLayout o
instance O.HasParentTypes CellLayout
type instance O.ParentTypes CellLayout = '[GObject.Object.Object]
toCellLayout :: (MIO.MonadIO m, IsCellLayout o) => o -> m CellLayout
toCellLayout :: forall (m :: * -> *) o.
(MonadIO m, IsCellLayout o) =>
o -> m CellLayout
toCellLayout = IO CellLayout -> m CellLayout
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO CellLayout -> m CellLayout)
-> (o -> IO CellLayout) -> o -> m CellLayout
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr CellLayout -> CellLayout) -> o -> IO CellLayout
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr CellLayout -> CellLayout
CellLayout
instance B.GValue.IsGValue (Maybe CellLayout) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_gtk_cell_layout_get_type
gvalueSet_ :: Ptr GValue -> Maybe CellLayout -> IO ()
gvalueSet_ Ptr GValue
gv Maybe CellLayout
P.Nothing = Ptr GValue -> Ptr CellLayout -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr CellLayout
forall a. Ptr a
FP.nullPtr :: FP.Ptr CellLayout)
gvalueSet_ Ptr GValue
gv (P.Just CellLayout
obj) = CellLayout -> (Ptr CellLayout -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr CellLayout
obj (Ptr GValue -> Ptr CellLayout -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe CellLayout)
gvalueGet_ Ptr GValue
gv = do
Ptr CellLayout
ptr <- Ptr GValue -> IO (Ptr CellLayout)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr CellLayout)
if Ptr CellLayout
ptr Ptr CellLayout -> Ptr CellLayout -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr CellLayout
forall a. Ptr a
FP.nullPtr
then CellLayout -> Maybe CellLayout
forall a. a -> Maybe a
P.Just (CellLayout -> Maybe CellLayout)
-> IO CellLayout -> IO (Maybe CellLayout)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr CellLayout -> CellLayout)
-> Ptr CellLayout -> IO CellLayout
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr CellLayout -> CellLayout
CellLayout Ptr CellLayout
ptr
else Maybe CellLayout -> IO (Maybe CellLayout)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe CellLayout
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList CellLayout
type instance O.AttributeList CellLayout = CellLayoutAttributeList
type CellLayoutAttributeList = ('[ ] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveCellLayoutMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveCellLayoutMethod "addAttribute" o = CellLayoutAddAttributeMethodInfo
ResolveCellLayoutMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveCellLayoutMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveCellLayoutMethod "clear" o = CellLayoutClearMethodInfo
ResolveCellLayoutMethod "clearAttributes" o = CellLayoutClearAttributesMethodInfo
ResolveCellLayoutMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveCellLayoutMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveCellLayoutMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveCellLayoutMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveCellLayoutMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveCellLayoutMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveCellLayoutMethod "packEnd" o = CellLayoutPackEndMethodInfo
ResolveCellLayoutMethod "packStart" o = CellLayoutPackStartMethodInfo
ResolveCellLayoutMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveCellLayoutMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveCellLayoutMethod "reorder" o = CellLayoutReorderMethodInfo
ResolveCellLayoutMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveCellLayoutMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveCellLayoutMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveCellLayoutMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveCellLayoutMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveCellLayoutMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveCellLayoutMethod "getArea" o = CellLayoutGetAreaMethodInfo
ResolveCellLayoutMethod "getCells" o = CellLayoutGetCellsMethodInfo
ResolveCellLayoutMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveCellLayoutMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveCellLayoutMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveCellLayoutMethod "setCellDataFunc" o = CellLayoutSetCellDataFuncMethodInfo
ResolveCellLayoutMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveCellLayoutMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveCellLayoutMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveCellLayoutMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveCellLayoutMethod t CellLayout, O.OverloadedMethod info CellLayout p) => OL.IsLabel t (CellLayout -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveCellLayoutMethod t CellLayout, O.OverloadedMethod info CellLayout p, R.HasField t CellLayout p) => R.HasField t CellLayout p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveCellLayoutMethod t CellLayout, O.OverloadedMethodInfo info CellLayout) => OL.IsLabel t (O.MethodProxy info CellLayout) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
foreign import ccall "gtk_cell_layout_add_attribute" gtk_cell_layout_add_attribute ::
Ptr CellLayout ->
Ptr Gtk.CellRenderer.CellRenderer ->
CString ->
Int32 ->
IO ()
cellLayoutAddAttribute ::
(B.CallStack.HasCallStack, MonadIO m, IsCellLayout a, Gtk.CellRenderer.IsCellRenderer b) =>
a
-> b
-> T.Text
-> Int32
-> m ()
cellLayoutAddAttribute :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsCellLayout a, IsCellRenderer b) =>
a -> b -> Text -> Int32 -> m ()
cellLayoutAddAttribute a
cellLayout b
cell Text
attribute Int32
column = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr CellLayout
cellLayout' <- a -> IO (Ptr CellLayout)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
cellLayout
Ptr CellRenderer
cell' <- b -> IO (Ptr CellRenderer)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
cell
CString
attribute' <- Text -> IO CString
textToCString Text
attribute
Ptr CellLayout -> Ptr CellRenderer -> CString -> Int32 -> IO ()
gtk_cell_layout_add_attribute Ptr CellLayout
cellLayout' Ptr CellRenderer
cell' CString
attribute' Int32
column
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
cellLayout
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
cell
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
attribute'
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data CellLayoutAddAttributeMethodInfo
instance (signature ~ (b -> T.Text -> Int32 -> m ()), MonadIO m, IsCellLayout a, Gtk.CellRenderer.IsCellRenderer b) => O.OverloadedMethod CellLayoutAddAttributeMethodInfo a signature where
overloadedMethod = cellLayoutAddAttribute
instance O.OverloadedMethodInfo CellLayoutAddAttributeMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.CellLayout.cellLayoutAddAttribute",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.41/docs/GI-Gtk-Interfaces-CellLayout.html#v:cellLayoutAddAttribute"
})
#endif
foreign import ccall "gtk_cell_layout_clear" gtk_cell_layout_clear ::
Ptr CellLayout ->
IO ()
cellLayoutClear ::
(B.CallStack.HasCallStack, MonadIO m, IsCellLayout a) =>
a
-> m ()
cellLayoutClear :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsCellLayout a) =>
a -> m ()
cellLayoutClear a
cellLayout = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr CellLayout
cellLayout' <- a -> IO (Ptr CellLayout)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
cellLayout
Ptr CellLayout -> IO ()
gtk_cell_layout_clear Ptr CellLayout
cellLayout'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
cellLayout
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data CellLayoutClearMethodInfo
instance (signature ~ (m ()), MonadIO m, IsCellLayout a) => O.OverloadedMethod CellLayoutClearMethodInfo a signature where
overloadedMethod = cellLayoutClear
instance O.OverloadedMethodInfo CellLayoutClearMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.CellLayout.cellLayoutClear",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.41/docs/GI-Gtk-Interfaces-CellLayout.html#v:cellLayoutClear"
})
#endif
foreign import ccall "gtk_cell_layout_clear_attributes" gtk_cell_layout_clear_attributes ::
Ptr CellLayout ->
Ptr Gtk.CellRenderer.CellRenderer ->
IO ()
cellLayoutClearAttributes ::
(B.CallStack.HasCallStack, MonadIO m, IsCellLayout a, Gtk.CellRenderer.IsCellRenderer b) =>
a
-> b
-> m ()
cellLayoutClearAttributes :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsCellLayout a, IsCellRenderer b) =>
a -> b -> m ()
cellLayoutClearAttributes a
cellLayout b
cell = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr CellLayout
cellLayout' <- a -> IO (Ptr CellLayout)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
cellLayout
Ptr CellRenderer
cell' <- b -> IO (Ptr CellRenderer)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
cell
Ptr CellLayout -> Ptr CellRenderer -> IO ()
gtk_cell_layout_clear_attributes Ptr CellLayout
cellLayout' Ptr CellRenderer
cell'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
cellLayout
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
cell
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data CellLayoutClearAttributesMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsCellLayout a, Gtk.CellRenderer.IsCellRenderer b) => O.OverloadedMethod CellLayoutClearAttributesMethodInfo a signature where
overloadedMethod = cellLayoutClearAttributes
instance O.OverloadedMethodInfo CellLayoutClearAttributesMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.CellLayout.cellLayoutClearAttributes",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.41/docs/GI-Gtk-Interfaces-CellLayout.html#v:cellLayoutClearAttributes"
})
#endif
foreign import ccall "gtk_cell_layout_get_area" gtk_cell_layout_get_area ::
Ptr CellLayout ->
IO (Ptr Gtk.CellArea.CellArea)
cellLayoutGetArea ::
(B.CallStack.HasCallStack, MonadIO m, IsCellLayout a) =>
a
-> m (Maybe Gtk.CellArea.CellArea)
cellLayoutGetArea :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsCellLayout a) =>
a -> m (Maybe CellArea)
cellLayoutGetArea a
cellLayout = IO (Maybe CellArea) -> m (Maybe CellArea)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe CellArea) -> m (Maybe CellArea))
-> IO (Maybe CellArea) -> m (Maybe CellArea)
forall a b. (a -> b) -> a -> b
$ do
Ptr CellLayout
cellLayout' <- a -> IO (Ptr CellLayout)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
cellLayout
Ptr CellArea
result <- Ptr CellLayout -> IO (Ptr CellArea)
gtk_cell_layout_get_area Ptr CellLayout
cellLayout'
Maybe CellArea
maybeResult <- Ptr CellArea
-> (Ptr CellArea -> IO CellArea) -> IO (Maybe CellArea)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr CellArea
result ((Ptr CellArea -> IO CellArea) -> IO (Maybe CellArea))
-> (Ptr CellArea -> IO CellArea) -> IO (Maybe CellArea)
forall a b. (a -> b) -> a -> b
$ \Ptr CellArea
result' -> do
CellArea
result'' <- ((ManagedPtr CellArea -> CellArea) -> Ptr CellArea -> IO CellArea
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr CellArea -> CellArea
Gtk.CellArea.CellArea) Ptr CellArea
result'
CellArea -> IO CellArea
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CellArea
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
cellLayout
Maybe CellArea -> IO (Maybe CellArea)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe CellArea
maybeResult
#if defined(ENABLE_OVERLOADING)
data CellLayoutGetAreaMethodInfo
instance (signature ~ (m (Maybe Gtk.CellArea.CellArea)), MonadIO m, IsCellLayout a) => O.OverloadedMethod CellLayoutGetAreaMethodInfo a signature where
overloadedMethod = cellLayoutGetArea
instance O.OverloadedMethodInfo CellLayoutGetAreaMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.CellLayout.cellLayoutGetArea",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.41/docs/GI-Gtk-Interfaces-CellLayout.html#v:cellLayoutGetArea"
})
#endif
foreign import ccall "gtk_cell_layout_get_cells" gtk_cell_layout_get_cells ::
Ptr CellLayout ->
IO (Ptr (GList (Ptr Gtk.CellRenderer.CellRenderer)))
cellLayoutGetCells ::
(B.CallStack.HasCallStack, MonadIO m, IsCellLayout a) =>
a
-> m [Gtk.CellRenderer.CellRenderer]
cellLayoutGetCells :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsCellLayout a) =>
a -> m [CellRenderer]
cellLayoutGetCells a
cellLayout = IO [CellRenderer] -> m [CellRenderer]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [CellRenderer] -> m [CellRenderer])
-> IO [CellRenderer] -> m [CellRenderer]
forall a b. (a -> b) -> a -> b
$ do
Ptr CellLayout
cellLayout' <- a -> IO (Ptr CellLayout)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
cellLayout
Ptr (GList (Ptr CellRenderer))
result <- Ptr CellLayout -> IO (Ptr (GList (Ptr CellRenderer)))
gtk_cell_layout_get_cells Ptr CellLayout
cellLayout'
[Ptr CellRenderer]
result' <- Ptr (GList (Ptr CellRenderer)) -> IO [Ptr CellRenderer]
forall a. Ptr (GList (Ptr a)) -> IO [Ptr a]
unpackGList Ptr (GList (Ptr CellRenderer))
result
[CellRenderer]
result'' <- (Ptr CellRenderer -> IO CellRenderer)
-> [Ptr CellRenderer] -> IO [CellRenderer]
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 ((ManagedPtr CellRenderer -> CellRenderer)
-> Ptr CellRenderer -> IO CellRenderer
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr CellRenderer -> CellRenderer
Gtk.CellRenderer.CellRenderer) [Ptr CellRenderer]
result'
Ptr (GList (Ptr CellRenderer)) -> IO ()
forall a. Ptr (GList a) -> IO ()
g_list_free Ptr (GList (Ptr CellRenderer))
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
cellLayout
[CellRenderer] -> IO [CellRenderer]
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return [CellRenderer]
result''
#if defined(ENABLE_OVERLOADING)
data CellLayoutGetCellsMethodInfo
instance (signature ~ (m [Gtk.CellRenderer.CellRenderer]), MonadIO m, IsCellLayout a) => O.OverloadedMethod CellLayoutGetCellsMethodInfo a signature where
overloadedMethod = cellLayoutGetCells
instance O.OverloadedMethodInfo CellLayoutGetCellsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.CellLayout.cellLayoutGetCells",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.41/docs/GI-Gtk-Interfaces-CellLayout.html#v:cellLayoutGetCells"
})
#endif
foreign import ccall "gtk_cell_layout_pack_end" gtk_cell_layout_pack_end ::
Ptr CellLayout ->
Ptr Gtk.CellRenderer.CellRenderer ->
CInt ->
IO ()
cellLayoutPackEnd ::
(B.CallStack.HasCallStack, MonadIO m, IsCellLayout a, Gtk.CellRenderer.IsCellRenderer b) =>
a
-> b
-> Bool
-> m ()
cellLayoutPackEnd :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsCellLayout a, IsCellRenderer b) =>
a -> b -> Bool -> m ()
cellLayoutPackEnd a
cellLayout b
cell Bool
expand = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr CellLayout
cellLayout' <- a -> IO (Ptr CellLayout)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
cellLayout
Ptr CellRenderer
cell' <- b -> IO (Ptr CellRenderer)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
cell
let expand' :: CInt
expand' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
P.fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
P.fromEnum) Bool
expand
Ptr CellLayout -> Ptr CellRenderer -> CInt -> IO ()
gtk_cell_layout_pack_end Ptr CellLayout
cellLayout' Ptr CellRenderer
cell' CInt
expand'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
cellLayout
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
cell
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data CellLayoutPackEndMethodInfo
instance (signature ~ (b -> Bool -> m ()), MonadIO m, IsCellLayout a, Gtk.CellRenderer.IsCellRenderer b) => O.OverloadedMethod CellLayoutPackEndMethodInfo a signature where
overloadedMethod = cellLayoutPackEnd
instance O.OverloadedMethodInfo CellLayoutPackEndMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.CellLayout.cellLayoutPackEnd",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.41/docs/GI-Gtk-Interfaces-CellLayout.html#v:cellLayoutPackEnd"
})
#endif
foreign import ccall "gtk_cell_layout_pack_start" gtk_cell_layout_pack_start ::
Ptr CellLayout ->
Ptr Gtk.CellRenderer.CellRenderer ->
CInt ->
IO ()
cellLayoutPackStart ::
(B.CallStack.HasCallStack, MonadIO m, IsCellLayout a, Gtk.CellRenderer.IsCellRenderer b) =>
a
-> b
-> Bool
-> m ()
cellLayoutPackStart :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsCellLayout a, IsCellRenderer b) =>
a -> b -> Bool -> m ()
cellLayoutPackStart a
cellLayout b
cell Bool
expand = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr CellLayout
cellLayout' <- a -> IO (Ptr CellLayout)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
cellLayout
Ptr CellRenderer
cell' <- b -> IO (Ptr CellRenderer)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
cell
let expand' :: CInt
expand' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
P.fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
P.fromEnum) Bool
expand
Ptr CellLayout -> Ptr CellRenderer -> CInt -> IO ()
gtk_cell_layout_pack_start Ptr CellLayout
cellLayout' Ptr CellRenderer
cell' CInt
expand'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
cellLayout
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
cell
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data CellLayoutPackStartMethodInfo
instance (signature ~ (b -> Bool -> m ()), MonadIO m, IsCellLayout a, Gtk.CellRenderer.IsCellRenderer b) => O.OverloadedMethod CellLayoutPackStartMethodInfo a signature where
overloadedMethod = cellLayoutPackStart
instance O.OverloadedMethodInfo CellLayoutPackStartMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.CellLayout.cellLayoutPackStart",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.41/docs/GI-Gtk-Interfaces-CellLayout.html#v:cellLayoutPackStart"
})
#endif
foreign import ccall "gtk_cell_layout_reorder" gtk_cell_layout_reorder ::
Ptr CellLayout ->
Ptr Gtk.CellRenderer.CellRenderer ->
Int32 ->
IO ()
cellLayoutReorder ::
(B.CallStack.HasCallStack, MonadIO m, IsCellLayout a, Gtk.CellRenderer.IsCellRenderer b) =>
a
-> b
-> Int32
-> m ()
cellLayoutReorder :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsCellLayout a, IsCellRenderer b) =>
a -> b -> Int32 -> m ()
cellLayoutReorder a
cellLayout b
cell Int32
position = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr CellLayout
cellLayout' <- a -> IO (Ptr CellLayout)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
cellLayout
Ptr CellRenderer
cell' <- b -> IO (Ptr CellRenderer)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
cell
Ptr CellLayout -> Ptr CellRenderer -> Int32 -> IO ()
gtk_cell_layout_reorder Ptr CellLayout
cellLayout' Ptr CellRenderer
cell' Int32
position
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
cellLayout
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
cell
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data CellLayoutReorderMethodInfo
instance (signature ~ (b -> Int32 -> m ()), MonadIO m, IsCellLayout a, Gtk.CellRenderer.IsCellRenderer b) => O.OverloadedMethod CellLayoutReorderMethodInfo a signature where
overloadedMethod = cellLayoutReorder
instance O.OverloadedMethodInfo CellLayoutReorderMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.CellLayout.cellLayoutReorder",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.41/docs/GI-Gtk-Interfaces-CellLayout.html#v:cellLayoutReorder"
})
#endif
foreign import ccall "gtk_cell_layout_set_cell_data_func" gtk_cell_layout_set_cell_data_func ::
Ptr CellLayout ->
Ptr Gtk.CellRenderer.CellRenderer ->
FunPtr Gtk.Callbacks.C_CellLayoutDataFunc ->
Ptr () ->
FunPtr GLib.Callbacks.C_DestroyNotify ->
IO ()
cellLayoutSetCellDataFunc ::
(B.CallStack.HasCallStack, MonadIO m, IsCellLayout a, Gtk.CellRenderer.IsCellRenderer b) =>
a
-> b
-> Maybe (Gtk.Callbacks.CellLayoutDataFunc)
-> m ()
cellLayoutSetCellDataFunc :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsCellLayout a, IsCellRenderer b) =>
a -> b -> Maybe CellLayoutDataFunc -> m ()
cellLayoutSetCellDataFunc a
cellLayout b
cell Maybe CellLayoutDataFunc
func = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr CellLayout
cellLayout' <- a -> IO (Ptr CellLayout)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
cellLayout
Ptr CellRenderer
cell' <- b -> IO (Ptr CellRenderer)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
cell
FunPtr C_CellLayoutDataFunc
maybeFunc <- case Maybe CellLayoutDataFunc
func of
Maybe CellLayoutDataFunc
Nothing -> FunPtr C_CellLayoutDataFunc -> IO (FunPtr C_CellLayoutDataFunc)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Ptr Any -> FunPtr C_CellLayoutDataFunc
forall a b. Ptr a -> FunPtr b
castPtrToFunPtr Ptr Any
forall a. Ptr a
nullPtr)
Just CellLayoutDataFunc
jFunc -> do
FunPtr C_CellLayoutDataFunc
jFunc' <- C_CellLayoutDataFunc -> IO (FunPtr C_CellLayoutDataFunc)
Gtk.Callbacks.mk_CellLayoutDataFunc (Maybe (Ptr (FunPtr C_CellLayoutDataFunc))
-> CellLayoutDataFunc_WithClosures -> C_CellLayoutDataFunc
Gtk.Callbacks.wrap_CellLayoutDataFunc Maybe (Ptr (FunPtr C_CellLayoutDataFunc))
forall a. Maybe a
Nothing (CellLayoutDataFunc -> CellLayoutDataFunc_WithClosures
Gtk.Callbacks.drop_closures_CellLayoutDataFunc CellLayoutDataFunc
jFunc))
FunPtr C_CellLayoutDataFunc -> IO (FunPtr C_CellLayoutDataFunc)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return FunPtr C_CellLayoutDataFunc
jFunc'
let funcData :: Ptr ()
funcData = FunPtr C_CellLayoutDataFunc -> Ptr ()
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr FunPtr C_CellLayoutDataFunc
maybeFunc
let destroy :: FunPtr (Ptr a -> IO ())
destroy = FunPtr (Ptr a -> IO ())
forall a. FunPtr (Ptr a -> IO ())
SP.safeFreeFunPtrPtr
Ptr CellLayout
-> Ptr CellRenderer
-> FunPtr C_CellLayoutDataFunc
-> Ptr ()
-> FunPtr C_DestroyNotify
-> IO ()
gtk_cell_layout_set_cell_data_func Ptr CellLayout
cellLayout' Ptr CellRenderer
cell' FunPtr C_CellLayoutDataFunc
maybeFunc Ptr ()
funcData FunPtr C_DestroyNotify
forall a. FunPtr (Ptr a -> IO ())
destroy
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
cellLayout
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
cell
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data CellLayoutSetCellDataFuncMethodInfo
instance (signature ~ (b -> Maybe (Gtk.Callbacks.CellLayoutDataFunc) -> m ()), MonadIO m, IsCellLayout a, Gtk.CellRenderer.IsCellRenderer b) => O.OverloadedMethod CellLayoutSetCellDataFuncMethodInfo a signature where
overloadedMethod = cellLayoutSetCellDataFunc
instance O.OverloadedMethodInfo CellLayoutSetCellDataFuncMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.CellLayout.cellLayoutSetCellDataFunc",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.41/docs/GI-Gtk-Interfaces-CellLayout.html#v:cellLayoutSetCellDataFunc"
})
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList CellLayout = CellLayoutSignalList
type CellLayoutSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, DK.Type)])
#endif