{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gtk.Objects.CallbackAction
(
#if defined(ENABLE_OVERLOADING)
CallbackActionNewMethodInfo ,
#endif
CallbackAction(..) ,
IsCallbackAction ,
toCallbackAction ,
#if defined(ENABLE_OVERLOADING)
ResolveCallbackActionMethod ,
#endif
) 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.GClosure as B.GClosure
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.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.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 GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gtk.Objects.ShortcutAction as Gtk.ShortcutAction
newtype CallbackAction = CallbackAction (SP.ManagedPtr CallbackAction)
deriving (CallbackAction -> CallbackAction -> Bool
(CallbackAction -> CallbackAction -> Bool)
-> (CallbackAction -> CallbackAction -> Bool) -> Eq CallbackAction
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CallbackAction -> CallbackAction -> Bool
$c/= :: CallbackAction -> CallbackAction -> Bool
== :: CallbackAction -> CallbackAction -> Bool
$c== :: CallbackAction -> CallbackAction -> Bool
Eq)
instance SP.ManagedPtrNewtype CallbackAction where
toManagedPtr :: CallbackAction -> ManagedPtr CallbackAction
toManagedPtr (CallbackAction ManagedPtr CallbackAction
p) = ManagedPtr CallbackAction
p
foreign import ccall "gtk_callback_action_get_type"
c_gtk_callback_action_get_type :: IO B.Types.GType
instance B.Types.TypedObject CallbackAction where
glibType :: IO GType
glibType = IO GType
c_gtk_callback_action_get_type
instance B.Types.GObject CallbackAction
instance B.GValue.IsGValue CallbackAction where
toGValue :: CallbackAction -> IO GValue
toGValue CallbackAction
o = do
GType
gtype <- IO GType
c_gtk_callback_action_get_type
CallbackAction -> (Ptr CallbackAction -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr CallbackAction
o (GType
-> (GValue -> Ptr CallbackAction -> IO ())
-> Ptr CallbackAction
-> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr CallbackAction -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
fromGValue :: GValue -> IO CallbackAction
fromGValue GValue
gv = do
Ptr CallbackAction
ptr <- GValue -> IO (Ptr CallbackAction)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr CallbackAction)
(ManagedPtr CallbackAction -> CallbackAction)
-> Ptr CallbackAction -> IO CallbackAction
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr CallbackAction -> CallbackAction
CallbackAction Ptr CallbackAction
ptr
class (SP.GObject o, O.IsDescendantOf CallbackAction o) => IsCallbackAction o
instance (SP.GObject o, O.IsDescendantOf CallbackAction o) => IsCallbackAction o
instance O.HasParentTypes CallbackAction
type instance O.ParentTypes CallbackAction = '[Gtk.ShortcutAction.ShortcutAction, GObject.Object.Object]
toCallbackAction :: (MonadIO m, IsCallbackAction o) => o -> m CallbackAction
toCallbackAction :: o -> m CallbackAction
toCallbackAction = IO CallbackAction -> m CallbackAction
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO CallbackAction -> m CallbackAction)
-> (o -> IO CallbackAction) -> o -> m CallbackAction
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr CallbackAction -> CallbackAction)
-> o -> IO CallbackAction
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr CallbackAction -> CallbackAction
CallbackAction
#if defined(ENABLE_OVERLOADING)
type family ResolveCallbackActionMethod (t :: Symbol) (o :: *) :: * where
ResolveCallbackActionMethod "activate" o = Gtk.ShortcutAction.ShortcutActionActivateMethodInfo
ResolveCallbackActionMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveCallbackActionMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveCallbackActionMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveCallbackActionMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveCallbackActionMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveCallbackActionMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveCallbackActionMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveCallbackActionMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveCallbackActionMethod "print" o = Gtk.ShortcutAction.ShortcutActionPrintMethodInfo
ResolveCallbackActionMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveCallbackActionMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveCallbackActionMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveCallbackActionMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveCallbackActionMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveCallbackActionMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveCallbackActionMethod "toString" o = Gtk.ShortcutAction.ShortcutActionToStringMethodInfo
ResolveCallbackActionMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveCallbackActionMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveCallbackActionMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveCallbackActionMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveCallbackActionMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveCallbackActionMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveCallbackActionMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveCallbackActionMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveCallbackActionMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveCallbackActionMethod t CallbackAction, O.MethodInfo info CallbackAction p) => OL.IsLabel t (CallbackAction -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList CallbackAction
type instance O.AttributeList CallbackAction = CallbackActionAttributeList
type CallbackActionAttributeList = ('[ ] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList CallbackAction = CallbackActionSignalList
type CallbackActionSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
data CallbackActionNewMethodInfo
instance (p ~ (), o ~ O.UnsupportedMethodError "new" CallbackAction) => O.MethodInfo CallbackActionNewMethodInfo o p where
overloadedMethod = undefined
#endif