gi-gtk-0.3.18.12: GI/Gtk/Objects/TreeStore.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}
module GI.Gtk.Objects.TreeStore
(
-- * Exported types
TreeStore(..) ,
TreeStoreK ,
toTreeStore ,
noTreeStore ,
-- * Methods
-- ** treeStoreAppend
treeStoreAppend ,
-- ** treeStoreClear
treeStoreClear ,
-- ** treeStoreInsert
treeStoreInsert ,
-- ** treeStoreInsertAfter
treeStoreInsertAfter ,
-- ** treeStoreInsertBefore
treeStoreInsertBefore ,
-- ** treeStoreInsertWithValues
treeStoreInsertWithValues ,
-- ** treeStoreIsAncestor
treeStoreIsAncestor ,
-- ** treeStoreIterDepth
treeStoreIterDepth ,
-- ** treeStoreIterIsValid
treeStoreIterIsValid ,
-- ** treeStoreMoveAfter
treeStoreMoveAfter ,
-- ** treeStoreMoveBefore
treeStoreMoveBefore ,
-- ** treeStoreNew
treeStoreNew ,
-- ** treeStorePrepend
treeStorePrepend ,
-- ** treeStoreRemove
treeStoreRemove ,
-- ** treeStoreSet
treeStoreSet ,
-- ** treeStoreSetColumnTypes
treeStoreSetColumnTypes ,
-- ** treeStoreSetValue
treeStoreSetValue ,
-- ** treeStoreSwap
treeStoreSwap ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.Gtk.Types
import GI.Gtk.Callbacks
import qualified GI.GObject as GObject
newtype TreeStore = TreeStore (ForeignPtr TreeStore)
foreign import ccall "gtk_tree_store_get_type"
c_gtk_tree_store_get_type :: IO GType
type instance ParentTypes TreeStore = TreeStoreParentTypes
type TreeStoreParentTypes = '[GObject.Object, Buildable, TreeDragDest, TreeDragSource, TreeModel, TreeSortable]
instance GObject TreeStore where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_gtk_tree_store_get_type
class GObject o => TreeStoreK o
instance (GObject o, IsDescendantOf TreeStore o) => TreeStoreK o
toTreeStore :: TreeStoreK o => o -> IO TreeStore
toTreeStore = unsafeCastTo TreeStore
noTreeStore :: Maybe TreeStore
noTreeStore = Nothing
type instance AttributeList TreeStore = TreeStoreAttributeList
type TreeStoreAttributeList = ('[ ] :: [(Symbol, *)])
type instance SignalList TreeStore = TreeStoreSignalList
type TreeStoreSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("row-changed", TreeModelRowChangedSignalInfo), '("row-deleted", TreeModelRowDeletedSignalInfo), '("row-has-child-toggled", TreeModelRowHasChildToggledSignalInfo), '("row-inserted", TreeModelRowInsertedSignalInfo), '("sort-column-changed", TreeSortableSortColumnChangedSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-- method TreeStore::new
-- method type : Constructor
-- Args : [Arg {argName = "n_columns", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "types", argType = TCArray False (-1) 0 (TBasicType TGType), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : [Arg {argName = "n_columns", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- hInArgs : [Arg {argName = "types", argType = TCArray False (-1) 0 (TBasicType TGType), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gtk" "TreeStore"
-- throws : False
-- Skip return : False
foreign import ccall "gtk_tree_store_newv" gtk_tree_store_newv ::
Int32 -> -- n_columns : TBasicType TInt32
Ptr CGType -> -- types : TCArray False (-1) 0 (TBasicType TGType)
IO (Ptr TreeStore)
treeStoreNew ::
(MonadIO m) =>
[GType] -> -- types
m TreeStore
treeStoreNew types = liftIO $ do
let n_columns = fromIntegral $ length types
types' <- (packMapStorableArray gtypeToCGType) types
result <- gtk_tree_store_newv n_columns types'
checkUnexpectedReturnNULL "gtk_tree_store_newv" result
result' <- (wrapObject TreeStore) result
freeMem types'
return result'
-- method TreeStore::append
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iter", argType = TInterface "Gtk" "TreeIter", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_tree_store_append" gtk_tree_store_append ::
Ptr TreeStore -> -- _obj : TInterface "Gtk" "TreeStore"
Ptr TreeIter -> -- iter : TInterface "Gtk" "TreeIter"
Ptr TreeIter -> -- parent : TInterface "Gtk" "TreeIter"
IO ()
treeStoreAppend ::
(MonadIO m, TreeStoreK a) =>
a -> -- _obj
Maybe (TreeIter) -> -- parent
m (TreeIter)
treeStoreAppend _obj parent = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
iter <- callocBoxedBytes 32 :: IO (Ptr TreeIter)
maybeParent <- case parent of
Nothing -> return nullPtr
Just jParent -> do
let jParent' = unsafeManagedPtrGetPtr jParent
return jParent'
gtk_tree_store_append _obj' iter maybeParent
iter' <- (wrapBoxed TreeIter) iter
touchManagedPtr _obj
whenJust parent touchManagedPtr
return iter'
-- method TreeStore::clear
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_tree_store_clear" gtk_tree_store_clear ::
Ptr TreeStore -> -- _obj : TInterface "Gtk" "TreeStore"
IO ()
treeStoreClear ::
(MonadIO m, TreeStoreK a) =>
a -> -- _obj
m ()
treeStoreClear _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gtk_tree_store_clear _obj'
touchManagedPtr _obj
return ()
-- method TreeStore::insert
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iter", argType = TInterface "Gtk" "TreeIter", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "position", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "position", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_tree_store_insert" gtk_tree_store_insert ::
Ptr TreeStore -> -- _obj : TInterface "Gtk" "TreeStore"
Ptr TreeIter -> -- iter : TInterface "Gtk" "TreeIter"
Ptr TreeIter -> -- parent : TInterface "Gtk" "TreeIter"
Int32 -> -- position : TBasicType TInt32
IO ()
treeStoreInsert ::
(MonadIO m, TreeStoreK a) =>
a -> -- _obj
Maybe (TreeIter) -> -- parent
Int32 -> -- position
m (TreeIter)
treeStoreInsert _obj parent position = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
iter <- callocBoxedBytes 32 :: IO (Ptr TreeIter)
maybeParent <- case parent of
Nothing -> return nullPtr
Just jParent -> do
let jParent' = unsafeManagedPtrGetPtr jParent
return jParent'
gtk_tree_store_insert _obj' iter maybeParent position
iter' <- (wrapBoxed TreeIter) iter
touchManagedPtr _obj
whenJust parent touchManagedPtr
return iter'
-- method TreeStore::insert_after
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iter", argType = TInterface "Gtk" "TreeIter", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "sibling", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "sibling", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_tree_store_insert_after" gtk_tree_store_insert_after ::
Ptr TreeStore -> -- _obj : TInterface "Gtk" "TreeStore"
Ptr TreeIter -> -- iter : TInterface "Gtk" "TreeIter"
Ptr TreeIter -> -- parent : TInterface "Gtk" "TreeIter"
Ptr TreeIter -> -- sibling : TInterface "Gtk" "TreeIter"
IO ()
treeStoreInsertAfter ::
(MonadIO m, TreeStoreK a) =>
a -> -- _obj
Maybe (TreeIter) -> -- parent
Maybe (TreeIter) -> -- sibling
m (TreeIter)
treeStoreInsertAfter _obj parent sibling = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
iter <- callocBoxedBytes 32 :: IO (Ptr TreeIter)
maybeParent <- case parent of
Nothing -> return nullPtr
Just jParent -> do
let jParent' = unsafeManagedPtrGetPtr jParent
return jParent'
maybeSibling <- case sibling of
Nothing -> return nullPtr
Just jSibling -> do
let jSibling' = unsafeManagedPtrGetPtr jSibling
return jSibling'
gtk_tree_store_insert_after _obj' iter maybeParent maybeSibling
iter' <- (wrapBoxed TreeIter) iter
touchManagedPtr _obj
whenJust parent touchManagedPtr
whenJust sibling touchManagedPtr
return iter'
-- method TreeStore::insert_before
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iter", argType = TInterface "Gtk" "TreeIter", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "sibling", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "sibling", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_tree_store_insert_before" gtk_tree_store_insert_before ::
Ptr TreeStore -> -- _obj : TInterface "Gtk" "TreeStore"
Ptr TreeIter -> -- iter : TInterface "Gtk" "TreeIter"
Ptr TreeIter -> -- parent : TInterface "Gtk" "TreeIter"
Ptr TreeIter -> -- sibling : TInterface "Gtk" "TreeIter"
IO ()
treeStoreInsertBefore ::
(MonadIO m, TreeStoreK a) =>
a -> -- _obj
Maybe (TreeIter) -> -- parent
Maybe (TreeIter) -> -- sibling
m (TreeIter)
treeStoreInsertBefore _obj parent sibling = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
iter <- callocBoxedBytes 32 :: IO (Ptr TreeIter)
maybeParent <- case parent of
Nothing -> return nullPtr
Just jParent -> do
let jParent' = unsafeManagedPtrGetPtr jParent
return jParent'
maybeSibling <- case sibling of
Nothing -> return nullPtr
Just jSibling -> do
let jSibling' = unsafeManagedPtrGetPtr jSibling
return jSibling'
gtk_tree_store_insert_before _obj' iter maybeParent maybeSibling
iter' <- (wrapBoxed TreeIter) iter
touchManagedPtr _obj
whenJust parent touchManagedPtr
whenJust sibling touchManagedPtr
return iter'
-- method TreeStore::insert_with_values
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iter", argType = TInterface "Gtk" "TreeIter", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "position", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "columns", argType = TCArray False (-1) 6 (TBasicType TInt32), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "values", argType = TCArray False (-1) 6 (TInterface "GObject" "Value"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_values", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : [Arg {argName = "n_values", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_values", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "position", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "columns", argType = TCArray False (-1) 6 (TBasicType TInt32), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "values", argType = TCArray False (-1) 6 (TInterface "GObject" "Value"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_tree_store_insert_with_valuesv" gtk_tree_store_insert_with_valuesv ::
Ptr TreeStore -> -- _obj : TInterface "Gtk" "TreeStore"
Ptr TreeIter -> -- iter : TInterface "Gtk" "TreeIter"
Ptr TreeIter -> -- parent : TInterface "Gtk" "TreeIter"
Int32 -> -- position : TBasicType TInt32
Ptr Int32 -> -- columns : TCArray False (-1) 6 (TBasicType TInt32)
Ptr GValue -> -- values : TCArray False (-1) 6 (TInterface "GObject" "Value")
Int32 -> -- n_values : TBasicType TInt32
IO ()
treeStoreInsertWithValues ::
(MonadIO m, TreeStoreK a) =>
a -> -- _obj
Maybe (TreeIter) -> -- parent
Int32 -> -- position
[Int32] -> -- columns
[GValue] -> -- values
m (TreeIter)
treeStoreInsertWithValues _obj parent position columns values = liftIO $ do
let n_values = fromIntegral $ length values
let columns_expected_length_ = fromIntegral $ length columns
when (columns_expected_length_ /= n_values) $
error "Gtk.treeStoreInsertWithValues : length of 'columns' does not agree with that of 'values'."
let _obj' = unsafeManagedPtrCastPtr _obj
iter <- callocBoxedBytes 32 :: IO (Ptr TreeIter)
maybeParent <- case parent of
Nothing -> return nullPtr
Just jParent -> do
let jParent' = unsafeManagedPtrGetPtr jParent
return jParent'
columns' <- packStorableArray columns
let values' = map unsafeManagedPtrGetPtr values
values'' <- packBlockArray 24 values'
gtk_tree_store_insert_with_valuesv _obj' iter maybeParent position columns' values'' n_values
iter' <- (wrapBoxed TreeIter) iter
touchManagedPtr _obj
whenJust parent touchManagedPtr
mapM_ touchManagedPtr values
freeMem columns'
freeMem values''
return iter'
-- method TreeStore::is_ancestor
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iter", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "descendant", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iter", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "descendant", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gtk_tree_store_is_ancestor" gtk_tree_store_is_ancestor ::
Ptr TreeStore -> -- _obj : TInterface "Gtk" "TreeStore"
Ptr TreeIter -> -- iter : TInterface "Gtk" "TreeIter"
Ptr TreeIter -> -- descendant : TInterface "Gtk" "TreeIter"
IO CInt
treeStoreIsAncestor ::
(MonadIO m, TreeStoreK a) =>
a -> -- _obj
TreeIter -> -- iter
TreeIter -> -- descendant
m Bool
treeStoreIsAncestor _obj iter descendant = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let iter' = unsafeManagedPtrGetPtr iter
let descendant' = unsafeManagedPtrGetPtr descendant
result <- gtk_tree_store_is_ancestor _obj' iter' descendant'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr iter
touchManagedPtr descendant
return result'
-- method TreeStore::iter_depth
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iter", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iter", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt32
-- throws : False
-- Skip return : False
foreign import ccall "gtk_tree_store_iter_depth" gtk_tree_store_iter_depth ::
Ptr TreeStore -> -- _obj : TInterface "Gtk" "TreeStore"
Ptr TreeIter -> -- iter : TInterface "Gtk" "TreeIter"
IO Int32
treeStoreIterDepth ::
(MonadIO m, TreeStoreK a) =>
a -> -- _obj
TreeIter -> -- iter
m Int32
treeStoreIterDepth _obj iter = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let iter' = unsafeManagedPtrGetPtr iter
result <- gtk_tree_store_iter_depth _obj' iter'
touchManagedPtr _obj
touchManagedPtr iter
return result
-- method TreeStore::iter_is_valid
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iter", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iter", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gtk_tree_store_iter_is_valid" gtk_tree_store_iter_is_valid ::
Ptr TreeStore -> -- _obj : TInterface "Gtk" "TreeStore"
Ptr TreeIter -> -- iter : TInterface "Gtk" "TreeIter"
IO CInt
treeStoreIterIsValid ::
(MonadIO m, TreeStoreK a) =>
a -> -- _obj
TreeIter -> -- iter
m Bool
treeStoreIterIsValid _obj iter = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let iter' = unsafeManagedPtrGetPtr iter
result <- gtk_tree_store_iter_is_valid _obj' iter'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr iter
return result'
-- method TreeStore::move_after
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iter", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "position", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iter", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "position", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_tree_store_move_after" gtk_tree_store_move_after ::
Ptr TreeStore -> -- _obj : TInterface "Gtk" "TreeStore"
Ptr TreeIter -> -- iter : TInterface "Gtk" "TreeIter"
Ptr TreeIter -> -- position : TInterface "Gtk" "TreeIter"
IO ()
treeStoreMoveAfter ::
(MonadIO m, TreeStoreK a) =>
a -> -- _obj
TreeIter -> -- iter
Maybe (TreeIter) -> -- position
m ()
treeStoreMoveAfter _obj iter position = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let iter' = unsafeManagedPtrGetPtr iter
maybePosition <- case position of
Nothing -> return nullPtr
Just jPosition -> do
let jPosition' = unsafeManagedPtrGetPtr jPosition
return jPosition'
gtk_tree_store_move_after _obj' iter' maybePosition
touchManagedPtr _obj
touchManagedPtr iter
whenJust position touchManagedPtr
return ()
-- method TreeStore::move_before
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iter", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "position", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iter", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "position", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_tree_store_move_before" gtk_tree_store_move_before ::
Ptr TreeStore -> -- _obj : TInterface "Gtk" "TreeStore"
Ptr TreeIter -> -- iter : TInterface "Gtk" "TreeIter"
Ptr TreeIter -> -- position : TInterface "Gtk" "TreeIter"
IO ()
treeStoreMoveBefore ::
(MonadIO m, TreeStoreK a) =>
a -> -- _obj
TreeIter -> -- iter
Maybe (TreeIter) -> -- position
m ()
treeStoreMoveBefore _obj iter position = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let iter' = unsafeManagedPtrGetPtr iter
maybePosition <- case position of
Nothing -> return nullPtr
Just jPosition -> do
let jPosition' = unsafeManagedPtrGetPtr jPosition
return jPosition'
gtk_tree_store_move_before _obj' iter' maybePosition
touchManagedPtr _obj
touchManagedPtr iter
whenJust position touchManagedPtr
return ()
-- method TreeStore::prepend
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iter", argType = TInterface "Gtk" "TreeIter", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_tree_store_prepend" gtk_tree_store_prepend ::
Ptr TreeStore -> -- _obj : TInterface "Gtk" "TreeStore"
Ptr TreeIter -> -- iter : TInterface "Gtk" "TreeIter"
Ptr TreeIter -> -- parent : TInterface "Gtk" "TreeIter"
IO ()
treeStorePrepend ::
(MonadIO m, TreeStoreK a) =>
a -> -- _obj
Maybe (TreeIter) -> -- parent
m (TreeIter)
treeStorePrepend _obj parent = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
iter <- callocBoxedBytes 32 :: IO (Ptr TreeIter)
maybeParent <- case parent of
Nothing -> return nullPtr
Just jParent -> do
let jParent' = unsafeManagedPtrGetPtr jParent
return jParent'
gtk_tree_store_prepend _obj' iter maybeParent
iter' <- (wrapBoxed TreeIter) iter
touchManagedPtr _obj
whenJust parent touchManagedPtr
return iter'
-- method TreeStore::remove
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iter", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iter", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gtk_tree_store_remove" gtk_tree_store_remove ::
Ptr TreeStore -> -- _obj : TInterface "Gtk" "TreeStore"
Ptr TreeIter -> -- iter : TInterface "Gtk" "TreeIter"
IO CInt
treeStoreRemove ::
(MonadIO m, TreeStoreK a) =>
a -> -- _obj
TreeIter -> -- iter
m Bool
treeStoreRemove _obj iter = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let iter' = unsafeManagedPtrGetPtr iter
result <- gtk_tree_store_remove _obj' iter'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr iter
return result'
-- method TreeStore::set_column_types
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_columns", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "types", argType = TCArray False (-1) 1 (TBasicType TGType), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : [Arg {argName = "n_columns", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "types", argType = TCArray False (-1) 1 (TBasicType TGType), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_tree_store_set_column_types" gtk_tree_store_set_column_types ::
Ptr TreeStore -> -- _obj : TInterface "Gtk" "TreeStore"
Int32 -> -- n_columns : TBasicType TInt32
Ptr CGType -> -- types : TCArray False (-1) 1 (TBasicType TGType)
IO ()
treeStoreSetColumnTypes ::
(MonadIO m, TreeStoreK a) =>
a -> -- _obj
[GType] -> -- types
m ()
treeStoreSetColumnTypes _obj types = liftIO $ do
let n_columns = fromIntegral $ length types
let _obj' = unsafeManagedPtrCastPtr _obj
types' <- (packMapStorableArray gtypeToCGType) types
gtk_tree_store_set_column_types _obj' n_columns types'
touchManagedPtr _obj
freeMem types'
return ()
-- method TreeStore::set_value
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iter", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iter", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_tree_store_set_value" gtk_tree_store_set_value ::
Ptr TreeStore -> -- _obj : TInterface "Gtk" "TreeStore"
Ptr TreeIter -> -- iter : TInterface "Gtk" "TreeIter"
Int32 -> -- column : TBasicType TInt32
Ptr GValue -> -- value : TInterface "GObject" "Value"
IO ()
treeStoreSetValue ::
(MonadIO m, TreeStoreK a) =>
a -> -- _obj
TreeIter -> -- iter
Int32 -> -- column
GValue -> -- value
m ()
treeStoreSetValue _obj iter column value = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let iter' = unsafeManagedPtrGetPtr iter
let value' = unsafeManagedPtrGetPtr value
gtk_tree_store_set_value _obj' iter' column value'
touchManagedPtr _obj
touchManagedPtr iter
touchManagedPtr value
return ()
-- method TreeStore::set
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iter", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "columns", argType = TCArray False (-1) 4 (TBasicType TInt32), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "values", argType = TCArray False (-1) 4 (TInterface "GObject" "Value"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_values", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : [Arg {argName = "n_values", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_values", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iter", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "columns", argType = TCArray False (-1) 4 (TBasicType TInt32), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "values", argType = TCArray False (-1) 4 (TInterface "GObject" "Value"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_tree_store_set_valuesv" gtk_tree_store_set_valuesv ::
Ptr TreeStore -> -- _obj : TInterface "Gtk" "TreeStore"
Ptr TreeIter -> -- iter : TInterface "Gtk" "TreeIter"
Ptr Int32 -> -- columns : TCArray False (-1) 4 (TBasicType TInt32)
Ptr GValue -> -- values : TCArray False (-1) 4 (TInterface "GObject" "Value")
Int32 -> -- n_values : TBasicType TInt32
IO ()
treeStoreSet ::
(MonadIO m, TreeStoreK a) =>
a -> -- _obj
TreeIter -> -- iter
[Int32] -> -- columns
[GValue] -> -- values
m ()
treeStoreSet _obj iter columns values = liftIO $ do
let n_values = fromIntegral $ length values
let columns_expected_length_ = fromIntegral $ length columns
when (columns_expected_length_ /= n_values) $
error "Gtk.treeStoreSet : length of 'columns' does not agree with that of 'values'."
let _obj' = unsafeManagedPtrCastPtr _obj
let iter' = unsafeManagedPtrGetPtr iter
columns' <- packStorableArray columns
let values' = map unsafeManagedPtrGetPtr values
values'' <- packBlockArray 24 values'
gtk_tree_store_set_valuesv _obj' iter' columns' values'' n_values
touchManagedPtr _obj
touchManagedPtr iter
mapM_ touchManagedPtr values
freeMem columns'
freeMem values''
return ()
-- method TreeStore::swap
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "a", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "b", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TreeStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "a", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "b", argType = TInterface "Gtk" "TreeIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_tree_store_swap" gtk_tree_store_swap ::
Ptr TreeStore -> -- _obj : TInterface "Gtk" "TreeStore"
Ptr TreeIter -> -- a : TInterface "Gtk" "TreeIter"
Ptr TreeIter -> -- b : TInterface "Gtk" "TreeIter"
IO ()
treeStoreSwap ::
(MonadIO m, TreeStoreK a) =>
a -> -- _obj
TreeIter -> -- a
TreeIter -> -- b
m ()
treeStoreSwap _obj a b = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let a' = unsafeManagedPtrGetPtr a
let b' = unsafeManagedPtrGetPtr b
gtk_tree_store_swap _obj' a' b'
touchManagedPtr _obj
touchManagedPtr a
touchManagedPtr b
return ()