{-# LANGUAGE ImplicitParams, RankNTypes, TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gtk.Objects.DropTargetAsync
(
DropTargetAsync(..) ,
IsDropTargetAsync ,
toDropTargetAsync ,
#if defined(ENABLE_OVERLOADING)
ResolveDropTargetAsyncMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
DropTargetAsyncGetActionsMethodInfo ,
#endif
dropTargetAsyncGetActions ,
#if defined(ENABLE_OVERLOADING)
DropTargetAsyncGetFormatsMethodInfo ,
#endif
dropTargetAsyncGetFormats ,
dropTargetAsyncNew ,
#if defined(ENABLE_OVERLOADING)
DropTargetAsyncRejectDropMethodInfo ,
#endif
dropTargetAsyncRejectDrop ,
#if defined(ENABLE_OVERLOADING)
DropTargetAsyncSetActionsMethodInfo ,
#endif
dropTargetAsyncSetActions ,
#if defined(ENABLE_OVERLOADING)
DropTargetAsyncSetFormatsMethodInfo ,
#endif
dropTargetAsyncSetFormats ,
#if defined(ENABLE_OVERLOADING)
DropTargetAsyncActionsPropertyInfo ,
#endif
constructDropTargetAsyncActions ,
#if defined(ENABLE_OVERLOADING)
dropTargetAsyncActions ,
#endif
getDropTargetAsyncActions ,
setDropTargetAsyncActions ,
#if defined(ENABLE_OVERLOADING)
DropTargetAsyncFormatsPropertyInfo ,
#endif
clearDropTargetAsyncFormats ,
constructDropTargetAsyncFormats ,
#if defined(ENABLE_OVERLOADING)
dropTargetAsyncFormats ,
#endif
getDropTargetAsyncFormats ,
setDropTargetAsyncFormats ,
DropTargetAsyncAcceptCallback ,
#if defined(ENABLE_OVERLOADING)
DropTargetAsyncAcceptSignalInfo ,
#endif
afterDropTargetAsyncAccept ,
onDropTargetAsyncAccept ,
DropTargetAsyncDragEnterCallback ,
#if defined(ENABLE_OVERLOADING)
DropTargetAsyncDragEnterSignalInfo ,
#endif
afterDropTargetAsyncDragEnter ,
onDropTargetAsyncDragEnter ,
DropTargetAsyncDragLeaveCallback ,
#if defined(ENABLE_OVERLOADING)
DropTargetAsyncDragLeaveSignalInfo ,
#endif
afterDropTargetAsyncDragLeave ,
onDropTargetAsyncDragLeave ,
DropTargetAsyncDragMotionCallback ,
#if defined(ENABLE_OVERLOADING)
DropTargetAsyncDragMotionSignalInfo ,
#endif
afterDropTargetAsyncDragMotion ,
onDropTargetAsyncDragMotion ,
DropTargetAsyncDropCallback ,
#if defined(ENABLE_OVERLOADING)
DropTargetAsyncDropSignalInfo ,
#endif
afterDropTargetAsyncDrop ,
onDropTargetAsyncDrop ,
) 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.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 qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gdk.Flags as Gdk.Flags
import qualified GI.Gdk.Objects.Drop as Gdk.Drop
import qualified GI.Gdk.Structs.ContentFormats as Gdk.ContentFormats
import {-# SOURCE #-} qualified GI.Gtk.Objects.EventController as Gtk.EventController
newtype DropTargetAsync = DropTargetAsync (SP.ManagedPtr DropTargetAsync)
deriving (DropTargetAsync -> DropTargetAsync -> Bool
(DropTargetAsync -> DropTargetAsync -> Bool)
-> (DropTargetAsync -> DropTargetAsync -> Bool)
-> Eq DropTargetAsync
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DropTargetAsync -> DropTargetAsync -> Bool
$c/= :: DropTargetAsync -> DropTargetAsync -> Bool
== :: DropTargetAsync -> DropTargetAsync -> Bool
$c== :: DropTargetAsync -> DropTargetAsync -> Bool
Eq)
instance SP.ManagedPtrNewtype DropTargetAsync where
toManagedPtr :: DropTargetAsync -> ManagedPtr DropTargetAsync
toManagedPtr (DropTargetAsync ManagedPtr DropTargetAsync
p) = ManagedPtr DropTargetAsync
p
foreign import ccall "gtk_drop_target_async_get_type"
c_gtk_drop_target_async_get_type :: IO B.Types.GType
instance B.Types.TypedObject DropTargetAsync where
glibType :: IO GType
glibType = IO GType
c_gtk_drop_target_async_get_type
instance B.Types.GObject DropTargetAsync
class (SP.GObject o, O.IsDescendantOf DropTargetAsync o) => IsDropTargetAsync o
instance (SP.GObject o, O.IsDescendantOf DropTargetAsync o) => IsDropTargetAsync o
instance O.HasParentTypes DropTargetAsync
type instance O.ParentTypes DropTargetAsync = '[Gtk.EventController.EventController, GObject.Object.Object]
toDropTargetAsync :: (MIO.MonadIO m, IsDropTargetAsync o) => o -> m DropTargetAsync
toDropTargetAsync :: forall (m :: * -> *) o.
(MonadIO m, IsDropTargetAsync o) =>
o -> m DropTargetAsync
toDropTargetAsync = IO DropTargetAsync -> m DropTargetAsync
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO DropTargetAsync -> m DropTargetAsync)
-> (o -> IO DropTargetAsync) -> o -> m DropTargetAsync
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr DropTargetAsync -> DropTargetAsync)
-> o -> IO DropTargetAsync
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr DropTargetAsync -> DropTargetAsync
DropTargetAsync
instance B.GValue.IsGValue (Maybe DropTargetAsync) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_gtk_drop_target_async_get_type
gvalueSet_ :: Ptr GValue -> Maybe DropTargetAsync -> IO ()
gvalueSet_ Ptr GValue
gv Maybe DropTargetAsync
P.Nothing = Ptr GValue -> Ptr DropTargetAsync -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr DropTargetAsync
forall a. Ptr a
FP.nullPtr :: FP.Ptr DropTargetAsync)
gvalueSet_ Ptr GValue
gv (P.Just DropTargetAsync
obj) = DropTargetAsync -> (Ptr DropTargetAsync -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr DropTargetAsync
obj (Ptr GValue -> Ptr DropTargetAsync -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe DropTargetAsync)
gvalueGet_ Ptr GValue
gv = do
Ptr DropTargetAsync
ptr <- Ptr GValue -> IO (Ptr DropTargetAsync)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr DropTargetAsync)
if Ptr DropTargetAsync
ptr Ptr DropTargetAsync -> Ptr DropTargetAsync -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr DropTargetAsync
forall a. Ptr a
FP.nullPtr
then DropTargetAsync -> Maybe DropTargetAsync
forall a. a -> Maybe a
P.Just (DropTargetAsync -> Maybe DropTargetAsync)
-> IO DropTargetAsync -> IO (Maybe DropTargetAsync)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr DropTargetAsync -> DropTargetAsync)
-> Ptr DropTargetAsync -> IO DropTargetAsync
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr DropTargetAsync -> DropTargetAsync
DropTargetAsync Ptr DropTargetAsync
ptr
else Maybe DropTargetAsync -> IO (Maybe DropTargetAsync)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DropTargetAsync
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveDropTargetAsyncMethod (t :: Symbol) (o :: *) :: * where
ResolveDropTargetAsyncMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveDropTargetAsyncMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveDropTargetAsyncMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveDropTargetAsyncMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveDropTargetAsyncMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveDropTargetAsyncMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveDropTargetAsyncMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveDropTargetAsyncMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveDropTargetAsyncMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveDropTargetAsyncMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveDropTargetAsyncMethod "rejectDrop" o = DropTargetAsyncRejectDropMethodInfo
ResolveDropTargetAsyncMethod "reset" o = Gtk.EventController.EventControllerResetMethodInfo
ResolveDropTargetAsyncMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveDropTargetAsyncMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveDropTargetAsyncMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveDropTargetAsyncMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveDropTargetAsyncMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveDropTargetAsyncMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveDropTargetAsyncMethod "getActions" o = DropTargetAsyncGetActionsMethodInfo
ResolveDropTargetAsyncMethod "getCurrentEvent" o = Gtk.EventController.EventControllerGetCurrentEventMethodInfo
ResolveDropTargetAsyncMethod "getCurrentEventDevice" o = Gtk.EventController.EventControllerGetCurrentEventDeviceMethodInfo
ResolveDropTargetAsyncMethod "getCurrentEventState" o = Gtk.EventController.EventControllerGetCurrentEventStateMethodInfo
ResolveDropTargetAsyncMethod "getCurrentEventTime" o = Gtk.EventController.EventControllerGetCurrentEventTimeMethodInfo
ResolveDropTargetAsyncMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveDropTargetAsyncMethod "getFormats" o = DropTargetAsyncGetFormatsMethodInfo
ResolveDropTargetAsyncMethod "getName" o = Gtk.EventController.EventControllerGetNameMethodInfo
ResolveDropTargetAsyncMethod "getPropagationLimit" o = Gtk.EventController.EventControllerGetPropagationLimitMethodInfo
ResolveDropTargetAsyncMethod "getPropagationPhase" o = Gtk.EventController.EventControllerGetPropagationPhaseMethodInfo
ResolveDropTargetAsyncMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveDropTargetAsyncMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveDropTargetAsyncMethod "getWidget" o = Gtk.EventController.EventControllerGetWidgetMethodInfo
ResolveDropTargetAsyncMethod "setActions" o = DropTargetAsyncSetActionsMethodInfo
ResolveDropTargetAsyncMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveDropTargetAsyncMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveDropTargetAsyncMethod "setFormats" o = DropTargetAsyncSetFormatsMethodInfo
ResolveDropTargetAsyncMethod "setName" o = Gtk.EventController.EventControllerSetNameMethodInfo
ResolveDropTargetAsyncMethod "setPropagationLimit" o = Gtk.EventController.EventControllerSetPropagationLimitMethodInfo
ResolveDropTargetAsyncMethod "setPropagationPhase" o = Gtk.EventController.EventControllerSetPropagationPhaseMethodInfo
ResolveDropTargetAsyncMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveDropTargetAsyncMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveDropTargetAsyncMethod t DropTargetAsync, O.OverloadedMethod info DropTargetAsync p) => OL.IsLabel t (DropTargetAsync -> 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 ~ ResolveDropTargetAsyncMethod t DropTargetAsync, O.OverloadedMethod info DropTargetAsync p, R.HasField t DropTargetAsync p) => R.HasField t DropTargetAsync p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveDropTargetAsyncMethod t DropTargetAsync, O.OverloadedMethodInfo info DropTargetAsync) => OL.IsLabel t (O.MethodProxy info DropTargetAsync) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
type DropTargetAsyncAcceptCallback =
Gdk.Drop.Drop
-> IO Bool
type C_DropTargetAsyncAcceptCallback =
Ptr DropTargetAsync ->
Ptr Gdk.Drop.Drop ->
Ptr () ->
IO CInt
foreign import ccall "wrapper"
mk_DropTargetAsyncAcceptCallback :: C_DropTargetAsyncAcceptCallback -> IO (FunPtr C_DropTargetAsyncAcceptCallback)
wrap_DropTargetAsyncAcceptCallback ::
GObject a => (a -> DropTargetAsyncAcceptCallback) ->
C_DropTargetAsyncAcceptCallback
wrap_DropTargetAsyncAcceptCallback :: forall a.
GObject a =>
(a -> DropTargetAsyncAcceptCallback)
-> C_DropTargetAsyncAcceptCallback
wrap_DropTargetAsyncAcceptCallback a -> DropTargetAsyncAcceptCallback
gi'cb Ptr DropTargetAsync
gi'selfPtr Ptr Drop
drop Ptr ()
_ = do
Drop
drop' <- ((ManagedPtr Drop -> Drop) -> Ptr Drop -> IO Drop
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Drop -> Drop
Gdk.Drop.Drop) Ptr Drop
drop
Bool
result <- Ptr DropTargetAsync -> (DropTargetAsync -> IO Bool) -> IO Bool
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr DropTargetAsync
gi'selfPtr ((DropTargetAsync -> IO Bool) -> IO Bool)
-> (DropTargetAsync -> IO Bool) -> IO Bool
forall a b. (a -> b) -> a -> b
$ \DropTargetAsync
gi'self -> a -> DropTargetAsyncAcceptCallback
gi'cb (DropTargetAsync -> a
Coerce.coerce DropTargetAsync
gi'self) Drop
drop'
let result' :: CInt
result' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
result
CInt -> IO CInt
forall (m :: * -> *) a. Monad m => a -> m a
return CInt
result'
onDropTargetAsyncAccept :: (IsDropTargetAsync a, MonadIO m) => a -> ((?self :: a) => DropTargetAsyncAcceptCallback) -> m SignalHandlerId
onDropTargetAsyncAccept :: forall a (m :: * -> *).
(IsDropTargetAsync a, MonadIO m) =>
a
-> ((?self::a) => DropTargetAsyncAcceptCallback)
-> m SignalHandlerId
onDropTargetAsyncAccept a
obj (?self::a) => DropTargetAsyncAcceptCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> DropTargetAsyncAcceptCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => DropTargetAsyncAcceptCallback
DropTargetAsyncAcceptCallback
cb
let wrapped' :: C_DropTargetAsyncAcceptCallback
wrapped' = (a -> DropTargetAsyncAcceptCallback)
-> C_DropTargetAsyncAcceptCallback
forall a.
GObject a =>
(a -> DropTargetAsyncAcceptCallback)
-> C_DropTargetAsyncAcceptCallback
wrap_DropTargetAsyncAcceptCallback a -> DropTargetAsyncAcceptCallback
wrapped
FunPtr C_DropTargetAsyncAcceptCallback
wrapped'' <- C_DropTargetAsyncAcceptCallback
-> IO (FunPtr C_DropTargetAsyncAcceptCallback)
mk_DropTargetAsyncAcceptCallback C_DropTargetAsyncAcceptCallback
wrapped'
a
-> Text
-> FunPtr C_DropTargetAsyncAcceptCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"accept" FunPtr C_DropTargetAsyncAcceptCallback
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterDropTargetAsyncAccept :: (IsDropTargetAsync a, MonadIO m) => a -> ((?self :: a) => DropTargetAsyncAcceptCallback) -> m SignalHandlerId
afterDropTargetAsyncAccept :: forall a (m :: * -> *).
(IsDropTargetAsync a, MonadIO m) =>
a
-> ((?self::a) => DropTargetAsyncAcceptCallback)
-> m SignalHandlerId
afterDropTargetAsyncAccept a
obj (?self::a) => DropTargetAsyncAcceptCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> DropTargetAsyncAcceptCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => DropTargetAsyncAcceptCallback
DropTargetAsyncAcceptCallback
cb
let wrapped' :: C_DropTargetAsyncAcceptCallback
wrapped' = (a -> DropTargetAsyncAcceptCallback)
-> C_DropTargetAsyncAcceptCallback
forall a.
GObject a =>
(a -> DropTargetAsyncAcceptCallback)
-> C_DropTargetAsyncAcceptCallback
wrap_DropTargetAsyncAcceptCallback a -> DropTargetAsyncAcceptCallback
wrapped
FunPtr C_DropTargetAsyncAcceptCallback
wrapped'' <- C_DropTargetAsyncAcceptCallback
-> IO (FunPtr C_DropTargetAsyncAcceptCallback)
mk_DropTargetAsyncAcceptCallback C_DropTargetAsyncAcceptCallback
wrapped'
a
-> Text
-> FunPtr C_DropTargetAsyncAcceptCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"accept" FunPtr C_DropTargetAsyncAcceptCallback
wrapped'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data DropTargetAsyncAcceptSignalInfo
instance SignalInfo DropTargetAsyncAcceptSignalInfo where
type HaskellCallbackType DropTargetAsyncAcceptSignalInfo = DropTargetAsyncAcceptCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_DropTargetAsyncAcceptCallback cb
cb'' <- mk_DropTargetAsyncAcceptCallback cb'
connectSignalFunPtr obj "accept" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Objects.DropTargetAsync::accept"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-4.0.5/docs/GI-Gtk-Objects-DropTargetAsync.html#g:signal:accept"})
#endif
type DropTargetAsyncDragEnterCallback =
Gdk.Drop.Drop
-> Double
-> Double
-> IO [Gdk.Flags.DragAction]
type C_DropTargetAsyncDragEnterCallback =
Ptr DropTargetAsync ->
Ptr Gdk.Drop.Drop ->
CDouble ->
CDouble ->
Ptr () ->
IO CUInt
foreign import ccall "wrapper"
mk_DropTargetAsyncDragEnterCallback :: C_DropTargetAsyncDragEnterCallback -> IO (FunPtr C_DropTargetAsyncDragEnterCallback)
wrap_DropTargetAsyncDragEnterCallback ::
GObject a => (a -> DropTargetAsyncDragEnterCallback) ->
C_DropTargetAsyncDragEnterCallback
wrap_DropTargetAsyncDragEnterCallback :: forall a.
GObject a =>
(a -> DropTargetAsyncDragEnterCallback)
-> C_DropTargetAsyncDragEnterCallback
wrap_DropTargetAsyncDragEnterCallback a -> DropTargetAsyncDragEnterCallback
gi'cb Ptr DropTargetAsync
gi'selfPtr Ptr Drop
drop CDouble
x CDouble
y Ptr ()
_ = do
Drop
drop' <- ((ManagedPtr Drop -> Drop) -> Ptr Drop -> IO Drop
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Drop -> Drop
Gdk.Drop.Drop) Ptr Drop
drop
let x' :: Double
x' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
x
let y' :: Double
y' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
y
[DragAction]
result <- Ptr DropTargetAsync
-> (DropTargetAsync -> IO [DragAction]) -> IO [DragAction]
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr DropTargetAsync
gi'selfPtr ((DropTargetAsync -> IO [DragAction]) -> IO [DragAction])
-> (DropTargetAsync -> IO [DragAction]) -> IO [DragAction]
forall a b. (a -> b) -> a -> b
$ \DropTargetAsync
gi'self -> a -> DropTargetAsyncDragEnterCallback
gi'cb (DropTargetAsync -> a
Coerce.coerce DropTargetAsync
gi'self) Drop
drop' Double
x' Double
y'
let result' :: CUInt
result' = [DragAction] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [DragAction]
result
CUInt -> IO CUInt
forall (m :: * -> *) a. Monad m => a -> m a
return CUInt
result'
onDropTargetAsyncDragEnter :: (IsDropTargetAsync a, MonadIO m) => a -> ((?self :: a) => DropTargetAsyncDragEnterCallback) -> m SignalHandlerId
onDropTargetAsyncDragEnter :: forall a (m :: * -> *).
(IsDropTargetAsync a, MonadIO m) =>
a
-> ((?self::a) => DropTargetAsyncDragEnterCallback)
-> m SignalHandlerId
onDropTargetAsyncDragEnter a
obj (?self::a) => DropTargetAsyncDragEnterCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> DropTargetAsyncDragEnterCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => DropTargetAsyncDragEnterCallback
DropTargetAsyncDragEnterCallback
cb
let wrapped' :: C_DropTargetAsyncDragEnterCallback
wrapped' = (a -> DropTargetAsyncDragEnterCallback)
-> C_DropTargetAsyncDragEnterCallback
forall a.
GObject a =>
(a -> DropTargetAsyncDragEnterCallback)
-> C_DropTargetAsyncDragEnterCallback
wrap_DropTargetAsyncDragEnterCallback a -> DropTargetAsyncDragEnterCallback
wrapped
FunPtr C_DropTargetAsyncDragEnterCallback
wrapped'' <- C_DropTargetAsyncDragEnterCallback
-> IO (FunPtr C_DropTargetAsyncDragEnterCallback)
mk_DropTargetAsyncDragEnterCallback C_DropTargetAsyncDragEnterCallback
wrapped'
a
-> Text
-> FunPtr C_DropTargetAsyncDragEnterCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"drag-enter" FunPtr C_DropTargetAsyncDragEnterCallback
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterDropTargetAsyncDragEnter :: (IsDropTargetAsync a, MonadIO m) => a -> ((?self :: a) => DropTargetAsyncDragEnterCallback) -> m SignalHandlerId
afterDropTargetAsyncDragEnter :: forall a (m :: * -> *).
(IsDropTargetAsync a, MonadIO m) =>
a
-> ((?self::a) => DropTargetAsyncDragEnterCallback)
-> m SignalHandlerId
afterDropTargetAsyncDragEnter a
obj (?self::a) => DropTargetAsyncDragEnterCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> DropTargetAsyncDragEnterCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => DropTargetAsyncDragEnterCallback
DropTargetAsyncDragEnterCallback
cb
let wrapped' :: C_DropTargetAsyncDragEnterCallback
wrapped' = (a -> DropTargetAsyncDragEnterCallback)
-> C_DropTargetAsyncDragEnterCallback
forall a.
GObject a =>
(a -> DropTargetAsyncDragEnterCallback)
-> C_DropTargetAsyncDragEnterCallback
wrap_DropTargetAsyncDragEnterCallback a -> DropTargetAsyncDragEnterCallback
wrapped
FunPtr C_DropTargetAsyncDragEnterCallback
wrapped'' <- C_DropTargetAsyncDragEnterCallback
-> IO (FunPtr C_DropTargetAsyncDragEnterCallback)
mk_DropTargetAsyncDragEnterCallback C_DropTargetAsyncDragEnterCallback
wrapped'
a
-> Text
-> FunPtr C_DropTargetAsyncDragEnterCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"drag-enter" FunPtr C_DropTargetAsyncDragEnterCallback
wrapped'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data DropTargetAsyncDragEnterSignalInfo
instance SignalInfo DropTargetAsyncDragEnterSignalInfo where
type HaskellCallbackType DropTargetAsyncDragEnterSignalInfo = DropTargetAsyncDragEnterCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_DropTargetAsyncDragEnterCallback cb
cb'' <- mk_DropTargetAsyncDragEnterCallback cb'
connectSignalFunPtr obj "drag-enter" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Objects.DropTargetAsync::drag-enter"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-4.0.5/docs/GI-Gtk-Objects-DropTargetAsync.html#g:signal:dragEnter"})
#endif
type DropTargetAsyncDragLeaveCallback =
Gdk.Drop.Drop
-> IO ()
type C_DropTargetAsyncDragLeaveCallback =
Ptr DropTargetAsync ->
Ptr Gdk.Drop.Drop ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_DropTargetAsyncDragLeaveCallback :: C_DropTargetAsyncDragLeaveCallback -> IO (FunPtr C_DropTargetAsyncDragLeaveCallback)
wrap_DropTargetAsyncDragLeaveCallback ::
GObject a => (a -> DropTargetAsyncDragLeaveCallback) ->
C_DropTargetAsyncDragLeaveCallback
wrap_DropTargetAsyncDragLeaveCallback :: forall a.
GObject a =>
(a -> DropTargetAsyncDragLeaveCallback)
-> C_DropTargetAsyncDragLeaveCallback
wrap_DropTargetAsyncDragLeaveCallback a -> DropTargetAsyncDragLeaveCallback
gi'cb Ptr DropTargetAsync
gi'selfPtr Ptr Drop
drop Ptr ()
_ = do
Drop
drop' <- ((ManagedPtr Drop -> Drop) -> Ptr Drop -> IO Drop
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Drop -> Drop
Gdk.Drop.Drop) Ptr Drop
drop
Ptr DropTargetAsync -> (DropTargetAsync -> IO ()) -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr DropTargetAsync
gi'selfPtr ((DropTargetAsync -> IO ()) -> IO ())
-> (DropTargetAsync -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \DropTargetAsync
gi'self -> a -> DropTargetAsyncDragLeaveCallback
gi'cb (DropTargetAsync -> a
Coerce.coerce DropTargetAsync
gi'self) Drop
drop'
onDropTargetAsyncDragLeave :: (IsDropTargetAsync a, MonadIO m) => a -> ((?self :: a) => DropTargetAsyncDragLeaveCallback) -> m SignalHandlerId
onDropTargetAsyncDragLeave :: forall a (m :: * -> *).
(IsDropTargetAsync a, MonadIO m) =>
a
-> ((?self::a) => DropTargetAsyncDragLeaveCallback)
-> m SignalHandlerId
onDropTargetAsyncDragLeave a
obj (?self::a) => DropTargetAsyncDragLeaveCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> DropTargetAsyncDragLeaveCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => DropTargetAsyncDragLeaveCallback
DropTargetAsyncDragLeaveCallback
cb
let wrapped' :: C_DropTargetAsyncDragLeaveCallback
wrapped' = (a -> DropTargetAsyncDragLeaveCallback)
-> C_DropTargetAsyncDragLeaveCallback
forall a.
GObject a =>
(a -> DropTargetAsyncDragLeaveCallback)
-> C_DropTargetAsyncDragLeaveCallback
wrap_DropTargetAsyncDragLeaveCallback a -> DropTargetAsyncDragLeaveCallback
wrapped
FunPtr C_DropTargetAsyncDragLeaveCallback
wrapped'' <- C_DropTargetAsyncDragLeaveCallback
-> IO (FunPtr C_DropTargetAsyncDragLeaveCallback)
mk_DropTargetAsyncDragLeaveCallback C_DropTargetAsyncDragLeaveCallback
wrapped'
a
-> Text
-> FunPtr C_DropTargetAsyncDragLeaveCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"drag-leave" FunPtr C_DropTargetAsyncDragLeaveCallback
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterDropTargetAsyncDragLeave :: (IsDropTargetAsync a, MonadIO m) => a -> ((?self :: a) => DropTargetAsyncDragLeaveCallback) -> m SignalHandlerId
afterDropTargetAsyncDragLeave :: forall a (m :: * -> *).
(IsDropTargetAsync a, MonadIO m) =>
a
-> ((?self::a) => DropTargetAsyncDragLeaveCallback)
-> m SignalHandlerId
afterDropTargetAsyncDragLeave a
obj (?self::a) => DropTargetAsyncDragLeaveCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> DropTargetAsyncDragLeaveCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => DropTargetAsyncDragLeaveCallback
DropTargetAsyncDragLeaveCallback
cb
let wrapped' :: C_DropTargetAsyncDragLeaveCallback
wrapped' = (a -> DropTargetAsyncDragLeaveCallback)
-> C_DropTargetAsyncDragLeaveCallback
forall a.
GObject a =>
(a -> DropTargetAsyncDragLeaveCallback)
-> C_DropTargetAsyncDragLeaveCallback
wrap_DropTargetAsyncDragLeaveCallback a -> DropTargetAsyncDragLeaveCallback
wrapped
FunPtr C_DropTargetAsyncDragLeaveCallback
wrapped'' <- C_DropTargetAsyncDragLeaveCallback
-> IO (FunPtr C_DropTargetAsyncDragLeaveCallback)
mk_DropTargetAsyncDragLeaveCallback C_DropTargetAsyncDragLeaveCallback
wrapped'
a
-> Text
-> FunPtr C_DropTargetAsyncDragLeaveCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"drag-leave" FunPtr C_DropTargetAsyncDragLeaveCallback
wrapped'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data DropTargetAsyncDragLeaveSignalInfo
instance SignalInfo DropTargetAsyncDragLeaveSignalInfo where
type HaskellCallbackType DropTargetAsyncDragLeaveSignalInfo = DropTargetAsyncDragLeaveCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_DropTargetAsyncDragLeaveCallback cb
cb'' <- mk_DropTargetAsyncDragLeaveCallback cb'
connectSignalFunPtr obj "drag-leave" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Objects.DropTargetAsync::drag-leave"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-4.0.5/docs/GI-Gtk-Objects-DropTargetAsync.html#g:signal:dragLeave"})
#endif
type DropTargetAsyncDragMotionCallback =
Gdk.Drop.Drop
-> Double
-> Double
-> IO [Gdk.Flags.DragAction]
type C_DropTargetAsyncDragMotionCallback =
Ptr DropTargetAsync ->
Ptr Gdk.Drop.Drop ->
CDouble ->
CDouble ->
Ptr () ->
IO CUInt
foreign import ccall "wrapper"
mk_DropTargetAsyncDragMotionCallback :: C_DropTargetAsyncDragMotionCallback -> IO (FunPtr C_DropTargetAsyncDragMotionCallback)
wrap_DropTargetAsyncDragMotionCallback ::
GObject a => (a -> DropTargetAsyncDragMotionCallback) ->
C_DropTargetAsyncDragMotionCallback
wrap_DropTargetAsyncDragMotionCallback :: forall a.
GObject a =>
(a -> DropTargetAsyncDragEnterCallback)
-> C_DropTargetAsyncDragEnterCallback
wrap_DropTargetAsyncDragMotionCallback a -> DropTargetAsyncDragEnterCallback
gi'cb Ptr DropTargetAsync
gi'selfPtr Ptr Drop
drop CDouble
x CDouble
y Ptr ()
_ = do
Drop
drop' <- ((ManagedPtr Drop -> Drop) -> Ptr Drop -> IO Drop
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Drop -> Drop
Gdk.Drop.Drop) Ptr Drop
drop
let x' :: Double
x' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
x
let y' :: Double
y' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
y
[DragAction]
result <- Ptr DropTargetAsync
-> (DropTargetAsync -> IO [DragAction]) -> IO [DragAction]
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr DropTargetAsync
gi'selfPtr ((DropTargetAsync -> IO [DragAction]) -> IO [DragAction])
-> (DropTargetAsync -> IO [DragAction]) -> IO [DragAction]
forall a b. (a -> b) -> a -> b
$ \DropTargetAsync
gi'self -> a -> DropTargetAsyncDragEnterCallback
gi'cb (DropTargetAsync -> a
Coerce.coerce DropTargetAsync
gi'self) Drop
drop' Double
x' Double
y'
let result' :: CUInt
result' = [DragAction] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [DragAction]
result
CUInt -> IO CUInt
forall (m :: * -> *) a. Monad m => a -> m a
return CUInt
result'
onDropTargetAsyncDragMotion :: (IsDropTargetAsync a, MonadIO m) => a -> ((?self :: a) => DropTargetAsyncDragMotionCallback) -> m SignalHandlerId
onDropTargetAsyncDragMotion :: forall a (m :: * -> *).
(IsDropTargetAsync a, MonadIO m) =>
a
-> ((?self::a) => DropTargetAsyncDragEnterCallback)
-> m SignalHandlerId
onDropTargetAsyncDragMotion a
obj (?self::a) => DropTargetAsyncDragEnterCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> DropTargetAsyncDragEnterCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => DropTargetAsyncDragEnterCallback
DropTargetAsyncDragEnterCallback
cb
let wrapped' :: C_DropTargetAsyncDragEnterCallback
wrapped' = (a -> DropTargetAsyncDragEnterCallback)
-> C_DropTargetAsyncDragEnterCallback
forall a.
GObject a =>
(a -> DropTargetAsyncDragEnterCallback)
-> C_DropTargetAsyncDragEnterCallback
wrap_DropTargetAsyncDragMotionCallback a -> DropTargetAsyncDragEnterCallback
wrapped
FunPtr C_DropTargetAsyncDragEnterCallback
wrapped'' <- C_DropTargetAsyncDragEnterCallback
-> IO (FunPtr C_DropTargetAsyncDragEnterCallback)
mk_DropTargetAsyncDragMotionCallback C_DropTargetAsyncDragEnterCallback
wrapped'
a
-> Text
-> FunPtr C_DropTargetAsyncDragEnterCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"drag-motion" FunPtr C_DropTargetAsyncDragEnterCallback
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterDropTargetAsyncDragMotion :: (IsDropTargetAsync a, MonadIO m) => a -> ((?self :: a) => DropTargetAsyncDragMotionCallback) -> m SignalHandlerId
afterDropTargetAsyncDragMotion :: forall a (m :: * -> *).
(IsDropTargetAsync a, MonadIO m) =>
a
-> ((?self::a) => DropTargetAsyncDragEnterCallback)
-> m SignalHandlerId
afterDropTargetAsyncDragMotion a
obj (?self::a) => DropTargetAsyncDragEnterCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> DropTargetAsyncDragEnterCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => DropTargetAsyncDragEnterCallback
DropTargetAsyncDragEnterCallback
cb
let wrapped' :: C_DropTargetAsyncDragEnterCallback
wrapped' = (a -> DropTargetAsyncDragEnterCallback)
-> C_DropTargetAsyncDragEnterCallback
forall a.
GObject a =>
(a -> DropTargetAsyncDragEnterCallback)
-> C_DropTargetAsyncDragEnterCallback
wrap_DropTargetAsyncDragMotionCallback a -> DropTargetAsyncDragEnterCallback
wrapped
FunPtr C_DropTargetAsyncDragEnterCallback
wrapped'' <- C_DropTargetAsyncDragEnterCallback
-> IO (FunPtr C_DropTargetAsyncDragEnterCallback)
mk_DropTargetAsyncDragMotionCallback C_DropTargetAsyncDragEnterCallback
wrapped'
a
-> Text
-> FunPtr C_DropTargetAsyncDragEnterCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"drag-motion" FunPtr C_DropTargetAsyncDragEnterCallback
wrapped'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data DropTargetAsyncDragMotionSignalInfo
instance SignalInfo DropTargetAsyncDragMotionSignalInfo where
type HaskellCallbackType DropTargetAsyncDragMotionSignalInfo = DropTargetAsyncDragMotionCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_DropTargetAsyncDragMotionCallback cb
cb'' <- mk_DropTargetAsyncDragMotionCallback cb'
connectSignalFunPtr obj "drag-motion" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Objects.DropTargetAsync::drag-motion"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-4.0.5/docs/GI-Gtk-Objects-DropTargetAsync.html#g:signal:dragMotion"})
#endif
type DropTargetAsyncDropCallback =
Gdk.Drop.Drop
-> Double
-> Double
-> IO Bool
type C_DropTargetAsyncDropCallback =
Ptr DropTargetAsync ->
Ptr Gdk.Drop.Drop ->
CDouble ->
CDouble ->
Ptr () ->
IO CInt
foreign import ccall "wrapper"
mk_DropTargetAsyncDropCallback :: C_DropTargetAsyncDropCallback -> IO (FunPtr C_DropTargetAsyncDropCallback)
wrap_DropTargetAsyncDropCallback ::
GObject a => (a -> DropTargetAsyncDropCallback) ->
C_DropTargetAsyncDropCallback
wrap_DropTargetAsyncDropCallback :: forall a.
GObject a =>
(a -> DropTargetAsyncDropCallback) -> C_DropTargetAsyncDropCallback
wrap_DropTargetAsyncDropCallback a -> DropTargetAsyncDropCallback
gi'cb Ptr DropTargetAsync
gi'selfPtr Ptr Drop
drop CDouble
x CDouble
y Ptr ()
_ = do
Drop
drop' <- ((ManagedPtr Drop -> Drop) -> Ptr Drop -> IO Drop
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Drop -> Drop
Gdk.Drop.Drop) Ptr Drop
drop
let x' :: Double
x' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
x
let y' :: Double
y' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
y
Bool
result <- Ptr DropTargetAsync -> (DropTargetAsync -> IO Bool) -> IO Bool
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr DropTargetAsync
gi'selfPtr ((DropTargetAsync -> IO Bool) -> IO Bool)
-> (DropTargetAsync -> IO Bool) -> IO Bool
forall a b. (a -> b) -> a -> b
$ \DropTargetAsync
gi'self -> a -> DropTargetAsyncDropCallback
gi'cb (DropTargetAsync -> a
Coerce.coerce DropTargetAsync
gi'self) Drop
drop' Double
x' Double
y'
let result' :: CInt
result' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
result
CInt -> IO CInt
forall (m :: * -> *) a. Monad m => a -> m a
return CInt
result'
onDropTargetAsyncDrop :: (IsDropTargetAsync a, MonadIO m) => a -> ((?self :: a) => DropTargetAsyncDropCallback) -> m SignalHandlerId
onDropTargetAsyncDrop :: forall a (m :: * -> *).
(IsDropTargetAsync a, MonadIO m) =>
a
-> ((?self::a) => DropTargetAsyncDropCallback) -> m SignalHandlerId
onDropTargetAsyncDrop a
obj (?self::a) => DropTargetAsyncDropCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> DropTargetAsyncDropCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => DropTargetAsyncDropCallback
DropTargetAsyncDropCallback
cb
let wrapped' :: C_DropTargetAsyncDropCallback
wrapped' = (a -> DropTargetAsyncDropCallback) -> C_DropTargetAsyncDropCallback
forall a.
GObject a =>
(a -> DropTargetAsyncDropCallback) -> C_DropTargetAsyncDropCallback
wrap_DropTargetAsyncDropCallback a -> DropTargetAsyncDropCallback
wrapped
FunPtr C_DropTargetAsyncDropCallback
wrapped'' <- C_DropTargetAsyncDropCallback
-> IO (FunPtr C_DropTargetAsyncDropCallback)
mk_DropTargetAsyncDropCallback C_DropTargetAsyncDropCallback
wrapped'
a
-> Text
-> FunPtr C_DropTargetAsyncDropCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"drop" FunPtr C_DropTargetAsyncDropCallback
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterDropTargetAsyncDrop :: (IsDropTargetAsync a, MonadIO m) => a -> ((?self :: a) => DropTargetAsyncDropCallback) -> m SignalHandlerId
afterDropTargetAsyncDrop :: forall a (m :: * -> *).
(IsDropTargetAsync a, MonadIO m) =>
a
-> ((?self::a) => DropTargetAsyncDropCallback) -> m SignalHandlerId
afterDropTargetAsyncDrop a
obj (?self::a) => DropTargetAsyncDropCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> DropTargetAsyncDropCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => DropTargetAsyncDropCallback
DropTargetAsyncDropCallback
cb
let wrapped' :: C_DropTargetAsyncDropCallback
wrapped' = (a -> DropTargetAsyncDropCallback) -> C_DropTargetAsyncDropCallback
forall a.
GObject a =>
(a -> DropTargetAsyncDropCallback) -> C_DropTargetAsyncDropCallback
wrap_DropTargetAsyncDropCallback a -> DropTargetAsyncDropCallback
wrapped
FunPtr C_DropTargetAsyncDropCallback
wrapped'' <- C_DropTargetAsyncDropCallback
-> IO (FunPtr C_DropTargetAsyncDropCallback)
mk_DropTargetAsyncDropCallback C_DropTargetAsyncDropCallback
wrapped'
a
-> Text
-> FunPtr C_DropTargetAsyncDropCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"drop" FunPtr C_DropTargetAsyncDropCallback
wrapped'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data DropTargetAsyncDropSignalInfo
instance SignalInfo DropTargetAsyncDropSignalInfo where
type HaskellCallbackType DropTargetAsyncDropSignalInfo = DropTargetAsyncDropCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_DropTargetAsyncDropCallback cb
cb'' <- mk_DropTargetAsyncDropCallback cb'
connectSignalFunPtr obj "drop" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Objects.DropTargetAsync::drop"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-4.0.5/docs/GI-Gtk-Objects-DropTargetAsync.html#g:signal:drop"})
#endif
getDropTargetAsyncActions :: (MonadIO m, IsDropTargetAsync o) => o -> m [Gdk.Flags.DragAction]
getDropTargetAsyncActions :: forall (m :: * -> *) o.
(MonadIO m, IsDropTargetAsync o) =>
o -> m [DragAction]
getDropTargetAsyncActions o
obj = IO [DragAction] -> m [DragAction]
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO [DragAction] -> m [DragAction])
-> IO [DragAction] -> m [DragAction]
forall a b. (a -> b) -> a -> b
$ o -> String -> IO [DragAction]
forall a b.
(GObject a, IsGFlag b, BoxedFlags b) =>
a -> String -> IO [b]
B.Properties.getObjectPropertyFlags o
obj String
"actions"
setDropTargetAsyncActions :: (MonadIO m, IsDropTargetAsync o) => o -> [Gdk.Flags.DragAction] -> m ()
setDropTargetAsyncActions :: forall (m :: * -> *) o.
(MonadIO m, IsDropTargetAsync o) =>
o -> [DragAction] -> m ()
setDropTargetAsyncActions o
obj [DragAction]
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
o -> String -> [DragAction] -> IO ()
forall a b.
(IsGFlag b, BoxedFlags b, GObject a) =>
a -> String -> [b] -> IO ()
B.Properties.setObjectPropertyFlags o
obj String
"actions" [DragAction]
val
constructDropTargetAsyncActions :: (IsDropTargetAsync o, MIO.MonadIO m) => [Gdk.Flags.DragAction] -> m (GValueConstruct o)
constructDropTargetAsyncActions :: forall o (m :: * -> *).
(IsDropTargetAsync o, MonadIO m) =>
[DragAction] -> m (GValueConstruct o)
constructDropTargetAsyncActions [DragAction]
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> [DragAction] -> IO (GValueConstruct o)
forall a o.
(IsGFlag a, BoxedFlags a) =>
String -> [a] -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyFlags String
"actions" [DragAction]
val
#if defined(ENABLE_OVERLOADING)
data DropTargetAsyncActionsPropertyInfo
instance AttrInfo DropTargetAsyncActionsPropertyInfo where
type AttrAllowedOps DropTargetAsyncActionsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint DropTargetAsyncActionsPropertyInfo = IsDropTargetAsync
type AttrSetTypeConstraint DropTargetAsyncActionsPropertyInfo = (~) [Gdk.Flags.DragAction]
type AttrTransferTypeConstraint DropTargetAsyncActionsPropertyInfo = (~) [Gdk.Flags.DragAction]
type AttrTransferType DropTargetAsyncActionsPropertyInfo = [Gdk.Flags.DragAction]
type AttrGetType DropTargetAsyncActionsPropertyInfo = [Gdk.Flags.DragAction]
type AttrLabel DropTargetAsyncActionsPropertyInfo = "actions"
type AttrOrigin DropTargetAsyncActionsPropertyInfo = DropTargetAsync
attrGet = getDropTargetAsyncActions
attrSet = setDropTargetAsyncActions
attrTransfer _ v = do
return v
attrConstruct = constructDropTargetAsyncActions
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Objects.DropTargetAsync.actions"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-4.0.5/docs/GI-Gtk-Objects-DropTargetAsync.html#g:attr:actions"
})
#endif
getDropTargetAsyncFormats :: (MonadIO m, IsDropTargetAsync o) => o -> m (Maybe Gdk.ContentFormats.ContentFormats)
getDropTargetAsyncFormats :: forall (m :: * -> *) o.
(MonadIO m, IsDropTargetAsync o) =>
o -> m (Maybe ContentFormats)
getDropTargetAsyncFormats o
obj = IO (Maybe ContentFormats) -> m (Maybe ContentFormats)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe ContentFormats) -> m (Maybe ContentFormats))
-> IO (Maybe ContentFormats) -> m (Maybe ContentFormats)
forall a b. (a -> b) -> a -> b
$ o
-> String
-> (ManagedPtr ContentFormats -> ContentFormats)
-> IO (Maybe ContentFormats)
forall a b.
(GObject a, GBoxed b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyBoxed o
obj String
"formats" ManagedPtr ContentFormats -> ContentFormats
Gdk.ContentFormats.ContentFormats
setDropTargetAsyncFormats :: (MonadIO m, IsDropTargetAsync o) => o -> Gdk.ContentFormats.ContentFormats -> m ()
setDropTargetAsyncFormats :: forall (m :: * -> *) o.
(MonadIO m, IsDropTargetAsync o) =>
o -> ContentFormats -> m ()
setDropTargetAsyncFormats o
obj ContentFormats
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
o -> String -> Maybe ContentFormats -> IO ()
forall a b.
(GObject a, GBoxed b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyBoxed o
obj String
"formats" (ContentFormats -> Maybe ContentFormats
forall a. a -> Maybe a
Just ContentFormats
val)
constructDropTargetAsyncFormats :: (IsDropTargetAsync o, MIO.MonadIO m) => Gdk.ContentFormats.ContentFormats -> m (GValueConstruct o)
constructDropTargetAsyncFormats :: forall o (m :: * -> *).
(IsDropTargetAsync o, MonadIO m) =>
ContentFormats -> m (GValueConstruct o)
constructDropTargetAsyncFormats ContentFormats
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe ContentFormats -> IO (GValueConstruct o)
forall a o. GBoxed a => String -> Maybe a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBoxed String
"formats" (ContentFormats -> Maybe ContentFormats
forall a. a -> Maybe a
P.Just ContentFormats
val)
clearDropTargetAsyncFormats :: (MonadIO m, IsDropTargetAsync o) => o -> m ()
clearDropTargetAsyncFormats :: forall (m :: * -> *) o.
(MonadIO m, IsDropTargetAsync o) =>
o -> m ()
clearDropTargetAsyncFormats o
obj = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe ContentFormats -> IO ()
forall a b.
(GObject a, GBoxed b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyBoxed o
obj String
"formats" (Maybe ContentFormats
forall a. Maybe a
Nothing :: Maybe Gdk.ContentFormats.ContentFormats)
#if defined(ENABLE_OVERLOADING)
data DropTargetAsyncFormatsPropertyInfo
instance AttrInfo DropTargetAsyncFormatsPropertyInfo where
type AttrAllowedOps DropTargetAsyncFormatsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint DropTargetAsyncFormatsPropertyInfo = IsDropTargetAsync
type AttrSetTypeConstraint DropTargetAsyncFormatsPropertyInfo = (~) Gdk.ContentFormats.ContentFormats
type AttrTransferTypeConstraint DropTargetAsyncFormatsPropertyInfo = (~) Gdk.ContentFormats.ContentFormats
type AttrTransferType DropTargetAsyncFormatsPropertyInfo = Gdk.ContentFormats.ContentFormats
type AttrGetType DropTargetAsyncFormatsPropertyInfo = (Maybe Gdk.ContentFormats.ContentFormats)
type AttrLabel DropTargetAsyncFormatsPropertyInfo = "formats"
type AttrOrigin DropTargetAsyncFormatsPropertyInfo = DropTargetAsync
attrGet = getDropTargetAsyncFormats
attrSet = setDropTargetAsyncFormats
attrTransfer _ v = do
return v
attrConstruct = constructDropTargetAsyncFormats
attrClear = clearDropTargetAsyncFormats
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Objects.DropTargetAsync.formats"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-4.0.5/docs/GI-Gtk-Objects-DropTargetAsync.html#g:attr:formats"
})
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList DropTargetAsync
type instance O.AttributeList DropTargetAsync = DropTargetAsyncAttributeList
type DropTargetAsyncAttributeList = ('[ '("actions", DropTargetAsyncActionsPropertyInfo), '("formats", DropTargetAsyncFormatsPropertyInfo), '("name", Gtk.EventController.EventControllerNamePropertyInfo), '("propagationLimit", Gtk.EventController.EventControllerPropagationLimitPropertyInfo), '("propagationPhase", Gtk.EventController.EventControllerPropagationPhasePropertyInfo), '("widget", Gtk.EventController.EventControllerWidgetPropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
dropTargetAsyncActions :: AttrLabelProxy "actions"
dropTargetAsyncActions = AttrLabelProxy
dropTargetAsyncFormats :: AttrLabelProxy "formats"
dropTargetAsyncFormats = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList DropTargetAsync = DropTargetAsyncSignalList
type DropTargetAsyncSignalList = ('[ '("accept", DropTargetAsyncAcceptSignalInfo), '("dragEnter", DropTargetAsyncDragEnterSignalInfo), '("dragLeave", DropTargetAsyncDragLeaveSignalInfo), '("dragMotion", DropTargetAsyncDragMotionSignalInfo), '("drop", DropTargetAsyncDropSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gtk_drop_target_async_new" gtk_drop_target_async_new ::
Ptr Gdk.ContentFormats.ContentFormats ->
CUInt ->
IO (Ptr DropTargetAsync)
dropTargetAsyncNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
Maybe (Gdk.ContentFormats.ContentFormats)
-> [Gdk.Flags.DragAction]
-> m DropTargetAsync
dropTargetAsyncNew :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Maybe ContentFormats -> [DragAction] -> m DropTargetAsync
dropTargetAsyncNew Maybe ContentFormats
formats [DragAction]
actions = IO DropTargetAsync -> m DropTargetAsync
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO DropTargetAsync -> m DropTargetAsync)
-> IO DropTargetAsync -> m DropTargetAsync
forall a b. (a -> b) -> a -> b
$ do
Ptr ContentFormats
maybeFormats <- case Maybe ContentFormats
formats of
Maybe ContentFormats
Nothing -> Ptr ContentFormats -> IO (Ptr ContentFormats)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr ContentFormats
forall a. Ptr a
nullPtr
Just ContentFormats
jFormats -> do
Ptr ContentFormats
jFormats' <- ContentFormats -> IO (Ptr ContentFormats)
forall a. (HasCallStack, GBoxed a) => a -> IO (Ptr a)
B.ManagedPtr.disownBoxed ContentFormats
jFormats
Ptr ContentFormats -> IO (Ptr ContentFormats)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr ContentFormats
jFormats'
let actions' :: CUInt
actions' = [DragAction] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [DragAction]
actions
Ptr DropTargetAsync
result <- Ptr ContentFormats -> CUInt -> IO (Ptr DropTargetAsync)
gtk_drop_target_async_new Ptr ContentFormats
maybeFormats CUInt
actions'
Text -> Ptr DropTargetAsync -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dropTargetAsyncNew" Ptr DropTargetAsync
result
DropTargetAsync
result' <- ((ManagedPtr DropTargetAsync -> DropTargetAsync)
-> Ptr DropTargetAsync -> IO DropTargetAsync
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr DropTargetAsync -> DropTargetAsync
DropTargetAsync) Ptr DropTargetAsync
result
Maybe ContentFormats -> (ContentFormats -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe ContentFormats
formats ContentFormats -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
DropTargetAsync -> IO DropTargetAsync
forall (m :: * -> *) a. Monad m => a -> m a
return DropTargetAsync
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gtk_drop_target_async_get_actions" gtk_drop_target_async_get_actions ::
Ptr DropTargetAsync ->
IO CUInt
dropTargetAsyncGetActions ::
(B.CallStack.HasCallStack, MonadIO m, IsDropTargetAsync a) =>
a
-> m [Gdk.Flags.DragAction]
dropTargetAsyncGetActions :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDropTargetAsync a) =>
a -> m [DragAction]
dropTargetAsyncGetActions a
self = IO [DragAction] -> m [DragAction]
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [DragAction] -> m [DragAction])
-> IO [DragAction] -> m [DragAction]
forall a b. (a -> b) -> a -> b
$ do
Ptr DropTargetAsync
self' <- a -> IO (Ptr DropTargetAsync)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
CUInt
result <- Ptr DropTargetAsync -> IO CUInt
gtk_drop_target_async_get_actions Ptr DropTargetAsync
self'
let result' :: [DragAction]
result' = CUInt -> [DragAction]
forall a b. (Storable a, Integral a, Bits a, IsGFlag b) => a -> [b]
wordToGFlags CUInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
[DragAction] -> IO [DragAction]
forall (m :: * -> *) a. Monad m => a -> m a
return [DragAction]
result'
#if defined(ENABLE_OVERLOADING)
data DropTargetAsyncGetActionsMethodInfo
instance (signature ~ (m [Gdk.Flags.DragAction]), MonadIO m, IsDropTargetAsync a) => O.OverloadedMethod DropTargetAsyncGetActionsMethodInfo a signature where
overloadedMethod = dropTargetAsyncGetActions
instance O.OverloadedMethodInfo DropTargetAsyncGetActionsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Objects.DropTargetAsync.dropTargetAsyncGetActions",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-4.0.5/docs/GI-Gtk-Objects-DropTargetAsync.html#v:dropTargetAsyncGetActions"
})
#endif
foreign import ccall "gtk_drop_target_async_get_formats" gtk_drop_target_async_get_formats ::
Ptr DropTargetAsync ->
IO (Ptr Gdk.ContentFormats.ContentFormats)
dropTargetAsyncGetFormats ::
(B.CallStack.HasCallStack, MonadIO m, IsDropTargetAsync a) =>
a
-> m (Maybe Gdk.ContentFormats.ContentFormats)
dropTargetAsyncGetFormats :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDropTargetAsync a) =>
a -> m (Maybe ContentFormats)
dropTargetAsyncGetFormats a
self = IO (Maybe ContentFormats) -> m (Maybe ContentFormats)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe ContentFormats) -> m (Maybe ContentFormats))
-> IO (Maybe ContentFormats) -> m (Maybe ContentFormats)
forall a b. (a -> b) -> a -> b
$ do
Ptr DropTargetAsync
self' <- a -> IO (Ptr DropTargetAsync)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
Ptr ContentFormats
result <- Ptr DropTargetAsync -> IO (Ptr ContentFormats)
gtk_drop_target_async_get_formats Ptr DropTargetAsync
self'
Maybe ContentFormats
maybeResult <- Ptr ContentFormats
-> (Ptr ContentFormats -> IO ContentFormats)
-> IO (Maybe ContentFormats)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr ContentFormats
result ((Ptr ContentFormats -> IO ContentFormats)
-> IO (Maybe ContentFormats))
-> (Ptr ContentFormats -> IO ContentFormats)
-> IO (Maybe ContentFormats)
forall a b. (a -> b) -> a -> b
$ \Ptr ContentFormats
result' -> do
ContentFormats
result'' <- ((ManagedPtr ContentFormats -> ContentFormats)
-> Ptr ContentFormats -> IO ContentFormats
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr ContentFormats -> ContentFormats
Gdk.ContentFormats.ContentFormats) Ptr ContentFormats
result'
ContentFormats -> IO ContentFormats
forall (m :: * -> *) a. Monad m => a -> m a
return ContentFormats
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
Maybe ContentFormats -> IO (Maybe ContentFormats)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe ContentFormats
maybeResult
#if defined(ENABLE_OVERLOADING)
data DropTargetAsyncGetFormatsMethodInfo
instance (signature ~ (m (Maybe Gdk.ContentFormats.ContentFormats)), MonadIO m, IsDropTargetAsync a) => O.OverloadedMethod DropTargetAsyncGetFormatsMethodInfo a signature where
overloadedMethod = dropTargetAsyncGetFormats
instance O.OverloadedMethodInfo DropTargetAsyncGetFormatsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Objects.DropTargetAsync.dropTargetAsyncGetFormats",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-4.0.5/docs/GI-Gtk-Objects-DropTargetAsync.html#v:dropTargetAsyncGetFormats"
})
#endif
foreign import ccall "gtk_drop_target_async_reject_drop" gtk_drop_target_async_reject_drop ::
Ptr DropTargetAsync ->
Ptr Gdk.Drop.Drop ->
IO ()
dropTargetAsyncRejectDrop ::
(B.CallStack.HasCallStack, MonadIO m, IsDropTargetAsync a, Gdk.Drop.IsDrop b) =>
a
-> b
-> m ()
dropTargetAsyncRejectDrop :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsDropTargetAsync a, IsDrop b) =>
a -> b -> m ()
dropTargetAsyncRejectDrop a
self b
drop = 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 DropTargetAsync
self' <- a -> IO (Ptr DropTargetAsync)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
Ptr Drop
drop' <- b -> IO (Ptr Drop)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
drop
Ptr DropTargetAsync -> Ptr Drop -> IO ()
gtk_drop_target_async_reject_drop Ptr DropTargetAsync
self' Ptr Drop
drop'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
drop
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data DropTargetAsyncRejectDropMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsDropTargetAsync a, Gdk.Drop.IsDrop b) => O.OverloadedMethod DropTargetAsyncRejectDropMethodInfo a signature where
overloadedMethod = dropTargetAsyncRejectDrop
instance O.OverloadedMethodInfo DropTargetAsyncRejectDropMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Objects.DropTargetAsync.dropTargetAsyncRejectDrop",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-4.0.5/docs/GI-Gtk-Objects-DropTargetAsync.html#v:dropTargetAsyncRejectDrop"
})
#endif
foreign import ccall "gtk_drop_target_async_set_actions" gtk_drop_target_async_set_actions ::
Ptr DropTargetAsync ->
CUInt ->
IO ()
dropTargetAsyncSetActions ::
(B.CallStack.HasCallStack, MonadIO m, IsDropTargetAsync a) =>
a
-> [Gdk.Flags.DragAction]
-> m ()
dropTargetAsyncSetActions :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDropTargetAsync a) =>
a -> [DragAction] -> m ()
dropTargetAsyncSetActions a
self [DragAction]
actions = 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 DropTargetAsync
self' <- a -> IO (Ptr DropTargetAsync)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
let actions' :: CUInt
actions' = [DragAction] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [DragAction]
actions
Ptr DropTargetAsync -> CUInt -> IO ()
gtk_drop_target_async_set_actions Ptr DropTargetAsync
self' CUInt
actions'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data DropTargetAsyncSetActionsMethodInfo
instance (signature ~ ([Gdk.Flags.DragAction] -> m ()), MonadIO m, IsDropTargetAsync a) => O.OverloadedMethod DropTargetAsyncSetActionsMethodInfo a signature where
overloadedMethod = dropTargetAsyncSetActions
instance O.OverloadedMethodInfo DropTargetAsyncSetActionsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Objects.DropTargetAsync.dropTargetAsyncSetActions",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-4.0.5/docs/GI-Gtk-Objects-DropTargetAsync.html#v:dropTargetAsyncSetActions"
})
#endif
foreign import ccall "gtk_drop_target_async_set_formats" gtk_drop_target_async_set_formats ::
Ptr DropTargetAsync ->
Ptr Gdk.ContentFormats.ContentFormats ->
IO ()
dropTargetAsyncSetFormats ::
(B.CallStack.HasCallStack, MonadIO m, IsDropTargetAsync a) =>
a
-> Maybe (Gdk.ContentFormats.ContentFormats)
-> m ()
dropTargetAsyncSetFormats :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDropTargetAsync a) =>
a -> Maybe ContentFormats -> m ()
dropTargetAsyncSetFormats a
self Maybe ContentFormats
formats = 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 DropTargetAsync
self' <- a -> IO (Ptr DropTargetAsync)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
Ptr ContentFormats
maybeFormats <- case Maybe ContentFormats
formats of
Maybe ContentFormats
Nothing -> Ptr ContentFormats -> IO (Ptr ContentFormats)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr ContentFormats
forall a. Ptr a
nullPtr
Just ContentFormats
jFormats -> do
Ptr ContentFormats
jFormats' <- ContentFormats -> IO (Ptr ContentFormats)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr ContentFormats
jFormats
Ptr ContentFormats -> IO (Ptr ContentFormats)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr ContentFormats
jFormats'
Ptr DropTargetAsync -> Ptr ContentFormats -> IO ()
gtk_drop_target_async_set_formats Ptr DropTargetAsync
self' Ptr ContentFormats
maybeFormats
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
Maybe ContentFormats -> (ContentFormats -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe ContentFormats
formats ContentFormats -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data DropTargetAsyncSetFormatsMethodInfo
instance (signature ~ (Maybe (Gdk.ContentFormats.ContentFormats) -> m ()), MonadIO m, IsDropTargetAsync a) => O.OverloadedMethod DropTargetAsyncSetFormatsMethodInfo a signature where
overloadedMethod = dropTargetAsyncSetFormats
instance O.OverloadedMethodInfo DropTargetAsyncSetFormatsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Objects.DropTargetAsync.dropTargetAsyncSetFormats",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-4.0.5/docs/GI-Gtk-Objects-DropTargetAsync.html#v:dropTargetAsyncSetFormats"
})
#endif