{-# LANGUAGE ImplicitParams, RankNTypes, TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gtk.Interfaces.TreeModel
(
TreeModel(..) ,
IsTreeModel ,
toTreeModel ,
#if defined(ENABLE_OVERLOADING)
ResolveTreeModelMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
TreeModelFilterNewMethodInfo ,
#endif
treeModelFilterNew ,
#if defined(ENABLE_OVERLOADING)
TreeModelForeachMethodInfo ,
#endif
treeModelForeach ,
#if defined(ENABLE_OVERLOADING)
TreeModelGetColumnTypeMethodInfo ,
#endif
treeModelGetColumnType ,
#if defined(ENABLE_OVERLOADING)
TreeModelGetFlagsMethodInfo ,
#endif
treeModelGetFlags ,
#if defined(ENABLE_OVERLOADING)
TreeModelGetIterMethodInfo ,
#endif
treeModelGetIter ,
#if defined(ENABLE_OVERLOADING)
TreeModelGetIterFirstMethodInfo ,
#endif
treeModelGetIterFirst ,
#if defined(ENABLE_OVERLOADING)
TreeModelGetIterFromStringMethodInfo ,
#endif
treeModelGetIterFromString ,
#if defined(ENABLE_OVERLOADING)
TreeModelGetNColumnsMethodInfo ,
#endif
treeModelGetNColumns ,
#if defined(ENABLE_OVERLOADING)
TreeModelGetPathMethodInfo ,
#endif
treeModelGetPath ,
#if defined(ENABLE_OVERLOADING)
TreeModelGetStringFromIterMethodInfo ,
#endif
treeModelGetStringFromIter ,
#if defined(ENABLE_OVERLOADING)
TreeModelGetValueMethodInfo ,
#endif
treeModelGetValue ,
#if defined(ENABLE_OVERLOADING)
TreeModelIterChildrenMethodInfo ,
#endif
treeModelIterChildren ,
#if defined(ENABLE_OVERLOADING)
TreeModelIterHasChildMethodInfo ,
#endif
treeModelIterHasChild ,
#if defined(ENABLE_OVERLOADING)
TreeModelIterNChildrenMethodInfo ,
#endif
treeModelIterNChildren ,
#if defined(ENABLE_OVERLOADING)
TreeModelIterNextMethodInfo ,
#endif
treeModelIterNext ,
#if defined(ENABLE_OVERLOADING)
TreeModelIterNthChildMethodInfo ,
#endif
treeModelIterNthChild ,
#if defined(ENABLE_OVERLOADING)
TreeModelIterParentMethodInfo ,
#endif
treeModelIterParent ,
#if defined(ENABLE_OVERLOADING)
TreeModelIterPreviousMethodInfo ,
#endif
treeModelIterPrevious ,
#if defined(ENABLE_OVERLOADING)
TreeModelRefNodeMethodInfo ,
#endif
treeModelRefNode ,
#if defined(ENABLE_OVERLOADING)
TreeModelRowChangedMethodInfo ,
#endif
treeModelRowChanged ,
#if defined(ENABLE_OVERLOADING)
TreeModelRowDeletedMethodInfo ,
#endif
treeModelRowDeleted ,
#if defined(ENABLE_OVERLOADING)
TreeModelRowHasChildToggledMethodInfo ,
#endif
treeModelRowHasChildToggled ,
#if defined(ENABLE_OVERLOADING)
TreeModelRowInsertedMethodInfo ,
#endif
treeModelRowInserted ,
#if defined(ENABLE_OVERLOADING)
TreeModelRowsReorderedMethodInfo ,
#endif
treeModelRowsReordered ,
#if defined(ENABLE_OVERLOADING)
TreeModelUnrefNodeMethodInfo ,
#endif
treeModelUnrefNode ,
TreeModelRowChangedCallback ,
#if defined(ENABLE_OVERLOADING)
TreeModelRowChangedSignalInfo ,
#endif
afterTreeModelRowChanged ,
onTreeModelRowChanged ,
TreeModelRowDeletedCallback ,
#if defined(ENABLE_OVERLOADING)
TreeModelRowDeletedSignalInfo ,
#endif
afterTreeModelRowDeleted ,
onTreeModelRowDeleted ,
TreeModelRowHasChildToggledCallback ,
#if defined(ENABLE_OVERLOADING)
TreeModelRowHasChildToggledSignalInfo ,
#endif
afterTreeModelRowHasChildToggled ,
onTreeModelRowHasChildToggled ,
TreeModelRowInsertedCallback ,
#if defined(ENABLE_OVERLOADING)
TreeModelRowInsertedSignalInfo ,
#endif
afterTreeModelRowInserted ,
onTreeModelRowInserted ,
) 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 Data.Word as DW
import qualified Data.Int as DI
import qualified System.Posix.Types as SPT
import qualified Foreign.C.Types as FCT
#if MIN_VERSION_base(4,18,0)
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gtk.Callbacks as Gtk.Callbacks
import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
import {-# SOURCE #-} qualified GI.Gtk.Structs.TreeIter as Gtk.TreeIter
import {-# SOURCE #-} qualified GI.Gtk.Structs.TreePath as Gtk.TreePath
#else
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gtk.Callbacks as Gtk.Callbacks
import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
import {-# SOURCE #-} qualified GI.Gtk.Structs.TreeIter as Gtk.TreeIter
import {-# SOURCE #-} qualified GI.Gtk.Structs.TreePath as Gtk.TreePath
#endif
{-# DEPRECATED TreeModel ["(Since version 4.10)","Use t'GI.Gio.Interfaces.ListModel.ListModel' instead"] #-}
newtype TreeModel = TreeModel (SP.ManagedPtr TreeModel)
deriving (TreeModel -> TreeModel -> Bool
(TreeModel -> TreeModel -> Bool)
-> (TreeModel -> TreeModel -> Bool) -> Eq TreeModel
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: TreeModel -> TreeModel -> Bool
== :: TreeModel -> TreeModel -> Bool
$c/= :: TreeModel -> TreeModel -> Bool
/= :: TreeModel -> TreeModel -> Bool
Eq)
instance SP.ManagedPtrNewtype TreeModel where
toManagedPtr :: TreeModel -> ManagedPtr TreeModel
toManagedPtr (TreeModel ManagedPtr TreeModel
p) = ManagedPtr TreeModel
p
foreign import ccall "gtk_tree_model_get_type"
c_gtk_tree_model_get_type :: IO B.Types.GType
instance B.Types.TypedObject TreeModel where
glibType :: IO GType
glibType = IO GType
c_gtk_tree_model_get_type
instance B.Types.GObject TreeModel
class (SP.GObject o, O.IsDescendantOf TreeModel o) => IsTreeModel o
instance (SP.GObject o, O.IsDescendantOf TreeModel o) => IsTreeModel o
instance O.HasParentTypes TreeModel
type instance O.ParentTypes TreeModel = '[GObject.Object.Object]
toTreeModel :: (MIO.MonadIO m, IsTreeModel o) => o -> m TreeModel
toTreeModel :: forall (m :: * -> *) o.
(MonadIO m, IsTreeModel o) =>
o -> m TreeModel
toTreeModel = IO TreeModel -> m TreeModel
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO TreeModel -> m TreeModel)
-> (o -> IO TreeModel) -> o -> m TreeModel
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr TreeModel -> TreeModel) -> o -> IO TreeModel
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr TreeModel -> TreeModel
TreeModel
instance B.GValue.IsGValue (Maybe TreeModel) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_gtk_tree_model_get_type
gvalueSet_ :: Ptr GValue -> Maybe TreeModel -> IO ()
gvalueSet_ Ptr GValue
gv Maybe TreeModel
P.Nothing = Ptr GValue -> Ptr TreeModel -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr TreeModel
forall a. Ptr a
FP.nullPtr :: FP.Ptr TreeModel)
gvalueSet_ Ptr GValue
gv (P.Just TreeModel
obj) = TreeModel -> (Ptr TreeModel -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr TreeModel
obj (Ptr GValue -> Ptr TreeModel -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe TreeModel)
gvalueGet_ Ptr GValue
gv = do
ptr <- Ptr GValue -> IO (Ptr TreeModel)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr TreeModel)
if ptr /= FP.nullPtr
then P.Just <$> B.ManagedPtr.newObject TreeModel ptr
else return P.Nothing
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList TreeModel
type instance O.AttributeList TreeModel = TreeModelAttributeList
type TreeModelAttributeList = ('[ ] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveTreeModelMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveTreeModelMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveTreeModelMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveTreeModelMethod "filterNew" o = TreeModelFilterNewMethodInfo
ResolveTreeModelMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveTreeModelMethod "foreach" o = TreeModelForeachMethodInfo
ResolveTreeModelMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveTreeModelMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveTreeModelMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveTreeModelMethod "iterChildren" o = TreeModelIterChildrenMethodInfo
ResolveTreeModelMethod "iterHasChild" o = TreeModelIterHasChildMethodInfo
ResolveTreeModelMethod "iterNChildren" o = TreeModelIterNChildrenMethodInfo
ResolveTreeModelMethod "iterNext" o = TreeModelIterNextMethodInfo
ResolveTreeModelMethod "iterNthChild" o = TreeModelIterNthChildMethodInfo
ResolveTreeModelMethod "iterParent" o = TreeModelIterParentMethodInfo
ResolveTreeModelMethod "iterPrevious" o = TreeModelIterPreviousMethodInfo
ResolveTreeModelMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveTreeModelMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveTreeModelMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveTreeModelMethod "refNode" o = TreeModelRefNodeMethodInfo
ResolveTreeModelMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveTreeModelMethod "rowChanged" o = TreeModelRowChangedMethodInfo
ResolveTreeModelMethod "rowDeleted" o = TreeModelRowDeletedMethodInfo
ResolveTreeModelMethod "rowHasChildToggled" o = TreeModelRowHasChildToggledMethodInfo
ResolveTreeModelMethod "rowInserted" o = TreeModelRowInsertedMethodInfo
ResolveTreeModelMethod "rowsReordered" o = TreeModelRowsReorderedMethodInfo
ResolveTreeModelMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveTreeModelMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveTreeModelMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveTreeModelMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveTreeModelMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveTreeModelMethod "unrefNode" o = TreeModelUnrefNodeMethodInfo
ResolveTreeModelMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveTreeModelMethod "getColumnType" o = TreeModelGetColumnTypeMethodInfo
ResolveTreeModelMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveTreeModelMethod "getFlags" o = TreeModelGetFlagsMethodInfo
ResolveTreeModelMethod "getIter" o = TreeModelGetIterMethodInfo
ResolveTreeModelMethod "getIterFirst" o = TreeModelGetIterFirstMethodInfo
ResolveTreeModelMethod "getIterFromString" o = TreeModelGetIterFromStringMethodInfo
ResolveTreeModelMethod "getNColumns" o = TreeModelGetNColumnsMethodInfo
ResolveTreeModelMethod "getPath" o = TreeModelGetPathMethodInfo
ResolveTreeModelMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveTreeModelMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveTreeModelMethod "getStringFromIter" o = TreeModelGetStringFromIterMethodInfo
ResolveTreeModelMethod "getValue" o = TreeModelGetValueMethodInfo
ResolveTreeModelMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveTreeModelMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveTreeModelMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveTreeModelMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveTreeModelMethod t TreeModel, O.OverloadedMethod info TreeModel p) => OL.IsLabel t (TreeModel -> 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 ~ ResolveTreeModelMethod t TreeModel, O.OverloadedMethod info TreeModel p, R.HasField t TreeModel p) => R.HasField t TreeModel p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveTreeModelMethod t TreeModel, O.OverloadedMethodInfo info TreeModel) => OL.IsLabel t (O.MethodProxy info TreeModel) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
foreign import ccall "gtk_tree_model_filter_new" gtk_tree_model_filter_new ::
Ptr TreeModel ->
Ptr Gtk.TreePath.TreePath ->
IO (Ptr TreeModel)
{-# DEPRECATED treeModelFilterNew ["(Since version 4.10)"] #-}
treeModelFilterNew ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
a
-> Maybe (Gtk.TreePath.TreePath)
-> m TreeModel
treeModelFilterNew :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModel a) =>
a -> Maybe TreePath -> m TreeModel
treeModelFilterNew a
childModel Maybe TreePath
root = IO TreeModel -> m TreeModel
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO TreeModel -> m TreeModel) -> IO TreeModel -> m TreeModel
forall a b. (a -> b) -> a -> b
$ do
childModel' <- a -> IO (Ptr TreeModel)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
childModel
maybeRoot <- case root of
Maybe TreePath
Nothing -> Ptr TreePath -> IO (Ptr TreePath)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr TreePath
forall a. Ptr a
FP.nullPtr
Just TreePath
jRoot -> do
jRoot' <- TreePath -> IO (Ptr TreePath)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr TreePath
jRoot
return jRoot'
result <- gtk_tree_model_filter_new childModel' maybeRoot
checkUnexpectedReturnNULL "treeModelFilterNew" result
result' <- (wrapObject TreeModel) result
touchManagedPtr childModel
whenJust root touchManagedPtr
return result'
#if defined(ENABLE_OVERLOADING)
data TreeModelFilterNewMethodInfo
instance (signature ~ (Maybe (Gtk.TreePath.TreePath) -> m TreeModel), MonadIO m, IsTreeModel a) => O.OverloadedMethod TreeModelFilterNewMethodInfo a signature where
overloadedMethod = treeModelFilterNew
instance O.OverloadedMethodInfo TreeModelFilterNewMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.TreeModel.treeModelFilterNew",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Interfaces-TreeModel.html#v:treeModelFilterNew"
})
#endif
foreign import ccall "gtk_tree_model_foreach" gtk_tree_model_foreach ::
Ptr TreeModel ->
FunPtr Gtk.Callbacks.C_TreeModelForeachFunc ->
Ptr () ->
IO ()
{-# DEPRECATED treeModelForeach ["(Since version 4.10)"] #-}
treeModelForeach ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
a
-> Gtk.Callbacks.TreeModelForeachFunc
-> m ()
treeModelForeach :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModel a) =>
a -> TreeModelForeachFunc -> m ()
treeModelForeach a
model TreeModelForeachFunc
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
model' <- a -> IO (Ptr TreeModel)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
model
func' <- Gtk.Callbacks.mk_TreeModelForeachFunc (Gtk.Callbacks.wrap_TreeModelForeachFunc Nothing (Gtk.Callbacks.drop_closures_TreeModelForeachFunc func))
let userData = Ptr a
forall a. Ptr a
nullPtr
gtk_tree_model_foreach model' func' userData
safeFreeFunPtr $ castFunPtrToPtr func'
touchManagedPtr model
return ()
#if defined(ENABLE_OVERLOADING)
data TreeModelForeachMethodInfo
instance (signature ~ (Gtk.Callbacks.TreeModelForeachFunc -> m ()), MonadIO m, IsTreeModel a) => O.OverloadedMethod TreeModelForeachMethodInfo a signature where
overloadedMethod = treeModelForeach
instance O.OverloadedMethodInfo TreeModelForeachMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.TreeModel.treeModelForeach",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Interfaces-TreeModel.html#v:treeModelForeach"
})
#endif
foreign import ccall "gtk_tree_model_get_column_type" gtk_tree_model_get_column_type ::
Ptr TreeModel ->
Int32 ->
IO CGType
{-# DEPRECATED treeModelGetColumnType ["(Since version 4.10)"] #-}
treeModelGetColumnType ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
a
-> Int32
-> m GType
treeModelGetColumnType :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModel a) =>
a -> Int32 -> m GType
treeModelGetColumnType a
treeModel Int32
index_ = IO GType -> m GType
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO GType -> m GType) -> IO GType -> m GType
forall a b. (a -> b) -> a -> b
$ do
treeModel' <- a -> IO (Ptr TreeModel)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModel
result <- gtk_tree_model_get_column_type treeModel' index_
let result' = CGType -> GType
GType CGType
result
touchManagedPtr treeModel
return result'
#if defined(ENABLE_OVERLOADING)
data TreeModelGetColumnTypeMethodInfo
instance (signature ~ (Int32 -> m GType), MonadIO m, IsTreeModel a) => O.OverloadedMethod TreeModelGetColumnTypeMethodInfo a signature where
overloadedMethod = treeModelGetColumnType
instance O.OverloadedMethodInfo TreeModelGetColumnTypeMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.TreeModel.treeModelGetColumnType",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Interfaces-TreeModel.html#v:treeModelGetColumnType"
})
#endif
foreign import ccall "gtk_tree_model_get_flags" gtk_tree_model_get_flags ::
Ptr TreeModel ->
IO CUInt
{-# DEPRECATED treeModelGetFlags ["(Since version 4.10)"] #-}
treeModelGetFlags ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
a
-> m [Gtk.Flags.TreeModelFlags]
treeModelGetFlags :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModel a) =>
a -> m [TreeModelFlags]
treeModelGetFlags a
treeModel = IO [TreeModelFlags] -> m [TreeModelFlags]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [TreeModelFlags] -> m [TreeModelFlags])
-> IO [TreeModelFlags] -> m [TreeModelFlags]
forall a b. (a -> b) -> a -> b
$ do
treeModel' <- a -> IO (Ptr TreeModel)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModel
result <- gtk_tree_model_get_flags treeModel'
let result' = CUInt -> [TreeModelFlags]
forall a b. (Storable a, Integral a, Bits a, IsGFlag b) => a -> [b]
wordToGFlags CUInt
result
touchManagedPtr treeModel
return result'
#if defined(ENABLE_OVERLOADING)
data TreeModelGetFlagsMethodInfo
instance (signature ~ (m [Gtk.Flags.TreeModelFlags]), MonadIO m, IsTreeModel a) => O.OverloadedMethod TreeModelGetFlagsMethodInfo a signature where
overloadedMethod = treeModelGetFlags
instance O.OverloadedMethodInfo TreeModelGetFlagsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.TreeModel.treeModelGetFlags",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Interfaces-TreeModel.html#v:treeModelGetFlags"
})
#endif
foreign import ccall "gtk_tree_model_get_iter" gtk_tree_model_get_iter ::
Ptr TreeModel ->
Ptr Gtk.TreeIter.TreeIter ->
Ptr Gtk.TreePath.TreePath ->
IO CInt
{-# DEPRECATED treeModelGetIter ["(Since version 4.10)"] #-}
treeModelGetIter ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
a
-> Gtk.TreePath.TreePath
-> m ((Bool, Gtk.TreeIter.TreeIter))
treeModelGetIter :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModel a) =>
a -> TreePath -> m (Bool, TreeIter)
treeModelGetIter a
treeModel TreePath
path = IO (Bool, TreeIter) -> m (Bool, TreeIter)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, TreeIter) -> m (Bool, TreeIter))
-> IO (Bool, TreeIter) -> m (Bool, TreeIter)
forall a b. (a -> b) -> a -> b
$ do
treeModel' <- a -> IO (Ptr TreeModel)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModel
iter <- SP.callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
path' <- unsafeManagedPtrGetPtr path
result <- gtk_tree_model_get_iter treeModel' iter path'
let result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
iter' <- (wrapBoxed Gtk.TreeIter.TreeIter) iter
touchManagedPtr treeModel
touchManagedPtr path
return (result', iter')
#if defined(ENABLE_OVERLOADING)
data TreeModelGetIterMethodInfo
instance (signature ~ (Gtk.TreePath.TreePath -> m ((Bool, Gtk.TreeIter.TreeIter))), MonadIO m, IsTreeModel a) => O.OverloadedMethod TreeModelGetIterMethodInfo a signature where
overloadedMethod = treeModelGetIter
instance O.OverloadedMethodInfo TreeModelGetIterMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.TreeModel.treeModelGetIter",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Interfaces-TreeModel.html#v:treeModelGetIter"
})
#endif
foreign import ccall "gtk_tree_model_get_iter_first" gtk_tree_model_get_iter_first ::
Ptr TreeModel ->
Ptr Gtk.TreeIter.TreeIter ->
IO CInt
{-# DEPRECATED treeModelGetIterFirst ["(Since version 4.10)"] #-}
treeModelGetIterFirst ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
a
-> m ((Bool, Gtk.TreeIter.TreeIter))
treeModelGetIterFirst :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModel a) =>
a -> m (Bool, TreeIter)
treeModelGetIterFirst a
treeModel = IO (Bool, TreeIter) -> m (Bool, TreeIter)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, TreeIter) -> m (Bool, TreeIter))
-> IO (Bool, TreeIter) -> m (Bool, TreeIter)
forall a b. (a -> b) -> a -> b
$ do
treeModel' <- a -> IO (Ptr TreeModel)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModel
iter <- SP.callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
result <- gtk_tree_model_get_iter_first treeModel' iter
let result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
iter' <- (wrapBoxed Gtk.TreeIter.TreeIter) iter
touchManagedPtr treeModel
return (result', iter')
#if defined(ENABLE_OVERLOADING)
data TreeModelGetIterFirstMethodInfo
instance (signature ~ (m ((Bool, Gtk.TreeIter.TreeIter))), MonadIO m, IsTreeModel a) => O.OverloadedMethod TreeModelGetIterFirstMethodInfo a signature where
overloadedMethod = treeModelGetIterFirst
instance O.OverloadedMethodInfo TreeModelGetIterFirstMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.TreeModel.treeModelGetIterFirst",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Interfaces-TreeModel.html#v:treeModelGetIterFirst"
})
#endif
foreign import ccall "gtk_tree_model_get_iter_from_string" gtk_tree_model_get_iter_from_string ::
Ptr TreeModel ->
Ptr Gtk.TreeIter.TreeIter ->
CString ->
IO CInt
{-# DEPRECATED treeModelGetIterFromString ["(Since version 4.10)"] #-}
treeModelGetIterFromString ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
a
-> T.Text
-> m ((Bool, Gtk.TreeIter.TreeIter))
treeModelGetIterFromString :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModel a) =>
a -> Text -> m (Bool, TreeIter)
treeModelGetIterFromString a
treeModel Text
pathString = IO (Bool, TreeIter) -> m (Bool, TreeIter)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, TreeIter) -> m (Bool, TreeIter))
-> IO (Bool, TreeIter) -> m (Bool, TreeIter)
forall a b. (a -> b) -> a -> b
$ do
treeModel' <- a -> IO (Ptr TreeModel)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModel
iter <- SP.callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
pathString' <- textToCString pathString
result <- gtk_tree_model_get_iter_from_string treeModel' iter pathString'
let result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
iter' <- (wrapBoxed Gtk.TreeIter.TreeIter) iter
touchManagedPtr treeModel
freeMem pathString'
return (result', iter')
#if defined(ENABLE_OVERLOADING)
data TreeModelGetIterFromStringMethodInfo
instance (signature ~ (T.Text -> m ((Bool, Gtk.TreeIter.TreeIter))), MonadIO m, IsTreeModel a) => O.OverloadedMethod TreeModelGetIterFromStringMethodInfo a signature where
overloadedMethod = treeModelGetIterFromString
instance O.OverloadedMethodInfo TreeModelGetIterFromStringMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.TreeModel.treeModelGetIterFromString",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Interfaces-TreeModel.html#v:treeModelGetIterFromString"
})
#endif
foreign import ccall "gtk_tree_model_get_n_columns" gtk_tree_model_get_n_columns ::
Ptr TreeModel ->
IO Int32
{-# DEPRECATED treeModelGetNColumns ["(Since version 4.10)"] #-}
treeModelGetNColumns ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
a
-> m Int32
treeModelGetNColumns :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModel a) =>
a -> m Int32
treeModelGetNColumns a
treeModel = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
treeModel' <- a -> IO (Ptr TreeModel)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModel
result <- gtk_tree_model_get_n_columns treeModel'
touchManagedPtr treeModel
return result
#if defined(ENABLE_OVERLOADING)
data TreeModelGetNColumnsMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsTreeModel a) => O.OverloadedMethod TreeModelGetNColumnsMethodInfo a signature where
overloadedMethod = treeModelGetNColumns
instance O.OverloadedMethodInfo TreeModelGetNColumnsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.TreeModel.treeModelGetNColumns",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Interfaces-TreeModel.html#v:treeModelGetNColumns"
})
#endif
foreign import ccall "gtk_tree_model_get_path" gtk_tree_model_get_path ::
Ptr TreeModel ->
Ptr Gtk.TreeIter.TreeIter ->
IO (Ptr Gtk.TreePath.TreePath)
{-# DEPRECATED treeModelGetPath ["(Since version 4.10)"] #-}
treeModelGetPath ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
a
-> Gtk.TreeIter.TreeIter
-> m Gtk.TreePath.TreePath
treeModelGetPath :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModel a) =>
a -> TreeIter -> m TreePath
treeModelGetPath a
treeModel TreeIter
iter = IO TreePath -> m TreePath
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO TreePath -> m TreePath) -> IO TreePath -> m TreePath
forall a b. (a -> b) -> a -> b
$ do
treeModel' <- a -> IO (Ptr TreeModel)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModel
iter' <- unsafeManagedPtrGetPtr iter
result <- gtk_tree_model_get_path treeModel' iter'
checkUnexpectedReturnNULL "treeModelGetPath" result
result' <- (wrapBoxed Gtk.TreePath.TreePath) result
touchManagedPtr treeModel
touchManagedPtr iter
return result'
#if defined(ENABLE_OVERLOADING)
data TreeModelGetPathMethodInfo
instance (signature ~ (Gtk.TreeIter.TreeIter -> m Gtk.TreePath.TreePath), MonadIO m, IsTreeModel a) => O.OverloadedMethod TreeModelGetPathMethodInfo a signature where
overloadedMethod = treeModelGetPath
instance O.OverloadedMethodInfo TreeModelGetPathMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.TreeModel.treeModelGetPath",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Interfaces-TreeModel.html#v:treeModelGetPath"
})
#endif
foreign import ccall "gtk_tree_model_get_string_from_iter" gtk_tree_model_get_string_from_iter ::
Ptr TreeModel ->
Ptr Gtk.TreeIter.TreeIter ->
IO CString
{-# DEPRECATED treeModelGetStringFromIter ["(Since version 4.10)"] #-}
treeModelGetStringFromIter ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
a
-> Gtk.TreeIter.TreeIter
-> m (Maybe T.Text)
treeModelGetStringFromIter :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModel a) =>
a -> TreeIter -> m (Maybe Text)
treeModelGetStringFromIter a
treeModel TreeIter
iter = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ do
treeModel' <- a -> IO (Ptr TreeModel)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModel
iter' <- unsafeManagedPtrGetPtr iter
result <- gtk_tree_model_get_string_from_iter treeModel' iter'
maybeResult <- convertIfNonNull result $ \CString
result' -> do
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
freeMem result'
return result''
touchManagedPtr treeModel
touchManagedPtr iter
return maybeResult
#if defined(ENABLE_OVERLOADING)
data TreeModelGetStringFromIterMethodInfo
instance (signature ~ (Gtk.TreeIter.TreeIter -> m (Maybe T.Text)), MonadIO m, IsTreeModel a) => O.OverloadedMethod TreeModelGetStringFromIterMethodInfo a signature where
overloadedMethod = treeModelGetStringFromIter
instance O.OverloadedMethodInfo TreeModelGetStringFromIterMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.TreeModel.treeModelGetStringFromIter",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Interfaces-TreeModel.html#v:treeModelGetStringFromIter"
})
#endif
foreign import ccall "gtk_tree_model_get_value" gtk_tree_model_get_value ::
Ptr TreeModel ->
Ptr Gtk.TreeIter.TreeIter ->
Int32 ->
Ptr GValue ->
IO ()
{-# DEPRECATED treeModelGetValue ["(Since version 4.10)"] #-}
treeModelGetValue ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
a
-> Gtk.TreeIter.TreeIter
-> Int32
-> m (GValue)
treeModelGetValue :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModel a) =>
a -> TreeIter -> Int32 -> m GValue
treeModelGetValue a
treeModel TreeIter
iter Int32
column = IO GValue -> m GValue
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO GValue -> m GValue) -> IO GValue -> m GValue
forall a b. (a -> b) -> a -> b
$ do
treeModel' <- a -> IO (Ptr TreeModel)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModel
iter' <- unsafeManagedPtrGetPtr iter
value <- SP.callocBytes 24 :: IO (Ptr GValue)
gtk_tree_model_get_value treeModel' iter' column value
value' <- B.GValue.wrapGValuePtr value
touchManagedPtr treeModel
touchManagedPtr iter
return value'
#if defined(ENABLE_OVERLOADING)
data TreeModelGetValueMethodInfo
instance (signature ~ (Gtk.TreeIter.TreeIter -> Int32 -> m (GValue)), MonadIO m, IsTreeModel a) => O.OverloadedMethod TreeModelGetValueMethodInfo a signature where
overloadedMethod = treeModelGetValue
instance O.OverloadedMethodInfo TreeModelGetValueMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.TreeModel.treeModelGetValue",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Interfaces-TreeModel.html#v:treeModelGetValue"
})
#endif
foreign import ccall "gtk_tree_model_iter_children" gtk_tree_model_iter_children ::
Ptr TreeModel ->
Ptr Gtk.TreeIter.TreeIter ->
Ptr Gtk.TreeIter.TreeIter ->
IO CInt
{-# DEPRECATED treeModelIterChildren ["(Since version 4.10)"] #-}
treeModelIterChildren ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
a
-> Maybe (Gtk.TreeIter.TreeIter)
-> m ((Bool, Gtk.TreeIter.TreeIter))
treeModelIterChildren :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModel a) =>
a -> Maybe TreeIter -> m (Bool, TreeIter)
treeModelIterChildren a
treeModel Maybe TreeIter
parent = IO (Bool, TreeIter) -> m (Bool, TreeIter)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, TreeIter) -> m (Bool, TreeIter))
-> IO (Bool, TreeIter) -> m (Bool, TreeIter)
forall a b. (a -> b) -> a -> b
$ do
treeModel' <- a -> IO (Ptr TreeModel)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModel
iter <- SP.callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
maybeParent <- case parent of
Maybe TreeIter
Nothing -> Ptr TreeIter -> IO (Ptr TreeIter)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr TreeIter
forall a. Ptr a
FP.nullPtr
Just TreeIter
jParent -> do
jParent' <- TreeIter -> IO (Ptr TreeIter)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr TreeIter
jParent
return jParent'
result <- gtk_tree_model_iter_children treeModel' iter maybeParent
let result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
iter' <- (wrapBoxed Gtk.TreeIter.TreeIter) iter
touchManagedPtr treeModel
whenJust parent touchManagedPtr
return (result', iter')
#if defined(ENABLE_OVERLOADING)
data TreeModelIterChildrenMethodInfo
instance (signature ~ (Maybe (Gtk.TreeIter.TreeIter) -> m ((Bool, Gtk.TreeIter.TreeIter))), MonadIO m, IsTreeModel a) => O.OverloadedMethod TreeModelIterChildrenMethodInfo a signature where
overloadedMethod = treeModelIterChildren
instance O.OverloadedMethodInfo TreeModelIterChildrenMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.TreeModel.treeModelIterChildren",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Interfaces-TreeModel.html#v:treeModelIterChildren"
})
#endif
foreign import ccall "gtk_tree_model_iter_has_child" gtk_tree_model_iter_has_child ::
Ptr TreeModel ->
Ptr Gtk.TreeIter.TreeIter ->
IO CInt
{-# DEPRECATED treeModelIterHasChild ["(Since version 4.10)"] #-}
treeModelIterHasChild ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
a
-> Gtk.TreeIter.TreeIter
-> m Bool
treeModelIterHasChild :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModel a) =>
a -> TreeIter -> m Bool
treeModelIterHasChild a
treeModel TreeIter
iter = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
treeModel' <- a -> IO (Ptr TreeModel)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModel
iter' <- unsafeManagedPtrGetPtr iter
result <- gtk_tree_model_iter_has_child treeModel' iter'
let result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
touchManagedPtr treeModel
touchManagedPtr iter
return result'
#if defined(ENABLE_OVERLOADING)
data TreeModelIterHasChildMethodInfo
instance (signature ~ (Gtk.TreeIter.TreeIter -> m Bool), MonadIO m, IsTreeModel a) => O.OverloadedMethod TreeModelIterHasChildMethodInfo a signature where
overloadedMethod = treeModelIterHasChild
instance O.OverloadedMethodInfo TreeModelIterHasChildMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.TreeModel.treeModelIterHasChild",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Interfaces-TreeModel.html#v:treeModelIterHasChild"
})
#endif
foreign import ccall "gtk_tree_model_iter_n_children" gtk_tree_model_iter_n_children ::
Ptr TreeModel ->
Ptr Gtk.TreeIter.TreeIter ->
IO Int32
{-# DEPRECATED treeModelIterNChildren ["(Since version 4.10)"] #-}
treeModelIterNChildren ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
a
-> Maybe (Gtk.TreeIter.TreeIter)
-> m Int32
treeModelIterNChildren :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModel a) =>
a -> Maybe TreeIter -> m Int32
treeModelIterNChildren a
treeModel Maybe TreeIter
iter = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
treeModel' <- a -> IO (Ptr TreeModel)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModel
maybeIter <- case iter of
Maybe TreeIter
Nothing -> Ptr TreeIter -> IO (Ptr TreeIter)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr TreeIter
forall a. Ptr a
FP.nullPtr
Just TreeIter
jIter -> do
jIter' <- TreeIter -> IO (Ptr TreeIter)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr TreeIter
jIter
return jIter'
result <- gtk_tree_model_iter_n_children treeModel' maybeIter
touchManagedPtr treeModel
whenJust iter touchManagedPtr
return result
#if defined(ENABLE_OVERLOADING)
data TreeModelIterNChildrenMethodInfo
instance (signature ~ (Maybe (Gtk.TreeIter.TreeIter) -> m Int32), MonadIO m, IsTreeModel a) => O.OverloadedMethod TreeModelIterNChildrenMethodInfo a signature where
overloadedMethod = treeModelIterNChildren
instance O.OverloadedMethodInfo TreeModelIterNChildrenMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.TreeModel.treeModelIterNChildren",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Interfaces-TreeModel.html#v:treeModelIterNChildren"
})
#endif
foreign import ccall "gtk_tree_model_iter_next" gtk_tree_model_iter_next ::
Ptr TreeModel ->
Ptr Gtk.TreeIter.TreeIter ->
IO CInt
{-# DEPRECATED treeModelIterNext ["(Since version 4.10)"] #-}
treeModelIterNext ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
a
-> Gtk.TreeIter.TreeIter
-> m Bool
treeModelIterNext :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModel a) =>
a -> TreeIter -> m Bool
treeModelIterNext a
treeModel TreeIter
iter = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
treeModel' <- a -> IO (Ptr TreeModel)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModel
iter' <- unsafeManagedPtrGetPtr iter
result <- gtk_tree_model_iter_next treeModel' iter'
let result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
touchManagedPtr treeModel
touchManagedPtr iter
return result'
#if defined(ENABLE_OVERLOADING)
data TreeModelIterNextMethodInfo
instance (signature ~ (Gtk.TreeIter.TreeIter -> m Bool), MonadIO m, IsTreeModel a) => O.OverloadedMethod TreeModelIterNextMethodInfo a signature where
overloadedMethod = treeModelIterNext
instance O.OverloadedMethodInfo TreeModelIterNextMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.TreeModel.treeModelIterNext",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Interfaces-TreeModel.html#v:treeModelIterNext"
})
#endif
foreign import ccall "gtk_tree_model_iter_nth_child" gtk_tree_model_iter_nth_child ::
Ptr TreeModel ->
Ptr Gtk.TreeIter.TreeIter ->
Ptr Gtk.TreeIter.TreeIter ->
Int32 ->
IO CInt
{-# DEPRECATED treeModelIterNthChild ["(Since version 4.10)"] #-}
treeModelIterNthChild ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
a
-> Gtk.TreeIter.TreeIter
-> Maybe (Gtk.TreeIter.TreeIter)
-> Int32
-> m Bool
treeModelIterNthChild :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModel a) =>
a -> TreeIter -> Maybe TreeIter -> Int32 -> m Bool
treeModelIterNthChild a
treeModel TreeIter
iter Maybe TreeIter
parent Int32
n = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
treeModel' <- a -> IO (Ptr TreeModel)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModel
iter' <- unsafeManagedPtrGetPtr iter
maybeParent <- case parent of
Maybe TreeIter
Nothing -> Ptr TreeIter -> IO (Ptr TreeIter)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr TreeIter
forall a. Ptr a
FP.nullPtr
Just TreeIter
jParent -> do
jParent' <- TreeIter -> IO (Ptr TreeIter)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr TreeIter
jParent
return jParent'
result <- gtk_tree_model_iter_nth_child treeModel' iter' maybeParent n
let result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
touchManagedPtr treeModel
touchManagedPtr iter
whenJust parent touchManagedPtr
return result'
#if defined(ENABLE_OVERLOADING)
data TreeModelIterNthChildMethodInfo
instance (signature ~ (Gtk.TreeIter.TreeIter -> Maybe (Gtk.TreeIter.TreeIter) -> Int32 -> m Bool), MonadIO m, IsTreeModel a) => O.OverloadedMethod TreeModelIterNthChildMethodInfo a signature where
overloadedMethod = treeModelIterNthChild
instance O.OverloadedMethodInfo TreeModelIterNthChildMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.TreeModel.treeModelIterNthChild",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Interfaces-TreeModel.html#v:treeModelIterNthChild"
})
#endif
foreign import ccall "gtk_tree_model_iter_parent" gtk_tree_model_iter_parent ::
Ptr TreeModel ->
Ptr Gtk.TreeIter.TreeIter ->
Ptr Gtk.TreeIter.TreeIter ->
IO CInt
{-# DEPRECATED treeModelIterParent ["(Since version 4.10)"] #-}
treeModelIterParent ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
a
-> Gtk.TreeIter.TreeIter
-> m ((Bool, Gtk.TreeIter.TreeIter))
treeModelIterParent :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModel a) =>
a -> TreeIter -> m (Bool, TreeIter)
treeModelIterParent a
treeModel TreeIter
child = IO (Bool, TreeIter) -> m (Bool, TreeIter)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, TreeIter) -> m (Bool, TreeIter))
-> IO (Bool, TreeIter) -> m (Bool, TreeIter)
forall a b. (a -> b) -> a -> b
$ do
treeModel' <- a -> IO (Ptr TreeModel)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModel
iter <- SP.callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
child' <- unsafeManagedPtrGetPtr child
result <- gtk_tree_model_iter_parent treeModel' iter child'
let result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
iter' <- (wrapBoxed Gtk.TreeIter.TreeIter) iter
touchManagedPtr treeModel
touchManagedPtr child
return (result', iter')
#if defined(ENABLE_OVERLOADING)
data TreeModelIterParentMethodInfo
instance (signature ~ (Gtk.TreeIter.TreeIter -> m ((Bool, Gtk.TreeIter.TreeIter))), MonadIO m, IsTreeModel a) => O.OverloadedMethod TreeModelIterParentMethodInfo a signature where
overloadedMethod = treeModelIterParent
instance O.OverloadedMethodInfo TreeModelIterParentMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.TreeModel.treeModelIterParent",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Interfaces-TreeModel.html#v:treeModelIterParent"
})
#endif
foreign import ccall "gtk_tree_model_iter_previous" gtk_tree_model_iter_previous ::
Ptr TreeModel ->
Ptr Gtk.TreeIter.TreeIter ->
IO CInt
{-# DEPRECATED treeModelIterPrevious ["(Since version 4.10)"] #-}
treeModelIterPrevious ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
a
-> Gtk.TreeIter.TreeIter
-> m Bool
treeModelIterPrevious :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModel a) =>
a -> TreeIter -> m Bool
treeModelIterPrevious a
treeModel TreeIter
iter = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
treeModel' <- a -> IO (Ptr TreeModel)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModel
iter' <- unsafeManagedPtrGetPtr iter
result <- gtk_tree_model_iter_previous treeModel' iter'
let result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
touchManagedPtr treeModel
touchManagedPtr iter
return result'
#if defined(ENABLE_OVERLOADING)
data TreeModelIterPreviousMethodInfo
instance (signature ~ (Gtk.TreeIter.TreeIter -> m Bool), MonadIO m, IsTreeModel a) => O.OverloadedMethod TreeModelIterPreviousMethodInfo a signature where
overloadedMethod = treeModelIterPrevious
instance O.OverloadedMethodInfo TreeModelIterPreviousMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.TreeModel.treeModelIterPrevious",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Interfaces-TreeModel.html#v:treeModelIterPrevious"
})
#endif
foreign import ccall "gtk_tree_model_ref_node" gtk_tree_model_ref_node ::
Ptr TreeModel ->
Ptr Gtk.TreeIter.TreeIter ->
IO ()
{-# DEPRECATED treeModelRefNode ["(Since version 4.10)"] #-}
treeModelRefNode ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
a
-> Gtk.TreeIter.TreeIter
-> m ()
treeModelRefNode :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModel a) =>
a -> TreeIter -> m ()
treeModelRefNode a
treeModel TreeIter
iter = 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
treeModel' <- a -> IO (Ptr TreeModel)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModel
iter' <- unsafeManagedPtrGetPtr iter
gtk_tree_model_ref_node treeModel' iter'
touchManagedPtr treeModel
touchManagedPtr iter
return ()
#if defined(ENABLE_OVERLOADING)
data TreeModelRefNodeMethodInfo
instance (signature ~ (Gtk.TreeIter.TreeIter -> m ()), MonadIO m, IsTreeModel a) => O.OverloadedMethod TreeModelRefNodeMethodInfo a signature where
overloadedMethod = treeModelRefNode
instance O.OverloadedMethodInfo TreeModelRefNodeMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.TreeModel.treeModelRefNode",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Interfaces-TreeModel.html#v:treeModelRefNode"
})
#endif
foreign import ccall "gtk_tree_model_row_changed" gtk_tree_model_row_changed ::
Ptr TreeModel ->
Ptr Gtk.TreePath.TreePath ->
Ptr Gtk.TreeIter.TreeIter ->
IO ()
{-# DEPRECATED treeModelRowChanged ["(Since version 4.10)"] #-}
treeModelRowChanged ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
a
-> Gtk.TreePath.TreePath
-> Gtk.TreeIter.TreeIter
-> m ()
treeModelRowChanged :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModel a) =>
a -> TreePath -> TreeIter -> m ()
treeModelRowChanged a
treeModel TreePath
path TreeIter
iter = 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
treeModel' <- a -> IO (Ptr TreeModel)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModel
path' <- unsafeManagedPtrGetPtr path
iter' <- unsafeManagedPtrGetPtr iter
gtk_tree_model_row_changed treeModel' path' iter'
touchManagedPtr treeModel
touchManagedPtr path
touchManagedPtr iter
return ()
#if defined(ENABLE_OVERLOADING)
data TreeModelRowChangedMethodInfo
instance (signature ~ (Gtk.TreePath.TreePath -> Gtk.TreeIter.TreeIter -> m ()), MonadIO m, IsTreeModel a) => O.OverloadedMethod TreeModelRowChangedMethodInfo a signature where
overloadedMethod = treeModelRowChanged
instance O.OverloadedMethodInfo TreeModelRowChangedMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.TreeModel.treeModelRowChanged",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Interfaces-TreeModel.html#v:treeModelRowChanged"
})
#endif
foreign import ccall "gtk_tree_model_row_deleted" gtk_tree_model_row_deleted ::
Ptr TreeModel ->
Ptr Gtk.TreePath.TreePath ->
IO ()
{-# DEPRECATED treeModelRowDeleted ["(Since version 4.10)"] #-}
treeModelRowDeleted ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
a
-> Gtk.TreePath.TreePath
-> m ()
treeModelRowDeleted :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModel a) =>
a -> TreePath -> m ()
treeModelRowDeleted a
treeModel TreePath
path = 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
treeModel' <- a -> IO (Ptr TreeModel)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModel
path' <- unsafeManagedPtrGetPtr path
gtk_tree_model_row_deleted treeModel' path'
touchManagedPtr treeModel
touchManagedPtr path
return ()
#if defined(ENABLE_OVERLOADING)
data TreeModelRowDeletedMethodInfo
instance (signature ~ (Gtk.TreePath.TreePath -> m ()), MonadIO m, IsTreeModel a) => O.OverloadedMethod TreeModelRowDeletedMethodInfo a signature where
overloadedMethod = treeModelRowDeleted
instance O.OverloadedMethodInfo TreeModelRowDeletedMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.TreeModel.treeModelRowDeleted",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Interfaces-TreeModel.html#v:treeModelRowDeleted"
})
#endif
foreign import ccall "gtk_tree_model_row_has_child_toggled" gtk_tree_model_row_has_child_toggled ::
Ptr TreeModel ->
Ptr Gtk.TreePath.TreePath ->
Ptr Gtk.TreeIter.TreeIter ->
IO ()
{-# DEPRECATED treeModelRowHasChildToggled ["(Since version 4.10)"] #-}
treeModelRowHasChildToggled ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
a
-> Gtk.TreePath.TreePath
-> Gtk.TreeIter.TreeIter
-> m ()
treeModelRowHasChildToggled :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModel a) =>
a -> TreePath -> TreeIter -> m ()
treeModelRowHasChildToggled a
treeModel TreePath
path TreeIter
iter = 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
treeModel' <- a -> IO (Ptr TreeModel)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModel
path' <- unsafeManagedPtrGetPtr path
iter' <- unsafeManagedPtrGetPtr iter
gtk_tree_model_row_has_child_toggled treeModel' path' iter'
touchManagedPtr treeModel
touchManagedPtr path
touchManagedPtr iter
return ()
#if defined(ENABLE_OVERLOADING)
data TreeModelRowHasChildToggledMethodInfo
instance (signature ~ (Gtk.TreePath.TreePath -> Gtk.TreeIter.TreeIter -> m ()), MonadIO m, IsTreeModel a) => O.OverloadedMethod TreeModelRowHasChildToggledMethodInfo a signature where
overloadedMethod = treeModelRowHasChildToggled
instance O.OverloadedMethodInfo TreeModelRowHasChildToggledMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.TreeModel.treeModelRowHasChildToggled",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Interfaces-TreeModel.html#v:treeModelRowHasChildToggled"
})
#endif
foreign import ccall "gtk_tree_model_row_inserted" gtk_tree_model_row_inserted ::
Ptr TreeModel ->
Ptr Gtk.TreePath.TreePath ->
Ptr Gtk.TreeIter.TreeIter ->
IO ()
{-# DEPRECATED treeModelRowInserted ["(Since version 4.10)"] #-}
treeModelRowInserted ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
a
-> Gtk.TreePath.TreePath
-> Gtk.TreeIter.TreeIter
-> m ()
treeModelRowInserted :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModel a) =>
a -> TreePath -> TreeIter -> m ()
treeModelRowInserted a
treeModel TreePath
path TreeIter
iter = 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
treeModel' <- a -> IO (Ptr TreeModel)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModel
path' <- unsafeManagedPtrGetPtr path
iter' <- unsafeManagedPtrGetPtr iter
gtk_tree_model_row_inserted treeModel' path' iter'
touchManagedPtr treeModel
touchManagedPtr path
touchManagedPtr iter
return ()
#if defined(ENABLE_OVERLOADING)
data TreeModelRowInsertedMethodInfo
instance (signature ~ (Gtk.TreePath.TreePath -> Gtk.TreeIter.TreeIter -> m ()), MonadIO m, IsTreeModel a) => O.OverloadedMethod TreeModelRowInsertedMethodInfo a signature where
overloadedMethod = treeModelRowInserted
instance O.OverloadedMethodInfo TreeModelRowInsertedMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.TreeModel.treeModelRowInserted",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Interfaces-TreeModel.html#v:treeModelRowInserted"
})
#endif
foreign import ccall "gtk_tree_model_rows_reordered_with_length" gtk_tree_model_rows_reordered_with_length ::
Ptr TreeModel ->
Ptr Gtk.TreePath.TreePath ->
Ptr Gtk.TreeIter.TreeIter ->
Ptr Int32 ->
Int32 ->
IO ()
{-# DEPRECATED treeModelRowsReordered ["(Since version 4.10)"] #-}
treeModelRowsReordered ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
a
-> Gtk.TreePath.TreePath
-> Maybe (Gtk.TreeIter.TreeIter)
-> [Int32]
-> m ()
treeModelRowsReordered :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModel a) =>
a -> TreePath -> Maybe TreeIter -> [Int32] -> m ()
treeModelRowsReordered a
treeModel TreePath
path Maybe TreeIter
iter [Int32]
newOrder = 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
let length_ :: Int32
length_ = Int -> Int32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> Int32) -> Int -> Int32
forall a b. (a -> b) -> a -> b
$ [Int32] -> Int
forall a. [a] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
P.length [Int32]
newOrder
treeModel' <- a -> IO (Ptr TreeModel)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModel
path' <- unsafeManagedPtrGetPtr path
maybeIter <- case iter of
Maybe TreeIter
Nothing -> Ptr TreeIter -> IO (Ptr TreeIter)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr TreeIter
forall a. Ptr a
FP.nullPtr
Just TreeIter
jIter -> do
jIter' <- TreeIter -> IO (Ptr TreeIter)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr TreeIter
jIter
return jIter'
newOrder' <- packStorableArray newOrder
gtk_tree_model_rows_reordered_with_length treeModel' path' maybeIter newOrder' length_
touchManagedPtr treeModel
touchManagedPtr path
whenJust iter touchManagedPtr
freeMem newOrder'
return ()
#if defined(ENABLE_OVERLOADING)
data TreeModelRowsReorderedMethodInfo
instance (signature ~ (Gtk.TreePath.TreePath -> Maybe (Gtk.TreeIter.TreeIter) -> [Int32] -> m ()), MonadIO m, IsTreeModel a) => O.OverloadedMethod TreeModelRowsReorderedMethodInfo a signature where
overloadedMethod = treeModelRowsReordered
instance O.OverloadedMethodInfo TreeModelRowsReorderedMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.TreeModel.treeModelRowsReordered",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Interfaces-TreeModel.html#v:treeModelRowsReordered"
})
#endif
foreign import ccall "gtk_tree_model_unref_node" gtk_tree_model_unref_node ::
Ptr TreeModel ->
Ptr Gtk.TreeIter.TreeIter ->
IO ()
{-# DEPRECATED treeModelUnrefNode ["(Since version 4.10)"] #-}
treeModelUnrefNode ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
a
-> Gtk.TreeIter.TreeIter
-> m ()
treeModelUnrefNode :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModel a) =>
a -> TreeIter -> m ()
treeModelUnrefNode a
treeModel TreeIter
iter = 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
treeModel' <- a -> IO (Ptr TreeModel)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModel
iter' <- unsafeManagedPtrGetPtr iter
gtk_tree_model_unref_node treeModel' iter'
touchManagedPtr treeModel
touchManagedPtr iter
return ()
#if defined(ENABLE_OVERLOADING)
data TreeModelUnrefNodeMethodInfo
instance (signature ~ (Gtk.TreeIter.TreeIter -> m ()), MonadIO m, IsTreeModel a) => O.OverloadedMethod TreeModelUnrefNodeMethodInfo a signature where
overloadedMethod = treeModelUnrefNode
instance O.OverloadedMethodInfo TreeModelUnrefNodeMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.TreeModel.treeModelUnrefNode",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Interfaces-TreeModel.html#v:treeModelUnrefNode"
})
#endif
type TreeModelRowChangedCallback =
Gtk.TreePath.TreePath
-> Gtk.TreeIter.TreeIter
-> IO ()
type C_TreeModelRowChangedCallback =
Ptr TreeModel ->
Ptr Gtk.TreePath.TreePath ->
Ptr Gtk.TreeIter.TreeIter ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_TreeModelRowChangedCallback :: C_TreeModelRowChangedCallback -> IO (FunPtr C_TreeModelRowChangedCallback)
wrap_TreeModelRowChangedCallback ::
GObject a => (a -> TreeModelRowChangedCallback) ->
C_TreeModelRowChangedCallback
wrap_TreeModelRowChangedCallback :: forall a.
GObject a =>
(a -> TreeModelRowChangedCallback) -> C_TreeModelRowChangedCallback
wrap_TreeModelRowChangedCallback a -> TreeModelRowChangedCallback
gi'cb Ptr TreeModel
gi'selfPtr Ptr TreePath
path Ptr TreeIter
iter Ptr ()
_ = do
Ptr TreePath -> (TreePath -> IO ()) -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr TreePath
path ((TreePath -> IO ()) -> IO ()) -> (TreePath -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \TreePath
path' -> do
Ptr TreeIter -> (TreeIter -> IO ()) -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr TreeIter
iter ((TreeIter -> IO ()) -> IO ()) -> (TreeIter -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \TreeIter
iter' -> do
Ptr TreeModel -> (TreeModel -> IO ()) -> IO ()
forall o b.
(HasCallStack, GObject o) =>
Ptr o -> (o -> IO b) -> IO b
B.ManagedPtr.withNewObject Ptr TreeModel
gi'selfPtr ((TreeModel -> IO ()) -> IO ()) -> (TreeModel -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \TreeModel
gi'self -> a -> TreeModelRowChangedCallback
gi'cb (TreeModel -> a
forall a b. Coercible a b => a -> b
Coerce.coerce TreeModel
gi'self) TreePath
path' TreeIter
iter'
onTreeModelRowChanged :: (IsTreeModel a, MonadIO m) => a -> ((?self :: a) => TreeModelRowChangedCallback) -> m SignalHandlerId
onTreeModelRowChanged :: forall a (m :: * -> *).
(IsTreeModel a, MonadIO m) =>
a
-> ((?self::a) => TreeModelRowChangedCallback) -> m SignalHandlerId
onTreeModelRowChanged a
obj (?self::a) => TreeModelRowChangedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> TreeModelRowChangedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => TreeModelRowChangedCallback
TreeModelRowChangedCallback
cb
let wrapped' :: C_TreeModelRowChangedCallback
wrapped' = (a -> TreeModelRowChangedCallback) -> C_TreeModelRowChangedCallback
forall a.
GObject a =>
(a -> TreeModelRowChangedCallback) -> C_TreeModelRowChangedCallback
wrap_TreeModelRowChangedCallback a -> TreeModelRowChangedCallback
wrapped
wrapped'' <- C_TreeModelRowChangedCallback
-> IO (FunPtr C_TreeModelRowChangedCallback)
mk_TreeModelRowChangedCallback C_TreeModelRowChangedCallback
wrapped'
connectSignalFunPtr obj "row-changed" wrapped'' SignalConnectBefore Nothing
afterTreeModelRowChanged :: (IsTreeModel a, MonadIO m) => a -> ((?self :: a) => TreeModelRowChangedCallback) -> m SignalHandlerId
afterTreeModelRowChanged :: forall a (m :: * -> *).
(IsTreeModel a, MonadIO m) =>
a
-> ((?self::a) => TreeModelRowChangedCallback) -> m SignalHandlerId
afterTreeModelRowChanged a
obj (?self::a) => TreeModelRowChangedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> TreeModelRowChangedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => TreeModelRowChangedCallback
TreeModelRowChangedCallback
cb
let wrapped' :: C_TreeModelRowChangedCallback
wrapped' = (a -> TreeModelRowChangedCallback) -> C_TreeModelRowChangedCallback
forall a.
GObject a =>
(a -> TreeModelRowChangedCallback) -> C_TreeModelRowChangedCallback
wrap_TreeModelRowChangedCallback a -> TreeModelRowChangedCallback
wrapped
wrapped'' <- C_TreeModelRowChangedCallback
-> IO (FunPtr C_TreeModelRowChangedCallback)
mk_TreeModelRowChangedCallback C_TreeModelRowChangedCallback
wrapped'
connectSignalFunPtr obj "row-changed" wrapped'' SignalConnectAfter Nothing
#if defined(ENABLE_OVERLOADING)
data TreeModelRowChangedSignalInfo
instance SignalInfo TreeModelRowChangedSignalInfo where
type HaskellCallbackType TreeModelRowChangedSignalInfo = TreeModelRowChangedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_TreeModelRowChangedCallback cb
cb'' <- mk_TreeModelRowChangedCallback cb'
connectSignalFunPtr obj "row-changed" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.TreeModel::row-changed"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Interfaces-TreeModel.html#g:signal:rowChanged"})
#endif
type TreeModelRowDeletedCallback =
Gtk.TreePath.TreePath
-> IO ()
type C_TreeModelRowDeletedCallback =
Ptr TreeModel ->
Ptr Gtk.TreePath.TreePath ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_TreeModelRowDeletedCallback :: C_TreeModelRowDeletedCallback -> IO (FunPtr C_TreeModelRowDeletedCallback)
wrap_TreeModelRowDeletedCallback ::
GObject a => (a -> TreeModelRowDeletedCallback) ->
C_TreeModelRowDeletedCallback
wrap_TreeModelRowDeletedCallback :: forall a.
GObject a =>
(a -> TreePath -> IO ()) -> C_TreeModelRowDeletedCallback
wrap_TreeModelRowDeletedCallback a -> TreePath -> IO ()
gi'cb Ptr TreeModel
gi'selfPtr Ptr TreePath
path Ptr ()
_ = do
Ptr TreePath -> (TreePath -> IO ()) -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr TreePath
path ((TreePath -> IO ()) -> IO ()) -> (TreePath -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \TreePath
path' -> do
Ptr TreeModel -> (TreeModel -> IO ()) -> IO ()
forall o b.
(HasCallStack, GObject o) =>
Ptr o -> (o -> IO b) -> IO b
B.ManagedPtr.withNewObject Ptr TreeModel
gi'selfPtr ((TreeModel -> IO ()) -> IO ()) -> (TreeModel -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \TreeModel
gi'self -> a -> TreePath -> IO ()
gi'cb (TreeModel -> a
forall a b. Coercible a b => a -> b
Coerce.coerce TreeModel
gi'self) TreePath
path'
onTreeModelRowDeleted :: (IsTreeModel a, MonadIO m) => a -> ((?self :: a) => TreeModelRowDeletedCallback) -> m SignalHandlerId
onTreeModelRowDeleted :: forall a (m :: * -> *).
(IsTreeModel a, MonadIO m) =>
a -> ((?self::a) => TreePath -> IO ()) -> m SignalHandlerId
onTreeModelRowDeleted a
obj (?self::a) => TreePath -> IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> TreePath -> IO ()
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => TreePath -> IO ()
TreePath -> IO ()
cb
let wrapped' :: C_TreeModelRowDeletedCallback
wrapped' = (a -> TreePath -> IO ()) -> C_TreeModelRowDeletedCallback
forall a.
GObject a =>
(a -> TreePath -> IO ()) -> C_TreeModelRowDeletedCallback
wrap_TreeModelRowDeletedCallback a -> TreePath -> IO ()
wrapped
wrapped'' <- C_TreeModelRowDeletedCallback
-> IO (FunPtr C_TreeModelRowDeletedCallback)
mk_TreeModelRowDeletedCallback C_TreeModelRowDeletedCallback
wrapped'
connectSignalFunPtr obj "row-deleted" wrapped'' SignalConnectBefore Nothing
afterTreeModelRowDeleted :: (IsTreeModel a, MonadIO m) => a -> ((?self :: a) => TreeModelRowDeletedCallback) -> m SignalHandlerId
afterTreeModelRowDeleted :: forall a (m :: * -> *).
(IsTreeModel a, MonadIO m) =>
a -> ((?self::a) => TreePath -> IO ()) -> m SignalHandlerId
afterTreeModelRowDeleted a
obj (?self::a) => TreePath -> IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> TreePath -> IO ()
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => TreePath -> IO ()
TreePath -> IO ()
cb
let wrapped' :: C_TreeModelRowDeletedCallback
wrapped' = (a -> TreePath -> IO ()) -> C_TreeModelRowDeletedCallback
forall a.
GObject a =>
(a -> TreePath -> IO ()) -> C_TreeModelRowDeletedCallback
wrap_TreeModelRowDeletedCallback a -> TreePath -> IO ()
wrapped
wrapped'' <- C_TreeModelRowDeletedCallback
-> IO (FunPtr C_TreeModelRowDeletedCallback)
mk_TreeModelRowDeletedCallback C_TreeModelRowDeletedCallback
wrapped'
connectSignalFunPtr obj "row-deleted" wrapped'' SignalConnectAfter Nothing
#if defined(ENABLE_OVERLOADING)
data TreeModelRowDeletedSignalInfo
instance SignalInfo TreeModelRowDeletedSignalInfo where
type HaskellCallbackType TreeModelRowDeletedSignalInfo = TreeModelRowDeletedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_TreeModelRowDeletedCallback cb
cb'' <- mk_TreeModelRowDeletedCallback cb'
connectSignalFunPtr obj "row-deleted" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.TreeModel::row-deleted"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Interfaces-TreeModel.html#g:signal:rowDeleted"})
#endif
type TreeModelRowHasChildToggledCallback =
Gtk.TreePath.TreePath
-> Gtk.TreeIter.TreeIter
-> IO ()
type C_TreeModelRowHasChildToggledCallback =
Ptr TreeModel ->
Ptr Gtk.TreePath.TreePath ->
Ptr Gtk.TreeIter.TreeIter ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_TreeModelRowHasChildToggledCallback :: C_TreeModelRowHasChildToggledCallback -> IO (FunPtr C_TreeModelRowHasChildToggledCallback)
wrap_TreeModelRowHasChildToggledCallback ::
GObject a => (a -> TreeModelRowHasChildToggledCallback) ->
C_TreeModelRowHasChildToggledCallback
wrap_TreeModelRowHasChildToggledCallback :: forall a.
GObject a =>
(a -> TreeModelRowChangedCallback) -> C_TreeModelRowChangedCallback
wrap_TreeModelRowHasChildToggledCallback a -> TreeModelRowChangedCallback
gi'cb Ptr TreeModel
gi'selfPtr Ptr TreePath
path Ptr TreeIter
iter Ptr ()
_ = do
Ptr TreePath -> (TreePath -> IO ()) -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr TreePath
path ((TreePath -> IO ()) -> IO ()) -> (TreePath -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \TreePath
path' -> do
Ptr TreeIter -> (TreeIter -> IO ()) -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr TreeIter
iter ((TreeIter -> IO ()) -> IO ()) -> (TreeIter -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \TreeIter
iter' -> do
Ptr TreeModel -> (TreeModel -> IO ()) -> IO ()
forall o b.
(HasCallStack, GObject o) =>
Ptr o -> (o -> IO b) -> IO b
B.ManagedPtr.withNewObject Ptr TreeModel
gi'selfPtr ((TreeModel -> IO ()) -> IO ()) -> (TreeModel -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \TreeModel
gi'self -> a -> TreeModelRowChangedCallback
gi'cb (TreeModel -> a
forall a b. Coercible a b => a -> b
Coerce.coerce TreeModel
gi'self) TreePath
path' TreeIter
iter'
onTreeModelRowHasChildToggled :: (IsTreeModel a, MonadIO m) => a -> ((?self :: a) => TreeModelRowHasChildToggledCallback) -> m SignalHandlerId
onTreeModelRowHasChildToggled :: forall a (m :: * -> *).
(IsTreeModel a, MonadIO m) =>
a
-> ((?self::a) => TreeModelRowChangedCallback) -> m SignalHandlerId
onTreeModelRowHasChildToggled a
obj (?self::a) => TreeModelRowChangedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> TreeModelRowChangedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => TreeModelRowChangedCallback
TreeModelRowChangedCallback
cb
let wrapped' :: C_TreeModelRowChangedCallback
wrapped' = (a -> TreeModelRowChangedCallback) -> C_TreeModelRowChangedCallback
forall a.
GObject a =>
(a -> TreeModelRowChangedCallback) -> C_TreeModelRowChangedCallback
wrap_TreeModelRowHasChildToggledCallback a -> TreeModelRowChangedCallback
wrapped
wrapped'' <- C_TreeModelRowChangedCallback
-> IO (FunPtr C_TreeModelRowChangedCallback)
mk_TreeModelRowHasChildToggledCallback C_TreeModelRowChangedCallback
wrapped'
connectSignalFunPtr obj "row-has-child-toggled" wrapped'' SignalConnectBefore Nothing
afterTreeModelRowHasChildToggled :: (IsTreeModel a, MonadIO m) => a -> ((?self :: a) => TreeModelRowHasChildToggledCallback) -> m SignalHandlerId
afterTreeModelRowHasChildToggled :: forall a (m :: * -> *).
(IsTreeModel a, MonadIO m) =>
a
-> ((?self::a) => TreeModelRowChangedCallback) -> m SignalHandlerId
afterTreeModelRowHasChildToggled a
obj (?self::a) => TreeModelRowChangedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> TreeModelRowChangedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => TreeModelRowChangedCallback
TreeModelRowChangedCallback
cb
let wrapped' :: C_TreeModelRowChangedCallback
wrapped' = (a -> TreeModelRowChangedCallback) -> C_TreeModelRowChangedCallback
forall a.
GObject a =>
(a -> TreeModelRowChangedCallback) -> C_TreeModelRowChangedCallback
wrap_TreeModelRowHasChildToggledCallback a -> TreeModelRowChangedCallback
wrapped
wrapped'' <- C_TreeModelRowChangedCallback
-> IO (FunPtr C_TreeModelRowChangedCallback)
mk_TreeModelRowHasChildToggledCallback C_TreeModelRowChangedCallback
wrapped'
connectSignalFunPtr obj "row-has-child-toggled" wrapped'' SignalConnectAfter Nothing
#if defined(ENABLE_OVERLOADING)
data TreeModelRowHasChildToggledSignalInfo
instance SignalInfo TreeModelRowHasChildToggledSignalInfo where
type HaskellCallbackType TreeModelRowHasChildToggledSignalInfo = TreeModelRowHasChildToggledCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_TreeModelRowHasChildToggledCallback cb
cb'' <- mk_TreeModelRowHasChildToggledCallback cb'
connectSignalFunPtr obj "row-has-child-toggled" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.TreeModel::row-has-child-toggled"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Interfaces-TreeModel.html#g:signal:rowHasChildToggled"})
#endif
type TreeModelRowInsertedCallback =
Gtk.TreePath.TreePath
-> Gtk.TreeIter.TreeIter
-> IO ()
type C_TreeModelRowInsertedCallback =
Ptr TreeModel ->
Ptr Gtk.TreePath.TreePath ->
Ptr Gtk.TreeIter.TreeIter ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_TreeModelRowInsertedCallback :: C_TreeModelRowInsertedCallback -> IO (FunPtr C_TreeModelRowInsertedCallback)
wrap_TreeModelRowInsertedCallback ::
GObject a => (a -> TreeModelRowInsertedCallback) ->
C_TreeModelRowInsertedCallback
wrap_TreeModelRowInsertedCallback :: forall a.
GObject a =>
(a -> TreeModelRowChangedCallback) -> C_TreeModelRowChangedCallback
wrap_TreeModelRowInsertedCallback a -> TreeModelRowChangedCallback
gi'cb Ptr TreeModel
gi'selfPtr Ptr TreePath
path Ptr TreeIter
iter Ptr ()
_ = do
Ptr TreePath -> (TreePath -> IO ()) -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr TreePath
path ((TreePath -> IO ()) -> IO ()) -> (TreePath -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \TreePath
path' -> do
Ptr TreeIter -> (TreeIter -> IO ()) -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr TreeIter
iter ((TreeIter -> IO ()) -> IO ()) -> (TreeIter -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \TreeIter
iter' -> do
Ptr TreeModel -> (TreeModel -> IO ()) -> IO ()
forall o b.
(HasCallStack, GObject o) =>
Ptr o -> (o -> IO b) -> IO b
B.ManagedPtr.withNewObject Ptr TreeModel
gi'selfPtr ((TreeModel -> IO ()) -> IO ()) -> (TreeModel -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \TreeModel
gi'self -> a -> TreeModelRowChangedCallback
gi'cb (TreeModel -> a
forall a b. Coercible a b => a -> b
Coerce.coerce TreeModel
gi'self) TreePath
path' TreeIter
iter'
onTreeModelRowInserted :: (IsTreeModel a, MonadIO m) => a -> ((?self :: a) => TreeModelRowInsertedCallback) -> m SignalHandlerId
onTreeModelRowInserted :: forall a (m :: * -> *).
(IsTreeModel a, MonadIO m) =>
a
-> ((?self::a) => TreeModelRowChangedCallback) -> m SignalHandlerId
onTreeModelRowInserted a
obj (?self::a) => TreeModelRowChangedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> TreeModelRowChangedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => TreeModelRowChangedCallback
TreeModelRowChangedCallback
cb
let wrapped' :: C_TreeModelRowChangedCallback
wrapped' = (a -> TreeModelRowChangedCallback) -> C_TreeModelRowChangedCallback
forall a.
GObject a =>
(a -> TreeModelRowChangedCallback) -> C_TreeModelRowChangedCallback
wrap_TreeModelRowInsertedCallback a -> TreeModelRowChangedCallback
wrapped
wrapped'' <- C_TreeModelRowChangedCallback
-> IO (FunPtr C_TreeModelRowChangedCallback)
mk_TreeModelRowInsertedCallback C_TreeModelRowChangedCallback
wrapped'
connectSignalFunPtr obj "row-inserted" wrapped'' SignalConnectBefore Nothing
afterTreeModelRowInserted :: (IsTreeModel a, MonadIO m) => a -> ((?self :: a) => TreeModelRowInsertedCallback) -> m SignalHandlerId
afterTreeModelRowInserted :: forall a (m :: * -> *).
(IsTreeModel a, MonadIO m) =>
a
-> ((?self::a) => TreeModelRowChangedCallback) -> m SignalHandlerId
afterTreeModelRowInserted a
obj (?self::a) => TreeModelRowChangedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> TreeModelRowChangedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => TreeModelRowChangedCallback
TreeModelRowChangedCallback
cb
let wrapped' :: C_TreeModelRowChangedCallback
wrapped' = (a -> TreeModelRowChangedCallback) -> C_TreeModelRowChangedCallback
forall a.
GObject a =>
(a -> TreeModelRowChangedCallback) -> C_TreeModelRowChangedCallback
wrap_TreeModelRowInsertedCallback a -> TreeModelRowChangedCallback
wrapped
wrapped'' <- C_TreeModelRowChangedCallback
-> IO (FunPtr C_TreeModelRowChangedCallback)
mk_TreeModelRowInsertedCallback C_TreeModelRowChangedCallback
wrapped'
connectSignalFunPtr obj "row-inserted" wrapped'' SignalConnectAfter Nothing
#if defined(ENABLE_OVERLOADING)
data TreeModelRowInsertedSignalInfo
instance SignalInfo TreeModelRowInsertedSignalInfo where
type HaskellCallbackType TreeModelRowInsertedSignalInfo = TreeModelRowInsertedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_TreeModelRowInsertedCallback cb
cb'' <- mk_TreeModelRowInsertedCallback cb'
connectSignalFunPtr obj "row-inserted" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.TreeModel::row-inserted"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Interfaces-TreeModel.html#g:signal:rowInserted"})
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList TreeModel = TreeModelSignalList
type TreeModelSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo), '("rowChanged", TreeModelRowChangedSignalInfo), '("rowDeleted", TreeModelRowDeletedSignalInfo), '("rowHasChildToggled", TreeModelRowHasChildToggledSignalInfo), '("rowInserted", TreeModelRowInsertedSignalInfo)] :: [(Symbol, DK.Type)])
#endif