{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Atk.Objects.GObjectAccessible
(
GObjectAccessible(..) ,
IsGObjectAccessible ,
toGObjectAccessible ,
#if defined(ENABLE_OVERLOADING)
ResolveGObjectAccessibleMethod ,
#endif
gObjectAccessibleForObject ,
#if defined(ENABLE_OVERLOADING)
GObjectAccessibleGetObjectMethodInfo ,
#endif
gObjectAccessibleGetObject ,
) 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
import {-# SOURCE #-} qualified GI.Atk.Objects.Object as Atk.Object
import qualified GI.GObject.Objects.Object as GObject.Object
newtype GObjectAccessible = GObjectAccessible (SP.ManagedPtr GObjectAccessible)
deriving (GObjectAccessible -> GObjectAccessible -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GObjectAccessible -> GObjectAccessible -> Bool
$c/= :: GObjectAccessible -> GObjectAccessible -> Bool
== :: GObjectAccessible -> GObjectAccessible -> Bool
$c== :: GObjectAccessible -> GObjectAccessible -> Bool
Eq)
instance SP.ManagedPtrNewtype GObjectAccessible where
toManagedPtr :: GObjectAccessible -> ManagedPtr GObjectAccessible
toManagedPtr (GObjectAccessible ManagedPtr GObjectAccessible
p) = ManagedPtr GObjectAccessible
p
foreign import ccall "atk_gobject_accessible_get_type"
c_atk_gobject_accessible_get_type :: IO B.Types.GType
instance B.Types.TypedObject GObjectAccessible where
glibType :: IO GType
glibType = IO GType
c_atk_gobject_accessible_get_type
instance B.Types.GObject GObjectAccessible
class (SP.GObject o, O.IsDescendantOf GObjectAccessible o) => IsGObjectAccessible o
instance (SP.GObject o, O.IsDescendantOf GObjectAccessible o) => IsGObjectAccessible o
instance O.HasParentTypes GObjectAccessible
type instance O.ParentTypes GObjectAccessible = '[Atk.Object.Object, GObject.Object.Object]
toGObjectAccessible :: (MIO.MonadIO m, IsGObjectAccessible o) => o -> m GObjectAccessible
toGObjectAccessible :: forall (m :: * -> *) o.
(MonadIO m, IsGObjectAccessible o) =>
o -> m GObjectAccessible
toGObjectAccessible = forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr GObjectAccessible -> GObjectAccessible
GObjectAccessible
instance B.GValue.IsGValue (Maybe GObjectAccessible) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_atk_gobject_accessible_get_type
gvalueSet_ :: Ptr GValue -> Maybe GObjectAccessible -> IO ()
gvalueSet_ Ptr GValue
gv Maybe GObjectAccessible
P.Nothing = forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (forall a. Ptr a
FP.nullPtr :: FP.Ptr GObjectAccessible)
gvalueSet_ Ptr GValue
gv (P.Just GObjectAccessible
obj) = forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr GObjectAccessible
obj (forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe GObjectAccessible)
gvalueGet_ Ptr GValue
gv = do
Ptr GObjectAccessible
ptr <- forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr GObjectAccessible)
if Ptr GObjectAccessible
ptr forall a. Eq a => a -> a -> Bool
/= forall a. Ptr a
FP.nullPtr
then forall a. a -> Maybe a
P.Just forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr GObjectAccessible -> GObjectAccessible
GObjectAccessible Ptr GObjectAccessible
ptr
else forall (m :: * -> *) a. Monad m => a -> m a
return forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveGObjectAccessibleMethod (t :: Symbol) (o :: *) :: * where
ResolveGObjectAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
ResolveGObjectAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveGObjectAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveGObjectAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveGObjectAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveGObjectAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveGObjectAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
ResolveGObjectAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveGObjectAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveGObjectAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveGObjectAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
ResolveGObjectAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
ResolveGObjectAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveGObjectAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
ResolveGObjectAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
ResolveGObjectAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveGObjectAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
ResolveGObjectAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
ResolveGObjectAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
ResolveGObjectAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveGObjectAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveGObjectAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveGObjectAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveGObjectAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveGObjectAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveGObjectAccessibleMethod "getAccessibleId" o = Atk.Object.ObjectGetAccessibleIdMethodInfo
ResolveGObjectAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
ResolveGObjectAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveGObjectAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
ResolveGObjectAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
ResolveGObjectAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
ResolveGObjectAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
ResolveGObjectAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
ResolveGObjectAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
ResolveGObjectAccessibleMethod "getObject" o = GObjectAccessibleGetObjectMethodInfo
ResolveGObjectAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
ResolveGObjectAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
ResolveGObjectAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveGObjectAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveGObjectAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
ResolveGObjectAccessibleMethod "setAccessibleId" o = Atk.Object.ObjectSetAccessibleIdMethodInfo
ResolveGObjectAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveGObjectAccessibleMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveGObjectAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
ResolveGObjectAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
ResolveGObjectAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
ResolveGObjectAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveGObjectAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
ResolveGObjectAccessibleMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveGObjectAccessibleMethod t GObjectAccessible, O.OverloadedMethod info GObjectAccessible p) => OL.IsLabel t (GObjectAccessible -> 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 ~ ResolveGObjectAccessibleMethod t GObjectAccessible, O.OverloadedMethod info GObjectAccessible p, R.HasField t GObjectAccessible p) => R.HasField t GObjectAccessible p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveGObjectAccessibleMethod t GObjectAccessible, O.OverloadedMethodInfo info GObjectAccessible) => OL.IsLabel t (O.MethodProxy info GObjectAccessible) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList GObjectAccessible
type instance O.AttributeList GObjectAccessible = GObjectAccessibleAttributeList
type GObjectAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList GObjectAccessible = GObjectAccessibleSignalList
type GObjectAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("announcement", Atk.Object.ObjectAnnouncementSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "atk_gobject_accessible_get_object" atk_gobject_accessible_get_object ::
Ptr GObjectAccessible ->
IO (Ptr GObject.Object.Object)
gObjectAccessibleGetObject ::
(B.CallStack.HasCallStack, MonadIO m, IsGObjectAccessible a) =>
a
-> m GObject.Object.Object
gObjectAccessibleGetObject :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsGObjectAccessible a) =>
a -> m Object
gObjectAccessibleGetObject a
obj = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr GObjectAccessible
obj' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
obj
Ptr Object
result <- Ptr GObjectAccessible -> IO (Ptr Object)
atk_gobject_accessible_get_object Ptr GObjectAccessible
obj'
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"gObjectAccessibleGetObject" Ptr Object
result
Object
result' <- (forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Object -> Object
GObject.Object.Object) Ptr Object
result
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
obj
forall (m :: * -> *) a. Monad m => a -> m a
return Object
result'
#if defined(ENABLE_OVERLOADING)
data GObjectAccessibleGetObjectMethodInfo
instance (signature ~ (m GObject.Object.Object), MonadIO m, IsGObjectAccessible a) => O.OverloadedMethod GObjectAccessibleGetObjectMethodInfo a signature where
overloadedMethod = gObjectAccessibleGetObject
instance O.OverloadedMethodInfo GObjectAccessibleGetObjectMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Atk.Objects.GObjectAccessible.gObjectAccessibleGetObject",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-atk-2.0.25/docs/GI-Atk-Objects-GObjectAccessible.html#v:gObjectAccessibleGetObject"
})
#endif
foreign import ccall "atk_gobject_accessible_for_object" atk_gobject_accessible_for_object ::
Ptr GObject.Object.Object ->
IO (Ptr Atk.Object.Object)
gObjectAccessibleForObject ::
(B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
a
-> m Atk.Object.Object
gObjectAccessibleForObject :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsObject a) =>
a -> m Object
gObjectAccessibleForObject a
obj = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr Object
obj' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
obj
Ptr Object
result <- Ptr Object -> IO (Ptr Object)
atk_gobject_accessible_for_object Ptr Object
obj'
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"gObjectAccessibleForObject" Ptr Object
result
Object
result' <- (forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Object -> Object
Atk.Object.Object) Ptr Object
result
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
obj
forall (m :: * -> *) a. Monad m => a -> m a
return Object
result'
#if defined(ENABLE_OVERLOADING)
#endif