{- |
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.Interfaces.CellAccessibleParent
    ( 

-- * Exported types
    CellAccessibleParent(..)                ,
    noCellAccessibleParent                  ,
    CellAccessibleParentK                   ,


 -- * Methods
-- ** cellAccessibleParentActivate
    cellAccessibleParentActivate            ,


-- ** cellAccessibleParentEdit
    cellAccessibleParentEdit                ,


-- ** cellAccessibleParentExpandCollapse
    cellAccessibleParentExpandCollapse      ,


-- ** cellAccessibleParentGetCellArea
    cellAccessibleParentGetCellArea         ,


-- ** cellAccessibleParentGetCellExtents
    cellAccessibleParentGetCellExtents      ,


-- ** cellAccessibleParentGetChildIndex
    cellAccessibleParentGetChildIndex       ,


-- ** cellAccessibleParentGetRendererState
    cellAccessibleParentGetRendererState    ,


-- ** cellAccessibleParentGrabFocus
    cellAccessibleParentGrabFocus           ,


-- ** cellAccessibleParentUpdateRelationset
    cellAccessibleParentUpdateRelationset   ,




    ) 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.Atk as Atk
import qualified GI.Cairo as Cairo

-- interface CellAccessibleParent 

newtype CellAccessibleParent = CellAccessibleParent (ForeignPtr CellAccessibleParent)
noCellAccessibleParent :: Maybe CellAccessibleParent
noCellAccessibleParent = Nothing

type instance AttributeList CellAccessibleParent = CellAccessibleParentAttributeList
type CellAccessibleParentAttributeList = ('[ ] :: [(Symbol, *)])

type instance SignalList CellAccessibleParent = CellAccessibleParentSignalList
type CellAccessibleParentSignalList = ('[ ] :: [(Symbol, *)])

class ForeignPtrNewtype a => CellAccessibleParentK a
instance (ForeignPtrNewtype o, IsDescendantOf CellAccessibleParent o) => CellAccessibleParentK o
type instance ParentTypes CellAccessibleParent = CellAccessibleParentParentTypes
type CellAccessibleParentParentTypes = '[]

-- method CellAccessibleParent::activate
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "CellAccessibleParent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cell", argType = TInterface "Gtk" "CellAccessible", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "CellAccessibleParent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cell", argType = TInterface "Gtk" "CellAccessible", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_cell_accessible_parent_activate" gtk_cell_accessible_parent_activate :: 
    Ptr CellAccessibleParent ->             -- _obj : TInterface "Gtk" "CellAccessibleParent"
    Ptr CellAccessible ->                   -- cell : TInterface "Gtk" "CellAccessible"
    IO ()


cellAccessibleParentActivate ::
    (MonadIO m, CellAccessibleParentK a, CellAccessibleK b) =>
    a ->                                    -- _obj
    b ->                                    -- cell
    m ()
cellAccessibleParentActivate _obj cell = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let cell' = unsafeManagedPtrCastPtr cell
    gtk_cell_accessible_parent_activate _obj' cell'
    touchManagedPtr _obj
    touchManagedPtr cell
    return ()

-- method CellAccessibleParent::edit
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "CellAccessibleParent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cell", argType = TInterface "Gtk" "CellAccessible", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "CellAccessibleParent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cell", argType = TInterface "Gtk" "CellAccessible", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_cell_accessible_parent_edit" gtk_cell_accessible_parent_edit :: 
    Ptr CellAccessibleParent ->             -- _obj : TInterface "Gtk" "CellAccessibleParent"
    Ptr CellAccessible ->                   -- cell : TInterface "Gtk" "CellAccessible"
    IO ()


cellAccessibleParentEdit ::
    (MonadIO m, CellAccessibleParentK a, CellAccessibleK b) =>
    a ->                                    -- _obj
    b ->                                    -- cell
    m ()
cellAccessibleParentEdit _obj cell = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let cell' = unsafeManagedPtrCastPtr cell
    gtk_cell_accessible_parent_edit _obj' cell'
    touchManagedPtr _obj
    touchManagedPtr cell
    return ()

-- method CellAccessibleParent::expand_collapse
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "CellAccessibleParent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cell", argType = TInterface "Gtk" "CellAccessible", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "CellAccessibleParent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cell", argType = TInterface "Gtk" "CellAccessible", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_cell_accessible_parent_expand_collapse" gtk_cell_accessible_parent_expand_collapse :: 
    Ptr CellAccessibleParent ->             -- _obj : TInterface "Gtk" "CellAccessibleParent"
    Ptr CellAccessible ->                   -- cell : TInterface "Gtk" "CellAccessible"
    IO ()


cellAccessibleParentExpandCollapse ::
    (MonadIO m, CellAccessibleParentK a, CellAccessibleK b) =>
    a ->                                    -- _obj
    b ->                                    -- cell
    m ()
cellAccessibleParentExpandCollapse _obj cell = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let cell' = unsafeManagedPtrCastPtr cell
    gtk_cell_accessible_parent_expand_collapse _obj' cell'
    touchManagedPtr _obj
    touchManagedPtr cell
    return ()

-- method CellAccessibleParent::get_cell_area
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "CellAccessibleParent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cell", argType = TInterface "Gtk" "CellAccessible", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cell_rect", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "CellAccessibleParent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cell", argType = TInterface "Gtk" "CellAccessible", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cell_rect", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_cell_accessible_parent_get_cell_area" gtk_cell_accessible_parent_get_cell_area :: 
    Ptr CellAccessibleParent ->             -- _obj : TInterface "Gtk" "CellAccessibleParent"
    Ptr CellAccessible ->                   -- cell : TInterface "Gtk" "CellAccessible"
    Ptr Cairo.RectangleInt ->               -- cell_rect : TInterface "cairo" "RectangleInt"
    IO ()


cellAccessibleParentGetCellArea ::
    (MonadIO m, CellAccessibleParentK a, CellAccessibleK b) =>
    a ->                                    -- _obj
    b ->                                    -- cell
    Cairo.RectangleInt ->                   -- cell_rect
    m ()
cellAccessibleParentGetCellArea _obj cell cell_rect = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let cell' = unsafeManagedPtrCastPtr cell
    let cell_rect' = unsafeManagedPtrGetPtr cell_rect
    gtk_cell_accessible_parent_get_cell_area _obj' cell' cell_rect'
    touchManagedPtr _obj
    touchManagedPtr cell
    touchManagedPtr cell_rect
    return ()

-- method CellAccessibleParent::get_cell_extents
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "CellAccessibleParent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cell", argType = TInterface "Gtk" "CellAccessible", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "CellAccessibleParent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cell", argType = TInterface "Gtk" "CellAccessible", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_cell_accessible_parent_get_cell_extents" gtk_cell_accessible_parent_get_cell_extents :: 
    Ptr CellAccessibleParent ->             -- _obj : TInterface "Gtk" "CellAccessibleParent"
    Ptr CellAccessible ->                   -- cell : TInterface "Gtk" "CellAccessible"
    Int32 ->                                -- x : TBasicType TInt32
    Int32 ->                                -- y : TBasicType TInt32
    Int32 ->                                -- width : TBasicType TInt32
    Int32 ->                                -- height : TBasicType TInt32
    CUInt ->                                -- coord_type : TInterface "Atk" "CoordType"
    IO ()


cellAccessibleParentGetCellExtents ::
    (MonadIO m, CellAccessibleParentK a, CellAccessibleK b) =>
    a ->                                    -- _obj
    b ->                                    -- cell
    Int32 ->                                -- x
    Int32 ->                                -- y
    Int32 ->                                -- width
    Int32 ->                                -- height
    Atk.CoordType ->                        -- coord_type
    m ()
cellAccessibleParentGetCellExtents _obj cell x y width height coord_type = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let cell' = unsafeManagedPtrCastPtr cell
    let coord_type' = (fromIntegral . fromEnum) coord_type
    gtk_cell_accessible_parent_get_cell_extents _obj' cell' x y width height coord_type'
    touchManagedPtr _obj
    touchManagedPtr cell
    return ()

-- method CellAccessibleParent::get_child_index
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "CellAccessibleParent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cell", argType = TInterface "Gtk" "CellAccessible", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "CellAccessibleParent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cell", argType = TInterface "Gtk" "CellAccessible", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt32
-- throws : False
-- Skip return : False

foreign import ccall "gtk_cell_accessible_parent_get_child_index" gtk_cell_accessible_parent_get_child_index :: 
    Ptr CellAccessibleParent ->             -- _obj : TInterface "Gtk" "CellAccessibleParent"
    Ptr CellAccessible ->                   -- cell : TInterface "Gtk" "CellAccessible"
    IO Int32


cellAccessibleParentGetChildIndex ::
    (MonadIO m, CellAccessibleParentK a, CellAccessibleK b) =>
    a ->                                    -- _obj
    b ->                                    -- cell
    m Int32
cellAccessibleParentGetChildIndex _obj cell = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let cell' = unsafeManagedPtrCastPtr cell
    result <- gtk_cell_accessible_parent_get_child_index _obj' cell'
    touchManagedPtr _obj
    touchManagedPtr cell
    return result

-- method CellAccessibleParent::get_renderer_state
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "CellAccessibleParent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cell", argType = TInterface "Gtk" "CellAccessible", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "CellAccessibleParent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cell", argType = TInterface "Gtk" "CellAccessible", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gtk" "CellRendererState"
-- throws : False
-- Skip return : False

foreign import ccall "gtk_cell_accessible_parent_get_renderer_state" gtk_cell_accessible_parent_get_renderer_state :: 
    Ptr CellAccessibleParent ->             -- _obj : TInterface "Gtk" "CellAccessibleParent"
    Ptr CellAccessible ->                   -- cell : TInterface "Gtk" "CellAccessible"
    IO CUInt


cellAccessibleParentGetRendererState ::
    (MonadIO m, CellAccessibleParentK a, CellAccessibleK b) =>
    a ->                                    -- _obj
    b ->                                    -- cell
    m [CellRendererState]
cellAccessibleParentGetRendererState _obj cell = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let cell' = unsafeManagedPtrCastPtr cell
    result <- gtk_cell_accessible_parent_get_renderer_state _obj' cell'
    let result' = wordToGFlags result
    touchManagedPtr _obj
    touchManagedPtr cell
    return result'

-- method CellAccessibleParent::grab_focus
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "CellAccessibleParent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cell", argType = TInterface "Gtk" "CellAccessible", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "CellAccessibleParent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cell", argType = TInterface "Gtk" "CellAccessible", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "gtk_cell_accessible_parent_grab_focus" gtk_cell_accessible_parent_grab_focus :: 
    Ptr CellAccessibleParent ->             -- _obj : TInterface "Gtk" "CellAccessibleParent"
    Ptr CellAccessible ->                   -- cell : TInterface "Gtk" "CellAccessible"
    IO CInt


cellAccessibleParentGrabFocus ::
    (MonadIO m, CellAccessibleParentK a, CellAccessibleK b) =>
    a ->                                    -- _obj
    b ->                                    -- cell
    m Bool
cellAccessibleParentGrabFocus _obj cell = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let cell' = unsafeManagedPtrCastPtr cell
    result <- gtk_cell_accessible_parent_grab_focus _obj' cell'
    let result' = (/= 0) result
    touchManagedPtr _obj
    touchManagedPtr cell
    return result'

-- method CellAccessibleParent::update_relationset
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "CellAccessibleParent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cell", argType = TInterface "Gtk" "CellAccessible", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "relationset", argType = TInterface "Atk" "RelationSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "CellAccessibleParent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cell", argType = TInterface "Gtk" "CellAccessible", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "relationset", argType = TInterface "Atk" "RelationSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_cell_accessible_parent_update_relationset" gtk_cell_accessible_parent_update_relationset :: 
    Ptr CellAccessibleParent ->             -- _obj : TInterface "Gtk" "CellAccessibleParent"
    Ptr CellAccessible ->                   -- cell : TInterface "Gtk" "CellAccessible"
    Ptr Atk.RelationSet ->                  -- relationset : TInterface "Atk" "RelationSet"
    IO ()


cellAccessibleParentUpdateRelationset ::
    (MonadIO m, CellAccessibleParentK a, CellAccessibleK b, Atk.RelationSetK c) =>
    a ->                                    -- _obj
    b ->                                    -- cell
    c ->                                    -- relationset
    m ()
cellAccessibleParentUpdateRelationset _obj cell relationset = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let cell' = unsafeManagedPtrCastPtr cell
    let relationset' = unsafeManagedPtrCastPtr relationset
    gtk_cell_accessible_parent_update_relationset _obj' cell' relationset'
    touchManagedPtr _obj
    touchManagedPtr cell
    touchManagedPtr relationset
    return ()