{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Atk.Structs.PropertyValues
(
PropertyValues(..) ,
newZeroPropertyValues ,
#if defined(ENABLE_OVERLOADING)
ResolvePropertyValuesMethod ,
#endif
clearPropertyValuesNewValue ,
getPropertyValuesNewValue ,
#if defined(ENABLE_OVERLOADING)
propertyValues_newValue ,
#endif
setPropertyValuesNewValue ,
clearPropertyValuesOldValue ,
getPropertyValuesOldValue ,
#if defined(ENABLE_OVERLOADING)
propertyValues_oldValue ,
#endif
setPropertyValuesOldValue ,
clearPropertyValuesPropertyName ,
getPropertyValuesPropertyName ,
#if defined(ENABLE_OVERLOADING)
propertyValues_propertyName ,
#endif
setPropertyValuesPropertyName ,
) 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.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
newtype PropertyValues = PropertyValues (SP.ManagedPtr PropertyValues)
deriving (PropertyValues -> PropertyValues -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PropertyValues -> PropertyValues -> Bool
$c/= :: PropertyValues -> PropertyValues -> Bool
== :: PropertyValues -> PropertyValues -> Bool
$c== :: PropertyValues -> PropertyValues -> Bool
Eq)
instance SP.ManagedPtrNewtype PropertyValues where
toManagedPtr :: PropertyValues -> ManagedPtr PropertyValues
toManagedPtr (PropertyValues ManagedPtr PropertyValues
p) = ManagedPtr PropertyValues
p
instance BoxedPtr PropertyValues where
boxedPtrCopy :: PropertyValues -> IO PropertyValues
boxedPtrCopy = \PropertyValues
p -> forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr PropertyValues
p (forall a. (HasCallStack, CallocPtr a) => Int -> Ptr a -> IO (Ptr a)
copyBytes Int
44 forall (m :: * -> *) a b c.
Monad m =>
(a -> m b) -> (b -> m c) -> a -> m c
>=> forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
B.ManagedPtr.wrapPtr ManagedPtr PropertyValues -> PropertyValues
PropertyValues)
boxedPtrFree :: PropertyValues -> IO ()
boxedPtrFree = \PropertyValues
x -> forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
SP.withManagedPtr PropertyValues
x forall a. Ptr a -> IO ()
SP.freeMem
instance CallocPtr PropertyValues where
boxedPtrCalloc :: IO (Ptr PropertyValues)
boxedPtrCalloc = forall a. Int -> IO (Ptr a)
callocBytes Int
44
newZeroPropertyValues :: MonadIO m => m PropertyValues
newZeroPropertyValues :: forall (m :: * -> *). MonadIO m => m PropertyValues
newZeroPropertyValues = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ forall a. CallocPtr a => IO (Ptr a)
boxedPtrCalloc forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapPtr ManagedPtr PropertyValues -> PropertyValues
PropertyValues
instance tag ~ 'AttrSet => Constructible PropertyValues tag where
new :: forall (m :: * -> *).
MonadIO m =>
(ManagedPtr PropertyValues -> PropertyValues)
-> [AttrOp PropertyValues tag] -> m PropertyValues
new ManagedPtr PropertyValues -> PropertyValues
_ [AttrOp PropertyValues tag]
attrs = do
PropertyValues
o <- forall (m :: * -> *). MonadIO m => m PropertyValues
newZeroPropertyValues
forall o (m :: * -> *).
MonadIO m =>
o -> [AttrOp o 'AttrSet] -> m ()
GI.Attributes.set PropertyValues
o [AttrOp PropertyValues tag]
attrs
forall (m :: * -> *) a. Monad m => a -> m a
return PropertyValues
o
getPropertyValuesPropertyName :: MonadIO m => PropertyValues -> m (Maybe T.Text)
getPropertyValuesPropertyName :: forall (m :: * -> *). MonadIO m => PropertyValues -> m (Maybe Text)
getPropertyValuesPropertyName PropertyValues
s = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr PropertyValues
s forall a b. (a -> b) -> a -> b
$ \Ptr PropertyValues
ptr -> do
CString
val <- forall a. Storable a => Ptr a -> IO a
peek (Ptr PropertyValues
ptr forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0) :: IO CString
Maybe Text
result <- forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
SP.convertIfNonNull CString
val forall a b. (a -> b) -> a -> b
$ \CString
val' -> do
Text
val'' <- HasCallStack => CString -> IO Text
cstringToText CString
val'
forall (m :: * -> *) a. Monad m => a -> m a
return Text
val''
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
result
setPropertyValuesPropertyName :: MonadIO m => PropertyValues -> CString -> m ()
setPropertyValuesPropertyName :: forall (m :: * -> *).
MonadIO m =>
PropertyValues -> CString -> m ()
setPropertyValuesPropertyName PropertyValues
s CString
val = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr PropertyValues
s forall a b. (a -> b) -> a -> b
$ \Ptr PropertyValues
ptr -> do
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr PropertyValues
ptr forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0) (CString
val :: CString)
clearPropertyValuesPropertyName :: MonadIO m => PropertyValues -> m ()
clearPropertyValuesPropertyName :: forall (m :: * -> *). MonadIO m => PropertyValues -> m ()
clearPropertyValuesPropertyName PropertyValues
s = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr PropertyValues
s forall a b. (a -> b) -> a -> b
$ \Ptr PropertyValues
ptr -> do
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr PropertyValues
ptr forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0) (forall a. Ptr a
FP.nullPtr :: CString)
#if defined(ENABLE_OVERLOADING)
data PropertyValuesPropertyNameFieldInfo
instance AttrInfo PropertyValuesPropertyNameFieldInfo where
type AttrBaseTypeConstraint PropertyValuesPropertyNameFieldInfo = (~) PropertyValues
type AttrAllowedOps PropertyValuesPropertyNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint PropertyValuesPropertyNameFieldInfo = (~) CString
type AttrTransferTypeConstraint PropertyValuesPropertyNameFieldInfo = (~)CString
type AttrTransferType PropertyValuesPropertyNameFieldInfo = CString
type AttrGetType PropertyValuesPropertyNameFieldInfo = Maybe T.Text
type AttrLabel PropertyValuesPropertyNameFieldInfo = "property_name"
type AttrOrigin PropertyValuesPropertyNameFieldInfo = PropertyValues
attrGet = getPropertyValuesPropertyName
attrSet = setPropertyValuesPropertyName
attrConstruct = undefined
attrClear = clearPropertyValuesPropertyName
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Atk.Structs.PropertyValues.propertyName"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-atk-2.0.25/docs/GI-Atk-Structs-PropertyValues.html#g:attr:propertyName"
})
propertyValues_propertyName :: AttrLabelProxy "propertyName"
propertyValues_propertyName = AttrLabelProxy
#endif
getPropertyValuesOldValue :: MonadIO m => PropertyValues -> m (Maybe GValue)
getPropertyValuesOldValue :: forall (m :: * -> *).
MonadIO m =>
PropertyValues -> m (Maybe GValue)
getPropertyValuesOldValue PropertyValues
s = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr PropertyValues
s forall a b. (a -> b) -> a -> b
$ \Ptr PropertyValues
ptr -> do
Ptr GValue
val <- forall a. Storable a => Ptr a -> IO a
peek (Ptr PropertyValues
ptr forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
4) :: IO (Ptr GValue)
Maybe GValue
result <- forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
SP.convertIfNonNull Ptr GValue
val forall a b. (a -> b) -> a -> b
$ \Ptr GValue
val' -> do
GValue
val'' <- Ptr GValue -> IO GValue
B.GValue.newGValueFromPtr Ptr GValue
val'
forall (m :: * -> *) a. Monad m => a -> m a
return GValue
val''
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe GValue
result
setPropertyValuesOldValue :: MonadIO m => PropertyValues -> Ptr GValue -> m ()
setPropertyValuesOldValue :: forall (m :: * -> *).
MonadIO m =>
PropertyValues -> Ptr GValue -> m ()
setPropertyValuesOldValue PropertyValues
s Ptr GValue
val = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr PropertyValues
s forall a b. (a -> b) -> a -> b
$ \Ptr PropertyValues
ptr -> do
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr PropertyValues
ptr forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
4) (Ptr GValue
val :: Ptr GValue)
clearPropertyValuesOldValue :: MonadIO m => PropertyValues -> m ()
clearPropertyValuesOldValue :: forall (m :: * -> *). MonadIO m => PropertyValues -> m ()
clearPropertyValuesOldValue PropertyValues
s = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr PropertyValues
s forall a b. (a -> b) -> a -> b
$ \Ptr PropertyValues
ptr -> do
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr PropertyValues
ptr forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
4) (forall a. Ptr a
FP.nullPtr :: Ptr GValue)
#if defined(ENABLE_OVERLOADING)
data PropertyValuesOldValueFieldInfo
instance AttrInfo PropertyValuesOldValueFieldInfo where
type AttrBaseTypeConstraint PropertyValuesOldValueFieldInfo = (~) PropertyValues
type AttrAllowedOps PropertyValuesOldValueFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint PropertyValuesOldValueFieldInfo = (~) (Ptr GValue)
type AttrTransferTypeConstraint PropertyValuesOldValueFieldInfo = (~)(Ptr GValue)
type AttrTransferType PropertyValuesOldValueFieldInfo = (Ptr GValue)
type AttrGetType PropertyValuesOldValueFieldInfo = Maybe GValue
type AttrLabel PropertyValuesOldValueFieldInfo = "old_value"
type AttrOrigin PropertyValuesOldValueFieldInfo = PropertyValues
attrGet = getPropertyValuesOldValue
attrSet = setPropertyValuesOldValue
attrConstruct = undefined
attrClear = clearPropertyValuesOldValue
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Atk.Structs.PropertyValues.oldValue"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-atk-2.0.25/docs/GI-Atk-Structs-PropertyValues.html#g:attr:oldValue"
})
propertyValues_oldValue :: AttrLabelProxy "oldValue"
propertyValues_oldValue = AttrLabelProxy
#endif
getPropertyValuesNewValue :: MonadIO m => PropertyValues -> m (Maybe GValue)
getPropertyValuesNewValue :: forall (m :: * -> *).
MonadIO m =>
PropertyValues -> m (Maybe GValue)
getPropertyValuesNewValue PropertyValues
s = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr PropertyValues
s forall a b. (a -> b) -> a -> b
$ \Ptr PropertyValues
ptr -> do
Ptr GValue
val <- forall a. Storable a => Ptr a -> IO a
peek (Ptr PropertyValues
ptr forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24) :: IO (Ptr GValue)
Maybe GValue
result <- forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
SP.convertIfNonNull Ptr GValue
val forall a b. (a -> b) -> a -> b
$ \Ptr GValue
val' -> do
GValue
val'' <- Ptr GValue -> IO GValue
B.GValue.newGValueFromPtr Ptr GValue
val'
forall (m :: * -> *) a. Monad m => a -> m a
return GValue
val''
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe GValue
result
setPropertyValuesNewValue :: MonadIO m => PropertyValues -> Ptr GValue -> m ()
setPropertyValuesNewValue :: forall (m :: * -> *).
MonadIO m =>
PropertyValues -> Ptr GValue -> m ()
setPropertyValuesNewValue PropertyValues
s Ptr GValue
val = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr PropertyValues
s forall a b. (a -> b) -> a -> b
$ \Ptr PropertyValues
ptr -> do
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr PropertyValues
ptr forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24) (Ptr GValue
val :: Ptr GValue)
clearPropertyValuesNewValue :: MonadIO m => PropertyValues -> m ()
clearPropertyValuesNewValue :: forall (m :: * -> *). MonadIO m => PropertyValues -> m ()
clearPropertyValuesNewValue PropertyValues
s = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr PropertyValues
s forall a b. (a -> b) -> a -> b
$ \Ptr PropertyValues
ptr -> do
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr PropertyValues
ptr forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24) (forall a. Ptr a
FP.nullPtr :: Ptr GValue)
#if defined(ENABLE_OVERLOADING)
data PropertyValuesNewValueFieldInfo
instance AttrInfo PropertyValuesNewValueFieldInfo where
type AttrBaseTypeConstraint PropertyValuesNewValueFieldInfo = (~) PropertyValues
type AttrAllowedOps PropertyValuesNewValueFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint PropertyValuesNewValueFieldInfo = (~) (Ptr GValue)
type AttrTransferTypeConstraint PropertyValuesNewValueFieldInfo = (~)(Ptr GValue)
type AttrTransferType PropertyValuesNewValueFieldInfo = (Ptr GValue)
type AttrGetType PropertyValuesNewValueFieldInfo = Maybe GValue
type AttrLabel PropertyValuesNewValueFieldInfo = "new_value"
type AttrOrigin PropertyValuesNewValueFieldInfo = PropertyValues
attrGet = getPropertyValuesNewValue
attrSet = setPropertyValuesNewValue
attrConstruct = undefined
attrClear = clearPropertyValuesNewValue
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Atk.Structs.PropertyValues.newValue"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-atk-2.0.25/docs/GI-Atk-Structs-PropertyValues.html#g:attr:newValue"
})
propertyValues_newValue :: AttrLabelProxy "newValue"
propertyValues_newValue = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList PropertyValues
type instance O.AttributeList PropertyValues = PropertyValuesAttributeList
type PropertyValuesAttributeList = ('[ '("propertyName", PropertyValuesPropertyNameFieldInfo), '("oldValue", PropertyValuesOldValueFieldInfo), '("newValue", PropertyValuesNewValueFieldInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolvePropertyValuesMethod (t :: Symbol) (o :: *) :: * where
ResolvePropertyValuesMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolvePropertyValuesMethod t PropertyValues, O.OverloadedMethod info PropertyValues p) => OL.IsLabel t (PropertyValues -> 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 ~ ResolvePropertyValuesMethod t PropertyValues, O.OverloadedMethod info PropertyValues p, R.HasField t PropertyValues p) => R.HasField t PropertyValues p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolvePropertyValuesMethod t PropertyValues, O.OverloadedMethodInfo info PropertyValues) => OL.IsLabel t (O.MethodProxy info PropertyValues) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif