#define ENABLE_OVERLOADING \
(!defined(__HADDOCK_VERSION__))
module GI.Atk.Objects.Plug
(
Plug(..) ,
IsPlug ,
toPlug ,
noPlug ,
#if ENABLE_OVERLOADING
PlugGetIdMethodInfo ,
#endif
plugGetId ,
plugNew ,
#if ENABLE_OVERLOADING
PlugSetChildMethodInfo ,
#endif
plugSetChild ,
) 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.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GError as B.GError
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.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import {-# SOURCE #-} qualified GI.Atk.Interfaces.Component as Atk.Component
import {-# SOURCE #-} qualified GI.Atk.Objects.Object as Atk.Object
import qualified GI.GObject.Objects.Object as GObject.Object
newtype Plug = Plug (ManagedPtr Plug)
foreign import ccall "atk_plug_get_type"
c_atk_plug_get_type :: IO GType
instance GObject Plug where
gobjectType :: Plug -> IO GType
gobjectType _ = IO GType
c_atk_plug_get_type
class GObject o => IsPlug o
#if MIN_VERSION_base(4,9,0)
instance {-# OVERLAPPABLE #-} (GObject a, O.UnknownAncestorError Plug a) =>
IsPlug a
#endif
instance IsPlug Plug
instance Atk.Object.IsObject Plug
instance GObject.Object.IsObject Plug
instance Atk.Component.IsComponent Plug
toPlug :: (MonadIO m, IsPlug o) => o -> m Plug
toPlug :: o -> m Plug
toPlug = IO Plug -> m Plug
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Plug -> m Plug) -> (o -> IO Plug) -> o -> m Plug
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Plug -> Plug) -> o -> IO Plug
forall o o'.
(HasCallStack, GObject o, GObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr Plug -> Plug
Plug
noPlug :: Maybe Plug
noPlug :: Maybe Plug
noPlug = Maybe Plug
forall a. Maybe a
Nothing
#if ENABLE_OVERLOADING
type family ResolvePlugMethod (t :: Symbol) (o :: *) :: * where
ResolvePlugMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
ResolvePlugMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolvePlugMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolvePlugMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
ResolvePlugMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolvePlugMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolvePlugMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolvePlugMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
ResolvePlugMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
ResolvePlugMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolvePlugMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolvePlugMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolvePlugMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
ResolvePlugMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
ResolvePlugMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolvePlugMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
ResolvePlugMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
ResolvePlugMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
ResolvePlugMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolvePlugMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
ResolvePlugMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
ResolvePlugMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
ResolvePlugMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
ResolvePlugMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolvePlugMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
ResolvePlugMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
ResolvePlugMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolvePlugMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolvePlugMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolvePlugMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolvePlugMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolvePlugMethod "getAccessibleId" o = Atk.Object.ObjectGetAccessibleIdMethodInfo
ResolvePlugMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
ResolvePlugMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
ResolvePlugMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolvePlugMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
ResolvePlugMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
ResolvePlugMethod "getId" o = PlugGetIdMethodInfo
ResolvePlugMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
ResolvePlugMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
ResolvePlugMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
ResolvePlugMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
ResolvePlugMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
ResolvePlugMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
ResolvePlugMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
ResolvePlugMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
ResolvePlugMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolvePlugMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolvePlugMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
ResolvePlugMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
ResolvePlugMethod "setAccessibleId" o = Atk.Object.ObjectSetAccessibleIdMethodInfo
ResolvePlugMethod "setChild" o = PlugSetChildMethodInfo
ResolvePlugMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolvePlugMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
ResolvePlugMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
ResolvePlugMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
ResolvePlugMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
ResolvePlugMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
ResolvePlugMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolvePlugMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
ResolvePlugMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
ResolvePlugMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolvePlugMethod t Plug, O.MethodInfo info Plug p) => O.IsLabelProxy t (Plug -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolvePlugMethod t Plug, O.MethodInfo info Plug p) => O.IsLabel t (Plug -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif
#endif
#if ENABLE_OVERLOADING
instance O.HasAttributeList Plug
type instance O.AttributeList Plug = PlugAttributeList
type PlugAttributeList = ('[ '("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 ENABLE_OVERLOADING
#endif
#if ENABLE_OVERLOADING
type instance O.SignalList Plug = PlugSignalList
type PlugSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("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_plug_new" atk_plug_new ::
IO (Ptr Plug)
plugNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Plug
plugNew :: m Plug
plugNew = IO Plug -> m Plug
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Plug -> m Plug) -> IO Plug -> m Plug
forall a b. (a -> b) -> a -> b
$ do
Ptr Plug
result <- IO (Ptr Plug)
atk_plug_new
Text -> Ptr Plug -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "plugNew" Ptr Plug
result
Plug
result' <- ((ManagedPtr Plug -> Plug) -> Ptr Plug -> IO Plug
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Plug -> Plug
Plug) Ptr Plug
result
Plug -> IO Plug
forall (m :: * -> *) a. Monad m => a -> m a
return Plug
result'
#if ENABLE_OVERLOADING
#endif
foreign import ccall "atk_plug_get_id" atk_plug_get_id ::
Ptr Plug ->
IO CString
plugGetId ::
(B.CallStack.HasCallStack, MonadIO m, IsPlug a) =>
a
-> m T.Text
plugGetId :: a -> m Text
plugGetId plug :: a
plug = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr Plug
plug' <- a -> IO (Ptr Plug)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
plug
CString
result <- Ptr Plug -> IO CString
atk_plug_get_id Ptr Plug
plug'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "plugGetId" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
plug
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if ENABLE_OVERLOADING
data PlugGetIdMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsPlug a) => O.MethodInfo PlugGetIdMethodInfo a signature where
overloadedMethod _ = plugGetId
#endif
foreign import ccall "atk_plug_set_child" atk_plug_set_child ::
Ptr Plug ->
Ptr Atk.Object.Object ->
IO ()
plugSetChild ::
(B.CallStack.HasCallStack, MonadIO m, IsPlug a, Atk.Object.IsObject b) =>
a
-> b
-> m ()
plugSetChild :: a -> b -> m ()
plugSetChild plug :: a
plug child :: b
child = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Plug
plug' <- a -> IO (Ptr Plug)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
plug
Ptr Object
child' <- b -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
child
Ptr Plug -> Ptr Object -> IO ()
atk_plug_set_child Ptr Plug
plug' Ptr Object
child'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
plug
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
child
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if ENABLE_OVERLOADING
data PlugSetChildMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsPlug a, Atk.Object.IsObject b) => O.MethodInfo PlugSetChildMethodInfo a signature where
overloadedMethod _ = plugSetChild
#endif