    {-# LANGUAGE TypeApplications #-}

    -- | Copyright  : Will Thompson and Iñaki García Etxebarria
    -- License    : LGPL-2.1
    -- Maintainer : Iñaki García Etxebarria
    --
    -- The interface vtable for t'GI.Gtk.Interfaces.Actionable.Actionable'.

    #if !defined(__HADDOCK_VERSION__)
    #define ENABLE_OVERLOADING
    #endif

    module GI.Gtk.Structs.ActionableInterface
        (

    -- * Exported types
        ActionableInterface(..)                 ,
        newZeroActionableInterface              ,

     -- * Methods

    #if defined(ENABLE_OVERLOADING)
        ResolveActionableInterfaceMethod        ,
    #endif

     -- * Properties

    -- ** getActionName #attr:getActionName#
    -- | virtual function for 'GI.Gtk.Interfaces.Actionable.actionableGetActionName'

    #if defined(ENABLE_OVERLOADING)
        actionableInterface_getActionName       ,
    #endif
        clearActionableInterfaceGetActionName   ,
        getActionableInterfaceGetActionName     ,
        setActionableInterfaceGetActionName     ,

    -- ** getActionTargetValue #attr:getActionTargetValue#
    -- | virtual function for 'GI.Gtk.Interfaces.Actionable.actionableGetActionTargetValue'

    #if defined(ENABLE_OVERLOADING)
        actionableInterface_getActionTargetValue,
    #endif
        clearActionableInterfaceGetActionTargetValue,
        getActionableInterfaceGetActionTargetValue,
        setActionableInterfaceGetActionTargetValue,

    -- ** setActionName #attr:setActionName#
    -- | virtual function for 'GI.Gtk.Interfaces.Actionable.actionableSetActionName'

    #if defined(ENABLE_OVERLOADING)
        actionableInterface_setActionName       ,
    #endif
        clearActionableInterfaceSetActionName   ,
        getActionableInterfaceSetActionName     ,
        setActionableInterfaceSetActionName     ,

    -- ** setActionTargetValue #attr:setActionTargetValue#
    -- | virtual function for 'GI.Gtk.Interfaces.Actionable.actionableSetActionTargetValue'

    #if defined(ENABLE_OVERLOADING)
        actionableInterface_setActionTargetValue,
    #endif
        clearActionableInterfaceSetActionTargetValue,
        getActionableInterfaceSetActionTargetValue,
        setActionableInterfaceSetActionTargetValue,

        ) 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

    -- Workaround for https://gitlab.haskell.org/ghc/ghc/-/issues/23392
    #if MIN_VERSION_base(4,18,0)
    import qualified GI.Gtk.Callbacks as Gtk.Callbacks

    #else
    import qualified GI.Gtk.Callbacks as Gtk.Callbacks

    #endif

    -- | Memory-managed wrapper type.
    newtype ActionableInterface = ActionableInterface (SP.ManagedPtr ActionableInterface)
        deriving (ActionableInterface -> ActionableInterface -> Bool
    (ActionableInterface -> ActionableInterface -> Bool)
    -> (ActionableInterface -> ActionableInterface -> Bool)
    -> Eq ActionableInterface
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    $c== :: ActionableInterface -> ActionableInterface -> Bool
    == :: ActionableInterface -> ActionableInterface -> Bool
    $c/= :: ActionableInterface -> ActionableInterface -> Bool
    /= :: ActionableInterface -> ActionableInterface -> Bool
    Eq)

    instance SP.ManagedPtrNewtype ActionableInterface where
        toManagedPtr :: ActionableInterface -> ManagedPtr ActionableInterface
    toManagedPtr (ActionableInterface ManagedPtr ActionableInterface
    p) = ManagedPtr ActionableInterface
    p

    instance BoxedPtr ActionableInterface where
        boxedPtrCopy :: ActionableInterface -> IO ActionableInterface
    boxedPtrCopy = \ActionableInterface
    p -> ActionableInterface
    -> (Ptr ActionableInterface -> IO ActionableInterface)
    -> IO ActionableInterface
    forall a c.
    (HasCallStack, ManagedPtrNewtype a) =>
    a -> (Ptr a -> IO c) -> IO c
    B.ManagedPtr.withManagedPtr ActionableInterface
    p (Int -> Ptr ActionableInterface -> IO (Ptr ActionableInterface)
    forall a. (HasCallStack, CallocPtr a) => Int -> Ptr a -> IO (Ptr a)
    copyBytes Int
    48 (Ptr ActionableInterface -> IO (Ptr ActionableInterface))
    -> (Ptr ActionableInterface -> IO ActionableInterface)
    -> Ptr ActionableInterface
    -> IO ActionableInterface
    forall (m :: * -> *) a b c.
    Monad m =>
    (a -> m b) -> (b -> m c) -> a -> m c
    >=> (ManagedPtr ActionableInterface -> ActionableInterface)
    -> Ptr ActionableInterface -> IO ActionableInterface
    forall a.
    (HasCallStack, BoxedPtr a) =>
    (ManagedPtr a -> a) -> Ptr a -> IO a
    B.ManagedPtr.wrapPtr ManagedPtr ActionableInterface -> ActionableInterface
    ActionableInterface)
        boxedPtrFree :: ActionableInterface -> IO ()
    boxedPtrFree = \ActionableInterface
    x -> ActionableInterface -> (Ptr ActionableInterface -> IO ()) -> IO ()
    forall a c.
    (HasCallStack, ManagedPtrNewtype a) =>
    a -> (Ptr a -> IO c) -> IO c
    SP.withManagedPtr ActionableInterface
    x Ptr ActionableInterface -> IO ()
    forall a. Ptr a -> IO ()
    SP.freeMem
    instance CallocPtr ActionableInterface where
        boxedPtrCalloc :: IO (Ptr ActionableInterface)
    boxedPtrCalloc = Int -> IO (Ptr ActionableInterface)
    forall a. Int -> IO (Ptr a)
    callocBytes Int
    48

    -- | Construct a t'ActionableInterface' struct initialized to zero.
    newZeroActionableInterface :: MonadIO m => m ActionableInterface
    newZeroActionableInterface :: forall (m :: * -> *). MonadIO m => m ActionableInterface
    newZeroActionableInterface = IO ActionableInterface -> m ActionableInterface
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO ActionableInterface -> m ActionableInterface)
    -> IO ActionableInterface -> m ActionableInterface
    forall a b. (a -> b) -> a -> b
    $ IO (Ptr ActionableInterface)
    forall a. CallocPtr a => IO (Ptr a)
    boxedPtrCalloc IO (Ptr ActionableInterface)
    -> (Ptr ActionableInterface -> IO ActionableInterface)
    -> IO ActionableInterface
    forall a b. IO a -> (a -> IO b) -> IO b
    forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
    >>= (ManagedPtr ActionableInterface -> ActionableInterface)
    -> Ptr ActionableInterface -> IO ActionableInterface
    forall a.
    (HasCallStack, BoxedPtr a) =>
    (ManagedPtr a -> a) -> Ptr a -> IO a
    wrapPtr ManagedPtr ActionableInterface -> ActionableInterface
    ActionableInterface

    instance tag ~ 'AttrSet => Constructible ActionableInterface tag where
        new :: forall (m :: * -> *).
    MonadIO m =>
    (ManagedPtr ActionableInterface -> ActionableInterface)
    -> [AttrOp ActionableInterface tag] -> m ActionableInterface
    new ManagedPtr ActionableInterface -> ActionableInterface
    _ [AttrOp ActionableInterface tag]
    attrs = do
            o <- m ActionableInterface
    forall (m :: * -> *). MonadIO m => m ActionableInterface
    newZeroActionableInterface
            GI.Attributes.set o attrs
            return o

    -- | Get the value of the “@get_action_name@” field.
    -- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
    --
    -- @
    -- 'Data.GI.Base.Attributes.get' actionableInterface #getActionName
    -- @
    getActionableInterfaceGetActionName :: MonadIO m => ActionableInterface -> m (Maybe Gtk.Callbacks.ActionableInterfaceGetActionNameFieldCallback)
    getActionableInterfaceGetActionName :: forall (m :: * -> *).
    MonadIO m =>
    ActionableInterface
    -> m (Maybe ActionableInterfaceGetActionNameFieldCallback)
    getActionableInterfaceGetActionName ActionableInterface
    s = IO (Maybe ActionableInterfaceGetActionNameFieldCallback)
    -> m (Maybe ActionableInterfaceGetActionNameFieldCallback)
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO (Maybe ActionableInterfaceGetActionNameFieldCallback)
     -> m (Maybe ActionableInterfaceGetActionNameFieldCallback))
    -> IO (Maybe ActionableInterfaceGetActionNameFieldCallback)
    -> m (Maybe ActionableInterfaceGetActionNameFieldCallback)
    forall a b. (a -> b) -> a -> b
    $ ActionableInterface
    -> (Ptr ActionableInterface
        -> IO (Maybe ActionableInterfaceGetActionNameFieldCallback))
    -> IO (Maybe ActionableInterfaceGetActionNameFieldCallback)
    forall a c.
    (HasCallStack, ManagedPtrNewtype a) =>
    a -> (Ptr a -> IO c) -> IO c
    withManagedPtr ActionableInterface
    s ((Ptr ActionableInterface
      -> IO (Maybe ActionableInterfaceGetActionNameFieldCallback))
     -> IO (Maybe ActionableInterfaceGetActionNameFieldCallback))
    -> (Ptr ActionableInterface
        -> IO (Maybe ActionableInterfaceGetActionNameFieldCallback))
    -> IO (Maybe ActionableInterfaceGetActionNameFieldCallback)
    forall a b. (a -> b) -> a -> b
    $ \Ptr ActionableInterface
    ptr -> do
        val <- Ptr (FunPtr C_ActionableInterfaceGetActionNameFieldCallback)
    -> IO (FunPtr C_ActionableInterfaceGetActionNameFieldCallback)
    forall a. Storable a => Ptr a -> IO a
    peek (Ptr ActionableInterface
    ptr Ptr ActionableInterface
    -> Int
    -> Ptr (FunPtr C_ActionableInterfaceGetActionNameFieldCallback)
    forall a b. Ptr a -> Int -> Ptr b
    `plusPtr` Int
    16) :: IO (FunPtr Gtk.Callbacks.C_ActionableInterfaceGetActionNameFieldCallback)
        result <- SP.convertFunPtrIfNonNull val $ \FunPtr C_ActionableInterfaceGetActionNameFieldCallback
    val' -> do
            let val'' :: ActionableInterfaceGetActionNameFieldCallback
    val'' = FunPtr C_ActionableInterfaceGetActionNameFieldCallback
    -> ActionableInterfaceGetActionNameFieldCallback
    forall (m :: * -> *) a.
    (HasCallStack, MonadIO m, IsActionable a) =>
    FunPtr C_ActionableInterfaceGetActionNameFieldCallback
    -> a -> m (Maybe Text)
    Gtk.Callbacks.dynamic_ActionableInterfaceGetActionNameFieldCallback FunPtr C_ActionableInterfaceGetActionNameFieldCallback
    val'
            ActionableInterfaceGetActionNameFieldCallback
    -> IO ActionableInterfaceGetActionNameFieldCallback
    forall a. a -> IO a
    forall (m :: * -> *) a. Monad m => a -> m a
    return ActionableInterfaceGetActionNameFieldCallback
    val''
        return result

    -- | Set the value of the “@get_action_name@” field.
    -- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
    --
    -- @
    -- 'Data.GI.Base.Attributes.set' actionableInterface [ #getActionName 'Data.GI.Base.Attributes.:=' value ]
    -- @
    setActionableInterfaceGetActionName :: MonadIO m => ActionableInterface -> FunPtr Gtk.Callbacks.C_ActionableInterfaceGetActionNameFieldCallback -> m ()
    setActionableInterfaceGetActionName :: forall (m :: * -> *).
    MonadIO m =>
    ActionableInterface
    -> FunPtr C_ActionableInterfaceGetActionNameFieldCallback -> m ()
    setActionableInterfaceGetActionName ActionableInterface
    s FunPtr C_ActionableInterfaceGetActionNameFieldCallback
    val = 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
    $ ActionableInterface -> (Ptr ActionableInterface -> IO ()) -> IO ()
    forall a c.
    (HasCallStack, ManagedPtrNewtype a) =>
    a -> (Ptr a -> IO c) -> IO c
    withManagedPtr ActionableInterface
    s ((Ptr ActionableInterface -> IO ()) -> IO ())
    -> (Ptr ActionableInterface -> IO ()) -> IO ()
    forall a b. (a -> b) -> a -> b
    $ \Ptr ActionableInterface
    ptr -> do
        Ptr (FunPtr C_ActionableInterfaceGetActionNameFieldCallback)
    -> FunPtr C_ActionableInterfaceGetActionNameFieldCallback -> IO ()
    forall a. Storable a => Ptr a -> a -> IO ()
    poke (Ptr ActionableInterface
    ptr Ptr ActionableInterface
    -> Int
    -> Ptr (FunPtr C_ActionableInterfaceGetActionNameFieldCallback)
    forall a b. Ptr a -> Int -> Ptr b
    `plusPtr` Int
    16) (FunPtr C_ActionableInterfaceGetActionNameFieldCallback
    val :: FunPtr Gtk.Callbacks.C_ActionableInterfaceGetActionNameFieldCallback)

    -- | Set the value of the “@get_action_name@” field to `Nothing`.
    -- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
    --
    -- @
    -- 'Data.GI.Base.Attributes.clear' #getActionName
    -- @
    clearActionableInterfaceGetActionName :: MonadIO m => ActionableInterface -> m ()
    clearActionableInterfaceGetActionName :: forall (m :: * -> *). MonadIO m => ActionableInterface -> m ()
    clearActionableInterfaceGetActionName ActionableInterface
    s = 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
    $ ActionableInterface -> (Ptr ActionableInterface -> IO ()) -> IO ()
    forall a c.
    (HasCallStack, ManagedPtrNewtype a) =>
    a -> (Ptr a -> IO c) -> IO c
    withManagedPtr ActionableInterface
    s ((Ptr ActionableInterface -> IO ()) -> IO ())
    -> (Ptr ActionableInterface -> IO ()) -> IO ()
    forall a b. (a -> b) -> a -> b
    $ \Ptr ActionableInterface
    ptr -> do
        Ptr (FunPtr C_ActionableInterfaceGetActionNameFieldCallback)
    -> FunPtr C_ActionableInterfaceGetActionNameFieldCallback -> IO ()
    forall a. Storable a => Ptr a -> a -> IO ()
    poke (Ptr ActionableInterface
    ptr Ptr ActionableInterface
    -> Int
    -> Ptr (FunPtr C_ActionableInterfaceGetActionNameFieldCallback)
    forall a b. Ptr a -> Int -> Ptr b
    `plusPtr` Int
    16) (FunPtr C_ActionableInterfaceGetActionNameFieldCallback
    forall a. FunPtr a
    FP.nullFunPtr :: FunPtr Gtk.Callbacks.C_ActionableInterfaceGetActionNameFieldCallback)

    #if defined(ENABLE_OVERLOADING)
    data ActionableInterfaceGetActionNameFieldInfo
    instance AttrInfo ActionableInterfaceGetActionNameFieldInfo where
        type AttrBaseTypeConstraint ActionableInterfaceGetActionNameFieldInfo = (~) ActionableInterface
        type AttrAllowedOps ActionableInterfaceGetActionNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
        type AttrSetTypeConstraint ActionableInterfaceGetActionNameFieldInfo = (~) (FunPtr Gtk.Callbacks.C_ActionableInterfaceGetActionNameFieldCallback)
        type AttrTransferTypeConstraint ActionableInterfaceGetActionNameFieldInfo = (~)Gtk.Callbacks.ActionableInterfaceGetActionNameFieldCallback
        type AttrTransferType ActionableInterfaceGetActionNameFieldInfo = (FunPtr Gtk.Callbacks.C_ActionableInterfaceGetActionNameFieldCallback)
        type AttrGetType ActionableInterfaceGetActionNameFieldInfo = Maybe Gtk.Callbacks.ActionableInterfaceGetActionNameFieldCallback
        type AttrLabel ActionableInterfaceGetActionNameFieldInfo = "get_action_name"
        type AttrOrigin ActionableInterfaceGetActionNameFieldInfo = ActionableInterface
        attrGet = getActionableInterfaceGetActionName
        attrSet = setActionableInterfaceGetActionName
        attrConstruct = undefined
        attrClear = clearActionableInterfaceGetActionName
        attrTransfer _ v = do
            Gtk.Callbacks.mk_ActionableInterfaceGetActionNameFieldCallback (Gtk.Callbacks.wrap_ActionableInterfaceGetActionNameFieldCallback Nothing v)
        dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
            O.resolvedSymbolName = "GI.Gtk.Structs.ActionableInterface.getActionName"
            , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.43/docs/GI-Gtk-Structs-ActionableInterface.html#g:attr:getActionName"
            })

    actionableInterface_getActionName :: AttrLabelProxy "getActionName"
    actionableInterface_getActionName = AttrLabelProxy

    #endif

    -- | Get the value of the “@set_action_name@” field.
    -- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
    --
    -- @
    -- 'Data.GI.Base.Attributes.get' actionableInterface #setActionName
    -- @
    getActionableInterfaceSetActionName :: MonadIO m => ActionableInterface -> m (Maybe Gtk.Callbacks.ActionableInterfaceSetActionNameFieldCallback)
    getActionableInterfaceSetActionName :: forall (m :: * -> *).
    MonadIO m =>
    ActionableInterface
    -> m (Maybe ActionableInterfaceSetActionNameFieldCallback)
    getActionableInterfaceSetActionName ActionableInterface
    s = IO (Maybe ActionableInterfaceSetActionNameFieldCallback)
    -> m (Maybe ActionableInterfaceSetActionNameFieldCallback)
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO (Maybe ActionableInterfaceSetActionNameFieldCallback)
     -> m (Maybe ActionableInterfaceSetActionNameFieldCallback))
    -> IO (Maybe ActionableInterfaceSetActionNameFieldCallback)
    -> m (Maybe ActionableInterfaceSetActionNameFieldCallback)
    forall a b. (a -> b) -> a -> b
    $ ActionableInterface
    -> (Ptr ActionableInterface
        -> IO (Maybe ActionableInterfaceSetActionNameFieldCallback))
    -> IO (Maybe ActionableInterfaceSetActionNameFieldCallback)
    forall a c.
    (HasCallStack, ManagedPtrNewtype a) =>
    a -> (Ptr a -> IO c) -> IO c
    withManagedPtr ActionableInterface
    s ((Ptr ActionableInterface
      -> IO (Maybe ActionableInterfaceSetActionNameFieldCallback))
     -> IO (Maybe ActionableInterfaceSetActionNameFieldCallback))
    -> (Ptr ActionableInterface
        -> IO (Maybe ActionableInterfaceSetActionNameFieldCallback))
    -> IO (Maybe ActionableInterfaceSetActionNameFieldCallback)
    forall a b. (a -> b) -> a -> b
    $ \Ptr ActionableInterface
    ptr -> do
        val <- Ptr (FunPtr C_ActionableInterfaceSetActionNameFieldCallback)
    -> IO (FunPtr C_ActionableInterfaceSetActionNameFieldCallback)
    forall a. Storable a => Ptr a -> IO a
    peek (Ptr ActionableInterface
    ptr Ptr ActionableInterface
    -> Int
    -> Ptr (FunPtr C_ActionableInterfaceSetActionNameFieldCallback)
    forall a b. Ptr a -> Int -> Ptr b
    `plusPtr` Int
    24) :: IO (FunPtr Gtk.Callbacks.C_ActionableInterfaceSetActionNameFieldCallback)
        result <- SP.convertFunPtrIfNonNull val $ \FunPtr C_ActionableInterfaceSetActionNameFieldCallback
    val' -> do
            let val'' :: ActionableInterfaceSetActionNameFieldCallback
    val'' = FunPtr C_ActionableInterfaceSetActionNameFieldCallback
    -> ActionableInterfaceSetActionNameFieldCallback
    forall (m :: * -> *) a.
    (HasCallStack, MonadIO m, IsActionable a) =>
    FunPtr C_ActionableInterfaceSetActionNameFieldCallback
    -> a -> Maybe Text -> m ()
    Gtk.Callbacks.dynamic_ActionableInterfaceSetActionNameFieldCallback FunPtr C_ActionableInterfaceSetActionNameFieldCallback
    val'
            ActionableInterfaceSetActionNameFieldCallback
    -> IO ActionableInterfaceSetActionNameFieldCallback
    forall a. a -> IO a
    forall (m :: * -> *) a. Monad m => a -> m a
    return ActionableInterfaceSetActionNameFieldCallback
    val''
        return result

    -- | Set the value of the “@set_action_name@” field.
    -- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
    --
    -- @
    -- 'Data.GI.Base.Attributes.set' actionableInterface [ #setActionName 'Data.GI.Base.Attributes.:=' value ]
    -- @
    setActionableInterfaceSetActionName :: MonadIO m => ActionableInterface -> FunPtr Gtk.Callbacks.C_ActionableInterfaceSetActionNameFieldCallback -> m ()
    setActionableInterfaceSetActionName :: forall (m :: * -> *).
    MonadIO m =>
    ActionableInterface
    -> FunPtr C_ActionableInterfaceSetActionNameFieldCallback -> m ()
    setActionableInterfaceSetActionName ActionableInterface
    s FunPtr C_ActionableInterfaceSetActionNameFieldCallback
    val = 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
    $ ActionableInterface -> (Ptr ActionableInterface -> IO ()) -> IO ()
    forall a c.
    (HasCallStack, ManagedPtrNewtype a) =>
    a -> (Ptr a -> IO c) -> IO c
    withManagedPtr ActionableInterface
    s ((Ptr ActionableInterface -> IO ()) -> IO ())
    -> (Ptr ActionableInterface -> IO ()) -> IO ()
    forall a b. (a -> b) -> a -> b
    $ \Ptr ActionableInterface
    ptr -> do
        Ptr (FunPtr C_ActionableInterfaceSetActionNameFieldCallback)
    -> FunPtr C_ActionableInterfaceSetActionNameFieldCallback -> IO ()
    forall a. Storable a => Ptr a -> a -> IO ()
    poke (Ptr ActionableInterface
    ptr Ptr ActionableInterface
    -> Int
    -> Ptr (FunPtr C_ActionableInterfaceSetActionNameFieldCallback)
    forall a b. Ptr a -> Int -> Ptr b
    `plusPtr` Int
    24) (FunPtr C_ActionableInterfaceSetActionNameFieldCallback
    val :: FunPtr Gtk.Callbacks.C_ActionableInterfaceSetActionNameFieldCallback)

    -- | Set the value of the “@set_action_name@” field to `Nothing`.
    -- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
    --
    -- @
    -- 'Data.GI.Base.Attributes.clear' #setActionName
    -- @
    clearActionableInterfaceSetActionName :: MonadIO m => ActionableInterface -> m ()
    clearActionableInterfaceSetActionName :: forall (m :: * -> *). MonadIO m => ActionableInterface -> m ()
    clearActionableInterfaceSetActionName ActionableInterface
    s = 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
    $ ActionableInterface -> (Ptr ActionableInterface -> IO ()) -> IO ()
    forall a c.
    (HasCallStack, ManagedPtrNewtype a) =>
    a -> (Ptr a -> IO c) -> IO c
    withManagedPtr ActionableInterface
    s ((Ptr ActionableInterface -> IO ()) -> IO ())
    -> (Ptr ActionableInterface -> IO ()) -> IO ()
    forall a b. (a -> b) -> a -> b
    $ \Ptr ActionableInterface
    ptr -> do
        Ptr (FunPtr C_ActionableInterfaceSetActionNameFieldCallback)
    -> FunPtr C_ActionableInterfaceSetActionNameFieldCallback -> IO ()
    forall a. Storable a => Ptr a -> a -> IO ()
    poke (Ptr ActionableInterface
    ptr Ptr ActionableInterface
    -> Int
    -> Ptr (FunPtr C_ActionableInterfaceSetActionNameFieldCallback)
    forall a b. Ptr a -> Int -> Ptr b
    `plusPtr` Int
    24) (FunPtr C_ActionableInterfaceSetActionNameFieldCallback
    forall a. FunPtr a
    FP.nullFunPtr :: FunPtr Gtk.Callbacks.C_ActionableInterfaceSetActionNameFieldCallback)

    #if defined(ENABLE_OVERLOADING)
    data ActionableInterfaceSetActionNameFieldInfo
    instance AttrInfo ActionableInterfaceSetActionNameFieldInfo where
        type AttrBaseTypeConstraint ActionableInterfaceSetActionNameFieldInfo = (~) ActionableInterface
        type AttrAllowedOps ActionableInterfaceSetActionNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
        type AttrSetTypeConstraint ActionableInterfaceSetActionNameFieldInfo = (~) (FunPtr Gtk.Callbacks.C_ActionableInterfaceSetActionNameFieldCallback)
        type AttrTransferTypeConstraint ActionableInterfaceSetActionNameFieldInfo = (~)Gtk.Callbacks.ActionableInterfaceSetActionNameFieldCallback
        type AttrTransferType ActionableInterfaceSetActionNameFieldInfo = (FunPtr Gtk.Callbacks.C_ActionableInterfaceSetActionNameFieldCallback)
        type AttrGetType ActionableInterfaceSetActionNameFieldInfo = Maybe Gtk.Callbacks.ActionableInterfaceSetActionNameFieldCallback
        type AttrLabel ActionableInterfaceSetActionNameFieldInfo = "set_action_name"
        type AttrOrigin ActionableInterfaceSetActionNameFieldInfo = ActionableInterface
        attrGet = getActionableInterfaceSetActionName
        attrSet = setActionableInterfaceSetActionName
        attrConstruct = undefined
        attrClear = clearActionableInterfaceSetActionName
        attrTransfer _ v = do
            Gtk.Callbacks.mk_ActionableInterfaceSetActionNameFieldCallback (Gtk.Callbacks.wrap_ActionableInterfaceSetActionNameFieldCallback Nothing v)
        dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
            O.resolvedSymbolName = "GI.Gtk.Structs.ActionableInterface.setActionName"
            , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.43/docs/GI-Gtk-Structs-ActionableInterface.html#g:attr:setActionName"
            })

    actionableInterface_setActionName :: AttrLabelProxy "setActionName"
    actionableInterface_setActionName = AttrLabelProxy

    #endif

    -- | Get the value of the “@get_action_target_value@” field.
    -- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
    --
    -- @
    -- 'Data.GI.Base.Attributes.get' actionableInterface #getActionTargetValue
    -- @
    getActionableInterfaceGetActionTargetValue :: MonadIO m => ActionableInterface -> m (Maybe Gtk.Callbacks.ActionableInterfaceGetActionTargetValueFieldCallback)
    getActionableInterfaceGetActionTargetValue :: forall (m :: * -> *).
    MonadIO m =>
    ActionableInterface
    -> m (Maybe ActionableInterfaceGetActionTargetValueFieldCallback)
    getActionableInterfaceGetActionTargetValue ActionableInterface
    s = IO (Maybe ActionableInterfaceGetActionTargetValueFieldCallback)
    -> m (Maybe ActionableInterfaceGetActionTargetValueFieldCallback)
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO (Maybe ActionableInterfaceGetActionTargetValueFieldCallback)
     -> m (Maybe ActionableInterfaceGetActionTargetValueFieldCallback))
    -> IO (Maybe ActionableInterfaceGetActionTargetValueFieldCallback)
    -> m (Maybe ActionableInterfaceGetActionTargetValueFieldCallback)
    forall a b. (a -> b) -> a -> b
    $ ActionableInterface
    -> (Ptr ActionableInterface
        -> IO (Maybe ActionableInterfaceGetActionTargetValueFieldCallback))
    -> IO (Maybe ActionableInterfaceGetActionTargetValueFieldCallback)
    forall a c.
    (HasCallStack, ManagedPtrNewtype a) =>
    a -> (Ptr a -> IO c) -> IO c
    withManagedPtr ActionableInterface
    s ((Ptr ActionableInterface
      -> IO (Maybe ActionableInterfaceGetActionTargetValueFieldCallback))
     -> IO (Maybe ActionableInterfaceGetActionTargetValueFieldCallback))
    -> (Ptr ActionableInterface
        -> IO (Maybe ActionableInterfaceGetActionTargetValueFieldCallback))
    -> IO (Maybe ActionableInterfaceGetActionTargetValueFieldCallback)
    forall a b. (a -> b) -> a -> b
    $ \Ptr ActionableInterface
    ptr -> do
        val <- Ptr (FunPtr C_ActionableInterfaceGetActionTargetValueFieldCallback)
    -> IO
         (FunPtr C_ActionableInterfaceGetActionTargetValueFieldCallback)
    forall a. Storable a => Ptr a -> IO a
    peek (Ptr ActionableInterface
    ptr Ptr ActionableInterface
    -> Int
    -> Ptr
         (FunPtr C_ActionableInterfaceGetActionTargetValueFieldCallback)
    forall a b. Ptr a -> Int -> Ptr b
    `plusPtr` Int
    32) :: IO (FunPtr Gtk.Callbacks.C_ActionableInterfaceGetActionTargetValueFieldCallback)
        result <- SP.convertFunPtrIfNonNull val $ \FunPtr C_ActionableInterfaceGetActionTargetValueFieldCallback
    val' -> do
            let val'' :: ActionableInterfaceGetActionTargetValueFieldCallback
    val'' = FunPtr C_ActionableInterfaceGetActionTargetValueFieldCallback
    -> ActionableInterfaceGetActionTargetValueFieldCallback
    forall (m :: * -> *) a.
    (HasCallStack, MonadIO m, IsActionable a) =>
    FunPtr C_ActionableInterfaceGetActionTargetValueFieldCallback
    -> a -> m GVariant
    Gtk.Callbacks.dynamic_ActionableInterfaceGetActionTargetValueFieldCallback FunPtr C_ActionableInterfaceGetActionTargetValueFieldCallback
    val'
            ActionableInterfaceGetActionTargetValueFieldCallback
    -> IO ActionableInterfaceGetActionTargetValueFieldCallback
    forall a. a -> IO a
    forall (m :: * -> *) a. Monad m => a -> m a
    return ActionableInterfaceGetActionTargetValueFieldCallback
    val''
        return result

    -- | Set the value of the “@get_action_target_value@” field.
    -- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
    --
    -- @
    -- 'Data.GI.Base.Attributes.set' actionableInterface [ #getActionTargetValue 'Data.GI.Base.Attributes.:=' value ]
    -- @
    setActionableInterfaceGetActionTargetValue :: MonadIO m => ActionableInterface -> FunPtr Gtk.Callbacks.C_ActionableInterfaceGetActionTargetValueFieldCallback -> m ()
    setActionableInterfaceGetActionTargetValue :: forall (m :: * -> *).
    MonadIO m =>
    ActionableInterface
    -> FunPtr C_ActionableInterfaceGetActionTargetValueFieldCallback
    -> m ()
    setActionableInterfaceGetActionTargetValue ActionableInterface
    s FunPtr C_ActionableInterfaceGetActionTargetValueFieldCallback
    val = 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
    $ ActionableInterface -> (Ptr ActionableInterface -> IO ()) -> IO ()
    forall a c.
    (HasCallStack, ManagedPtrNewtype a) =>
    a -> (Ptr a -> IO c) -> IO c
    withManagedPtr ActionableInterface
    s ((Ptr ActionableInterface -> IO ()) -> IO ())
    -> (Ptr ActionableInterface -> IO ()) -> IO ()
    forall a b. (a -> b) -> a -> b
    $ \Ptr ActionableInterface
    ptr -> do
        Ptr (FunPtr C_ActionableInterfaceGetActionTargetValueFieldCallback)
    -> FunPtr C_ActionableInterfaceGetActionTargetValueFieldCallback
    -> IO ()
    forall a. Storable a => Ptr a -> a -> IO ()
    poke (Ptr ActionableInterface
    ptr Ptr ActionableInterface
    -> Int
    -> Ptr
         (FunPtr C_ActionableInterfaceGetActionTargetValueFieldCallback)
    forall a b. Ptr a -> Int -> Ptr b
    `plusPtr` Int
    32) (FunPtr C_ActionableInterfaceGetActionTargetValueFieldCallback
    val :: FunPtr Gtk.Callbacks.C_ActionableInterfaceGetActionTargetValueFieldCallback)

    -- | Set the value of the “@get_action_target_value@” field to `Nothing`.
    -- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
    --
    -- @
    -- 'Data.GI.Base.Attributes.clear' #getActionTargetValue
    -- @
    clearActionableInterfaceGetActionTargetValue :: MonadIO m => ActionableInterface -> m ()
    clearActionableInterfaceGetActionTargetValue :: forall (m :: * -> *). MonadIO m => ActionableInterface -> m ()
    clearActionableInterfaceGetActionTargetValue ActionableInterface
    s = 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
    $ ActionableInterface -> (Ptr ActionableInterface -> IO ()) -> IO ()
    forall a c.
    (HasCallStack, ManagedPtrNewtype a) =>
    a -> (Ptr a -> IO c) -> IO c
    withManagedPtr ActionableInterface
    s ((Ptr ActionableInterface -> IO ()) -> IO ())
    -> (Ptr ActionableInterface -> IO ()) -> IO ()
    forall a b. (a -> b) -> a -> b
    $ \Ptr ActionableInterface
    ptr -> do
        Ptr (FunPtr C_ActionableInterfaceGetActionTargetValueFieldCallback)
    -> FunPtr C_ActionableInterfaceGetActionTargetValueFieldCallback
    -> IO ()
    forall a. Storable a => Ptr a -> a -> IO ()
    poke (Ptr ActionableInterface
    ptr Ptr ActionableInterface
    -> Int
    -> Ptr
         (FunPtr C_ActionableInterfaceGetActionTargetValueFieldCallback)
    forall a b. Ptr a -> Int -> Ptr b
    `plusPtr` Int
    32) (FunPtr C_ActionableInterfaceGetActionTargetValueFieldCallback
    forall a. FunPtr a
    FP.nullFunPtr :: FunPtr Gtk.Callbacks.C_ActionableInterfaceGetActionTargetValueFieldCallback)

    #if defined(ENABLE_OVERLOADING)
    data ActionableInterfaceGetActionTargetValueFieldInfo
    instance AttrInfo ActionableInterfaceGetActionTargetValueFieldInfo where
        type AttrBaseTypeConstraint ActionableInterfaceGetActionTargetValueFieldInfo = (~) ActionableInterface
        type AttrAllowedOps ActionableInterfaceGetActionTargetValueFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
        type AttrSetTypeConstraint ActionableInterfaceGetActionTargetValueFieldInfo = (~) (FunPtr Gtk.Callbacks.C_ActionableInterfaceGetActionTargetValueFieldCallback)
        type AttrTransferTypeConstraint ActionableInterfaceGetActionTargetValueFieldInfo = (~)Gtk.Callbacks.ActionableInterfaceGetActionTargetValueFieldCallback
        type AttrTransferType ActionableInterfaceGetActionTargetValueFieldInfo = (FunPtr Gtk.Callbacks.C_ActionableInterfaceGetActionTargetValueFieldCallback)
        type AttrGetType ActionableInterfaceGetActionTargetValueFieldInfo = Maybe Gtk.Callbacks.ActionableInterfaceGetActionTargetValueFieldCallback
        type AttrLabel ActionableInterfaceGetActionTargetValueFieldInfo = "get_action_target_value"
        type AttrOrigin ActionableInterfaceGetActionTargetValueFieldInfo = ActionableInterface
        attrGet = getActionableInterfaceGetActionTargetValue
        attrSet = setActionableInterfaceGetActionTargetValue
        attrConstruct = undefined
        attrClear = clearActionableInterfaceGetActionTargetValue
        attrTransfer _ v = do
            Gtk.Callbacks.mk_ActionableInterfaceGetActionTargetValueFieldCallback (Gtk.Callbacks.wrap_ActionableInterfaceGetActionTargetValueFieldCallback Nothing v)
        dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
            O.resolvedSymbolName = "GI.Gtk.Structs.ActionableInterface.getActionTargetValue"
            , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.43/docs/GI-Gtk-Structs-ActionableInterface.html#g:attr:getActionTargetValue"
            })

    actionableInterface_getActionTargetValue :: AttrLabelProxy "getActionTargetValue"
    actionableInterface_getActionTargetValue = AttrLabelProxy

    #endif

    -- | Get the value of the “@set_action_target_value@” field.
    -- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
    --
    -- @
    -- 'Data.GI.Base.Attributes.get' actionableInterface #setActionTargetValue
    -- @
    getActionableInterfaceSetActionTargetValue :: MonadIO m => ActionableInterface -> m (Maybe Gtk.Callbacks.ActionableInterfaceSetActionTargetValueFieldCallback)
    getActionableInterfaceSetActionTargetValue :: forall (m :: * -> *).
    MonadIO m =>
    ActionableInterface
    -> m (Maybe ActionableInterfaceSetActionTargetValueFieldCallback)
    getActionableInterfaceSetActionTargetValue ActionableInterface
    s = IO (Maybe ActionableInterfaceSetActionTargetValueFieldCallback)
    -> m (Maybe ActionableInterfaceSetActionTargetValueFieldCallback)
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO (Maybe ActionableInterfaceSetActionTargetValueFieldCallback)
     -> m (Maybe ActionableInterfaceSetActionTargetValueFieldCallback))
    -> IO (Maybe ActionableInterfaceSetActionTargetValueFieldCallback)
    -> m (Maybe ActionableInterfaceSetActionTargetValueFieldCallback)
    forall a b. (a -> b) -> a -> b
    $ ActionableInterface
    -> (Ptr ActionableInterface
        -> IO (Maybe ActionableInterfaceSetActionTargetValueFieldCallback))
    -> IO (Maybe ActionableInterfaceSetActionTargetValueFieldCallback)
    forall a c.
    (HasCallStack, ManagedPtrNewtype a) =>
    a -> (Ptr a -> IO c) -> IO c
    withManagedPtr ActionableInterface
    s ((Ptr ActionableInterface
      -> IO (Maybe ActionableInterfaceSetActionTargetValueFieldCallback))
     -> IO (Maybe ActionableInterfaceSetActionTargetValueFieldCallback))
    -> (Ptr ActionableInterface
        -> IO (Maybe ActionableInterfaceSetActionTargetValueFieldCallback))
    -> IO (Maybe ActionableInterfaceSetActionTargetValueFieldCallback)
    forall a b. (a -> b) -> a -> b
    $ \Ptr ActionableInterface
    ptr -> do
        val <- Ptr (FunPtr C_ActionableInterfaceSetActionTargetValueFieldCallback)
    -> IO
         (FunPtr C_ActionableInterfaceSetActionTargetValueFieldCallback)
    forall a. Storable a => Ptr a -> IO a
    peek (Ptr ActionableInterface
    ptr Ptr ActionableInterface
    -> Int
    -> Ptr
         (FunPtr C_ActionableInterfaceSetActionTargetValueFieldCallback)
    forall a b. Ptr a -> Int -> Ptr b
    `plusPtr` Int
    40) :: IO (FunPtr Gtk.Callbacks.C_ActionableInterfaceSetActionTargetValueFieldCallback)
        result <- SP.convertFunPtrIfNonNull val $ \FunPtr C_ActionableInterfaceSetActionTargetValueFieldCallback
    val' -> do
            let val'' :: ActionableInterfaceSetActionTargetValueFieldCallback
    val'' = FunPtr C_ActionableInterfaceSetActionTargetValueFieldCallback
    -> ActionableInterfaceSetActionTargetValueFieldCallback
    forall (m :: * -> *) a.
    (HasCallStack, MonadIO m, IsActionable a) =>
    FunPtr C_ActionableInterfaceSetActionTargetValueFieldCallback
    -> a -> Maybe GVariant -> m ()
    Gtk.Callbacks.dynamic_ActionableInterfaceSetActionTargetValueFieldCallback FunPtr C_ActionableInterfaceSetActionTargetValueFieldCallback
    val'
            ActionableInterfaceSetActionTargetValueFieldCallback
    -> IO ActionableInterfaceSetActionTargetValueFieldCallback
    forall a. a -> IO a
    forall (m :: * -> *) a. Monad m => a -> m a
    return ActionableInterfaceSetActionTargetValueFieldCallback
    val''
        return result

    -- | Set the value of the “@set_action_target_value@” field.
    -- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
    --
    -- @
    -- 'Data.GI.Base.Attributes.set' actionableInterface [ #setActionTargetValue 'Data.GI.Base.Attributes.:=' value ]
    -- @
    setActionableInterfaceSetActionTargetValue :: MonadIO m => ActionableInterface -> FunPtr Gtk.Callbacks.C_ActionableInterfaceSetActionTargetValueFieldCallback -> m ()
    setActionableInterfaceSetActionTargetValue :: forall (m :: * -> *).
    MonadIO m =>
    ActionableInterface
    -> FunPtr C_ActionableInterfaceSetActionTargetValueFieldCallback
    -> m ()
    setActionableInterfaceSetActionTargetValue ActionableInterface
    s FunPtr C_ActionableInterfaceSetActionTargetValueFieldCallback
    val = 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
    $ ActionableInterface -> (Ptr ActionableInterface -> IO ()) -> IO ()
    forall a c.
    (HasCallStack, ManagedPtrNewtype a) =>
    a -> (Ptr a -> IO c) -> IO c
    withManagedPtr ActionableInterface
    s ((Ptr ActionableInterface -> IO ()) -> IO ())
    -> (Ptr ActionableInterface -> IO ()) -> IO ()
    forall a b. (a -> b) -> a -> b
    $ \Ptr ActionableInterface
    ptr -> do
        Ptr (FunPtr C_ActionableInterfaceSetActionTargetValueFieldCallback)
    -> FunPtr C_ActionableInterfaceSetActionTargetValueFieldCallback
    -> IO ()
    forall a. Storable a => Ptr a -> a -> IO ()
    poke (Ptr ActionableInterface
    ptr Ptr ActionableInterface
    -> Int
    -> Ptr
         (FunPtr C_ActionableInterfaceSetActionTargetValueFieldCallback)
    forall a b. Ptr a -> Int -> Ptr b
    `plusPtr` Int
    40) (FunPtr C_ActionableInterfaceSetActionTargetValueFieldCallback
    val :: FunPtr Gtk.Callbacks.C_ActionableInterfaceSetActionTargetValueFieldCallback)

    -- | Set the value of the “@set_action_target_value@” field to `Nothing`.
    -- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
    --
    -- @
    -- 'Data.GI.Base.Attributes.clear' #setActionTargetValue
    -- @
    clearActionableInterfaceSetActionTargetValue :: MonadIO m => ActionableInterface -> m ()
    clearActionableInterfaceSetActionTargetValue :: forall (m :: * -> *). MonadIO m => ActionableInterface -> m ()
    clearActionableInterfaceSetActionTargetValue ActionableInterface
    s = 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
    $ ActionableInterface -> (Ptr ActionableInterface -> IO ()) -> IO ()
    forall a c.
    (HasCallStack, ManagedPtrNewtype a) =>
    a -> (Ptr a -> IO c) -> IO c
    withManagedPtr ActionableInterface
    s ((Ptr ActionableInterface -> IO ()) -> IO ())
    -> (Ptr ActionableInterface -> IO ()) -> IO ()
    forall a b. (a -> b) -> a -> b
    $ \Ptr ActionableInterface
    ptr -> do
        Ptr (FunPtr C_ActionableInterfaceSetActionTargetValueFieldCallback)
    -> FunPtr C_ActionableInterfaceSetActionTargetValueFieldCallback
    -> IO ()
    forall a. Storable a => Ptr a -> a -> IO ()
    poke (Ptr ActionableInterface
    ptr Ptr ActionableInterface
    -> Int
    -> Ptr
         (FunPtr C_ActionableInterfaceSetActionTargetValueFieldCallback)
    forall a b. Ptr a -> Int -> Ptr b
    `plusPtr` Int
    40) (FunPtr C_ActionableInterfaceSetActionTargetValueFieldCallback
    forall a. FunPtr a
    FP.nullFunPtr :: FunPtr Gtk.Callbacks.C_ActionableInterfaceSetActionTargetValueFieldCallback)

    #if defined(ENABLE_OVERLOADING)
    data ActionableInterfaceSetActionTargetValueFieldInfo
    instance AttrInfo ActionableInterfaceSetActionTargetValueFieldInfo where
        type AttrBaseTypeConstraint ActionableInterfaceSetActionTargetValueFieldInfo = (~) ActionableInterface
        type AttrAllowedOps ActionableInterfaceSetActionTargetValueFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
        type AttrSetTypeConstraint ActionableInterfaceSetActionTargetValueFieldInfo = (~) (FunPtr Gtk.Callbacks.C_ActionableInterfaceSetActionTargetValueFieldCallback)
        type AttrTransferTypeConstraint ActionableInterfaceSetActionTargetValueFieldInfo = (~)Gtk.Callbacks.ActionableInterfaceSetActionTargetValueFieldCallback
        type AttrTransferType ActionableInterfaceSetActionTargetValueFieldInfo = (FunPtr Gtk.Callbacks.C_ActionableInterfaceSetActionTargetValueFieldCallback)
        type AttrGetType ActionableInterfaceSetActionTargetValueFieldInfo = Maybe Gtk.Callbacks.ActionableInterfaceSetActionTargetValueFieldCallback
        type AttrLabel ActionableInterfaceSetActionTargetValueFieldInfo = "set_action_target_value"
        type AttrOrigin ActionableInterfaceSetActionTargetValueFieldInfo = ActionableInterface
        attrGet = getActionableInterfaceSetActionTargetValue
        attrSet = setActionableInterfaceSetActionTargetValue
        attrConstruct = undefined
        attrClear = clearActionableInterfaceSetActionTargetValue
        attrTransfer _ v = do
            Gtk.Callbacks.mk_ActionableInterfaceSetActionTargetValueFieldCallback (Gtk.Callbacks.wrap_ActionableInterfaceSetActionTargetValueFieldCallback Nothing v)
        dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
            O.resolvedSymbolName = "GI.Gtk.Structs.ActionableInterface.setActionTargetValue"
            , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.43/docs/GI-Gtk-Structs-ActionableInterface.html#g:attr:setActionTargetValue"
            })

    actionableInterface_setActionTargetValue :: AttrLabelProxy "setActionTargetValue"
    actionableInterface_setActionTargetValue = AttrLabelProxy

    #endif

    #if defined(ENABLE_OVERLOADING)
    instance O.HasAttributeList ActionableInterface
    type instance O.AttributeList ActionableInterface = ActionableInterfaceAttributeList
    type ActionableInterfaceAttributeList = ('[ '("getActionName", ActionableInterfaceGetActionNameFieldInfo), '("setActionName", ActionableInterfaceSetActionNameFieldInfo), '("getActionTargetValue", ActionableInterfaceGetActionTargetValueFieldInfo), '("setActionTargetValue", ActionableInterfaceSetActionTargetValueFieldInfo)] :: [(Symbol, DK.Type)])
    #endif

    #if defined(ENABLE_OVERLOADING)
    type family ResolveActionableInterfaceMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
        ResolveActionableInterfaceMethod l o = O.MethodResolutionFailed l o

    instance (info ~ ResolveActionableInterfaceMethod t ActionableInterface, O.OverloadedMethod info ActionableInterface p) => OL.IsLabel t (ActionableInterface -> 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 ~ ResolveActionableInterfaceMethod t ActionableInterface, O.OverloadedMethod info ActionableInterface p, R.HasField t ActionableInterface p) => R.HasField t ActionableInterface p where
        getField = O.overloadedMethod @info

    #endif

    instance (info ~ ResolveActionableInterfaceMethod t ActionableInterface, O.OverloadedMethodInfo info ActionableInterface) => OL.IsLabel t (O.MethodProxy info ActionableInterface) where
    #if MIN_VERSION_base(4,10,0)
        fromLabel = O.MethodProxy
    #else
        fromLabel _ = O.MethodProxy
    #endif

    #endif