Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
GtkDropTargetAsync is an auxiliary object that can be used to receive
Drag-and-Drop operations.
It is the more complete but also more complex method of handling drop
operations compared to DropTarget
and you should only use it if
DropTarget
doesn't provide all the features you need.
To use a DropTargetAsync
to receive drops on a widget, you create
a DropTargetAsync
object, configure which data formats and actions
you support, connect to its signals, and then attach
it to the widget with widgetAddController
.
During a drag operation, the first signal that a GtkDropTargetAsync emits is accept, which is meant to determine whether the target is a possible drop site for the ongoing drop. The default handler for the accept signal accepts the drop if it finds a compatible data format and an action that is supported on both sides.
If it is, and the widget becomes a target, you will receive a dragEnter signal, followed by dragMotion signals as the pointer moves, optionally a drop signal when a drop happens, and finally a dragLeave signal when the pointer moves off the widget.
The dragEnter and dragMotion handler return a DragAction
to update the status of the ongoing operation. The drop handler
should decide if it ultimately accepts the drop and if it does, it
should initiate the data transfer and finish the operation by calling
dropFinish
.
Between the dragEnter and dragLeave signals the widget is a
current drop target, and will receive the StateFlagsDropActive
state, which can be used by themes to style the widget as a drop target.
Synopsis
- newtype DropTargetAsync = DropTargetAsync (ManagedPtr DropTargetAsync)
- class (GObject o, IsDescendantOf DropTargetAsync o) => IsDropTargetAsync o
- toDropTargetAsync :: (MonadIO m, IsDropTargetAsync o) => o -> m DropTargetAsync
- dropTargetAsyncGetActions :: (HasCallStack, MonadIO m, IsDropTargetAsync a) => a -> m [DragAction]
- dropTargetAsyncGetFormats :: (HasCallStack, MonadIO m, IsDropTargetAsync a) => a -> m (Maybe ContentFormats)
- dropTargetAsyncNew :: (HasCallStack, MonadIO m) => Maybe ContentFormats -> [DragAction] -> m DropTargetAsync
- dropTargetAsyncRejectDrop :: (HasCallStack, MonadIO m, IsDropTargetAsync a, IsDrop b) => a -> b -> m ()
- dropTargetAsyncSetActions :: (HasCallStack, MonadIO m, IsDropTargetAsync a) => a -> [DragAction] -> m ()
- dropTargetAsyncSetFormats :: (HasCallStack, MonadIO m, IsDropTargetAsync a) => a -> Maybe ContentFormats -> m ()
- constructDropTargetAsyncActions :: (IsDropTargetAsync o, MonadIO m) => [DragAction] -> m (GValueConstruct o)
- getDropTargetAsyncActions :: (MonadIO m, IsDropTargetAsync o) => o -> m [DragAction]
- setDropTargetAsyncActions :: (MonadIO m, IsDropTargetAsync o) => o -> [DragAction] -> m ()
- clearDropTargetAsyncFormats :: (MonadIO m, IsDropTargetAsync o) => o -> m ()
- constructDropTargetAsyncFormats :: (IsDropTargetAsync o, MonadIO m) => ContentFormats -> m (GValueConstruct o)
- getDropTargetAsyncFormats :: (MonadIO m, IsDropTargetAsync o) => o -> m (Maybe ContentFormats)
- setDropTargetAsyncFormats :: (MonadIO m, IsDropTargetAsync o) => o -> ContentFormats -> m ()
- type C_DropTargetAsyncAcceptCallback = Ptr () -> Ptr Drop -> Ptr () -> IO CInt
- type DropTargetAsyncAcceptCallback = Drop -> IO Bool
- afterDropTargetAsyncAccept :: (IsDropTargetAsync a, MonadIO m) => a -> DropTargetAsyncAcceptCallback -> m SignalHandlerId
- genClosure_DropTargetAsyncAccept :: MonadIO m => DropTargetAsyncAcceptCallback -> m (GClosure C_DropTargetAsyncAcceptCallback)
- mk_DropTargetAsyncAcceptCallback :: C_DropTargetAsyncAcceptCallback -> IO (FunPtr C_DropTargetAsyncAcceptCallback)
- noDropTargetAsyncAcceptCallback :: Maybe DropTargetAsyncAcceptCallback
- onDropTargetAsyncAccept :: (IsDropTargetAsync a, MonadIO m) => a -> DropTargetAsyncAcceptCallback -> m SignalHandlerId
- wrap_DropTargetAsyncAcceptCallback :: DropTargetAsyncAcceptCallback -> C_DropTargetAsyncAcceptCallback
- type C_DropTargetAsyncDragEnterCallback = Ptr () -> Ptr Drop -> CDouble -> CDouble -> Ptr () -> IO CUInt
- type DropTargetAsyncDragEnterCallback = Drop -> Double -> Double -> IO [DragAction]
- afterDropTargetAsyncDragEnter :: (IsDropTargetAsync a, MonadIO m) => a -> DropTargetAsyncDragEnterCallback -> m SignalHandlerId
- genClosure_DropTargetAsyncDragEnter :: MonadIO m => DropTargetAsyncDragEnterCallback -> m (GClosure C_DropTargetAsyncDragEnterCallback)
- mk_DropTargetAsyncDragEnterCallback :: C_DropTargetAsyncDragEnterCallback -> IO (FunPtr C_DropTargetAsyncDragEnterCallback)
- noDropTargetAsyncDragEnterCallback :: Maybe DropTargetAsyncDragEnterCallback
- onDropTargetAsyncDragEnter :: (IsDropTargetAsync a, MonadIO m) => a -> DropTargetAsyncDragEnterCallback -> m SignalHandlerId
- wrap_DropTargetAsyncDragEnterCallback :: DropTargetAsyncDragEnterCallback -> C_DropTargetAsyncDragEnterCallback
- type C_DropTargetAsyncDragLeaveCallback = Ptr () -> Ptr Drop -> Ptr () -> IO ()
- type DropTargetAsyncDragLeaveCallback = Drop -> IO ()
- afterDropTargetAsyncDragLeave :: (IsDropTargetAsync a, MonadIO m) => a -> DropTargetAsyncDragLeaveCallback -> m SignalHandlerId
- genClosure_DropTargetAsyncDragLeave :: MonadIO m => DropTargetAsyncDragLeaveCallback -> m (GClosure C_DropTargetAsyncDragLeaveCallback)
- mk_DropTargetAsyncDragLeaveCallback :: C_DropTargetAsyncDragLeaveCallback -> IO (FunPtr C_DropTargetAsyncDragLeaveCallback)
- noDropTargetAsyncDragLeaveCallback :: Maybe DropTargetAsyncDragLeaveCallback
- onDropTargetAsyncDragLeave :: (IsDropTargetAsync a, MonadIO m) => a -> DropTargetAsyncDragLeaveCallback -> m SignalHandlerId
- wrap_DropTargetAsyncDragLeaveCallback :: DropTargetAsyncDragLeaveCallback -> C_DropTargetAsyncDragLeaveCallback
- type C_DropTargetAsyncDragMotionCallback = Ptr () -> Ptr Drop -> CDouble -> CDouble -> Ptr () -> IO CUInt
- type DropTargetAsyncDragMotionCallback = Drop -> Double -> Double -> IO [DragAction]
- afterDropTargetAsyncDragMotion :: (IsDropTargetAsync a, MonadIO m) => a -> DropTargetAsyncDragMotionCallback -> m SignalHandlerId
- genClosure_DropTargetAsyncDragMotion :: MonadIO m => DropTargetAsyncDragMotionCallback -> m (GClosure C_DropTargetAsyncDragMotionCallback)
- mk_DropTargetAsyncDragMotionCallback :: C_DropTargetAsyncDragMotionCallback -> IO (FunPtr C_DropTargetAsyncDragMotionCallback)
- noDropTargetAsyncDragMotionCallback :: Maybe DropTargetAsyncDragMotionCallback
- onDropTargetAsyncDragMotion :: (IsDropTargetAsync a, MonadIO m) => a -> DropTargetAsyncDragMotionCallback -> m SignalHandlerId
- wrap_DropTargetAsyncDragMotionCallback :: DropTargetAsyncDragMotionCallback -> C_DropTargetAsyncDragMotionCallback
- type C_DropTargetAsyncDropCallback = Ptr () -> Ptr Drop -> CDouble -> CDouble -> Ptr () -> IO CInt
- type DropTargetAsyncDropCallback = Drop -> Double -> Double -> IO Bool
- afterDropTargetAsyncDrop :: (IsDropTargetAsync a, MonadIO m) => a -> DropTargetAsyncDropCallback -> m SignalHandlerId
- genClosure_DropTargetAsyncDrop :: MonadIO m => DropTargetAsyncDropCallback -> m (GClosure C_DropTargetAsyncDropCallback)
- mk_DropTargetAsyncDropCallback :: C_DropTargetAsyncDropCallback -> IO (FunPtr C_DropTargetAsyncDropCallback)
- noDropTargetAsyncDropCallback :: Maybe DropTargetAsyncDropCallback
- onDropTargetAsyncDrop :: (IsDropTargetAsync a, MonadIO m) => a -> DropTargetAsyncDropCallback -> m SignalHandlerId
- wrap_DropTargetAsyncDropCallback :: DropTargetAsyncDropCallback -> C_DropTargetAsyncDropCallback
Exported types
newtype DropTargetAsync Source #
Memory-managed wrapper type.
DropTargetAsync (ManagedPtr DropTargetAsync) |
Instances
Eq DropTargetAsync Source # | |
Defined in GI.Gtk.Objects.DropTargetAsync (==) :: DropTargetAsync -> DropTargetAsync -> Bool # (/=) :: DropTargetAsync -> DropTargetAsync -> Bool # | |
GObject DropTargetAsync Source # | |
Defined in GI.Gtk.Objects.DropTargetAsync | |
ManagedPtrNewtype DropTargetAsync Source # | |
Defined in GI.Gtk.Objects.DropTargetAsync toManagedPtr :: DropTargetAsync -> ManagedPtr DropTargetAsync | |
TypedObject DropTargetAsync Source # | |
Defined in GI.Gtk.Objects.DropTargetAsync | |
HasParentTypes DropTargetAsync Source # | |
Defined in GI.Gtk.Objects.DropTargetAsync | |
IsGValue (Maybe DropTargetAsync) Source # | Convert |
Defined in GI.Gtk.Objects.DropTargetAsync gvalueGType_ :: IO GType gvalueSet_ :: Ptr GValue -> Maybe DropTargetAsync -> IO () gvalueGet_ :: Ptr GValue -> IO (Maybe DropTargetAsync) | |
type ParentTypes DropTargetAsync Source # | |
Defined in GI.Gtk.Objects.DropTargetAsync |
class (GObject o, IsDescendantOf DropTargetAsync o) => IsDropTargetAsync o Source #
Type class for types which can be safely cast to DropTargetAsync
, for instance with toDropTargetAsync
.
Instances
(GObject o, IsDescendantOf DropTargetAsync o) => IsDropTargetAsync o Source # | |
Defined in GI.Gtk.Objects.DropTargetAsync |
toDropTargetAsync :: (MonadIO m, IsDropTargetAsync o) => o -> m DropTargetAsync Source #
Cast to DropTargetAsync
, for types for which this is known to be safe. For general casts, use castTo
.
Methods
Click to display all available methods, including inherited ones
Methods
bindProperty, bindPropertyFull, forceFloating, freezeNotify, getv, isFloating, notify, notifyByPspec, ref, refSink, rejectDrop, reset, runDispose, stealData, stealQdata, thawNotify, unref, watchClosure.
Getters
getActions, getCurrentEvent, getCurrentEventDevice, getCurrentEventState, getCurrentEventTime, getData, getFormats, getName, getPropagationLimit, getPropagationPhase, getProperty, getQdata, getWidget.
Setters
setActions, setData, setDataFull, setFormats, setName, setPropagationLimit, setPropagationPhase, setProperty.
getActions
dropTargetAsyncGetActions Source #
:: (HasCallStack, MonadIO m, IsDropTargetAsync a) | |
=> a |
|
-> m [DragAction] | Returns: the actions that this drop target supports |
Gets the actions that this drop target supports.
getFormats
dropTargetAsyncGetFormats Source #
:: (HasCallStack, MonadIO m, IsDropTargetAsync a) | |
=> a |
|
-> m (Maybe ContentFormats) | Returns: the supported data formats |
Gets the data formats that this drop target accepts.
If the result is Nothing
, all formats are expected to be supported.
new
:: (HasCallStack, MonadIO m) | |
=> Maybe ContentFormats |
|
-> [DragAction] |
|
-> m DropTargetAsync | Returns: the new |
Creates a new DropTargetAsync
object.
rejectDrop
dropTargetAsyncRejectDrop Source #
:: (HasCallStack, MonadIO m, IsDropTargetAsync a, IsDrop b) | |
=> a |
|
-> b |
|
-> m () |
Sets the drop
as not accepted on this drag site.
This function should be used when delaying the decision on whether to accept a drag or not until after reading the data.
setActions
dropTargetAsyncSetActions Source #
:: (HasCallStack, MonadIO m, IsDropTargetAsync a) | |
=> a |
|
-> [DragAction] |
|
-> m () |
Sets the actions that this drop target supports.
setFormats
dropTargetAsyncSetFormats Source #
:: (HasCallStack, MonadIO m, IsDropTargetAsync a) | |
=> a |
|
-> Maybe ContentFormats |
|
-> m () |
Sets the data formats that this drop target will accept.
Properties
actions
The GdkDragActions
that this drop target supports
constructDropTargetAsyncActions :: (IsDropTargetAsync o, MonadIO m) => [DragAction] -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “actions
” property. This is rarely needed directly, but it is used by new
.
getDropTargetAsyncActions :: (MonadIO m, IsDropTargetAsync o) => o -> m [DragAction] Source #
Get the value of the “actions
” property.
When overloading is enabled, this is equivalent to
get
dropTargetAsync #actions
setDropTargetAsyncActions :: (MonadIO m, IsDropTargetAsync o) => o -> [DragAction] -> m () Source #
Set the value of the “actions
” property.
When overloading is enabled, this is equivalent to
set
dropTargetAsync [ #actions:=
value ]
formats
The ContentFormats
that determines the supported data formats
clearDropTargetAsyncFormats :: (MonadIO m, IsDropTargetAsync o) => o -> m () Source #
Set the value of the “formats
” property to Nothing
.
When overloading is enabled, this is equivalent to
clear
#formats
constructDropTargetAsyncFormats :: (IsDropTargetAsync o, MonadIO m) => ContentFormats -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “formats
” property. This is rarely needed directly, but it is used by new
.
getDropTargetAsyncFormats :: (MonadIO m, IsDropTargetAsync o) => o -> m (Maybe ContentFormats) Source #
Get the value of the “formats
” property.
When overloading is enabled, this is equivalent to
get
dropTargetAsync #formats
setDropTargetAsyncFormats :: (MonadIO m, IsDropTargetAsync o) => o -> ContentFormats -> m () Source #
Set the value of the “formats
” property.
When overloading is enabled, this is equivalent to
set
dropTargetAsync [ #formats:=
value ]
Signals
accept
type C_DropTargetAsyncAcceptCallback = Ptr () -> Ptr Drop -> Ptr () -> IO CInt Source #
Type for the callback on the (unwrapped) C side.
type DropTargetAsyncAcceptCallback Source #
The accept signal is emitted on the drop site when a drop operation is about to begin.
If the drop is not accepted, False
will be returned and the drop target
will ignore the drop. If True
is returned, the drop is accepted for now
but may be rejected later via a call to gtk_drop_target_async_reject()
or
ultimately by returning False
from drop.
The default handler for this signal decides whether to accept the drop
based on the formats provided by the drop
.
If the decision whether the drop will be accepted or rejected needs
further processing, such as inspecting the data, this function should
return True
and proceed as is drop
was accepted and if it decides to
reject the drop later, it should call dropTargetAsyncRejectDrop
.
afterDropTargetAsyncAccept :: (IsDropTargetAsync a, MonadIO m) => a -> DropTargetAsyncAcceptCallback -> m SignalHandlerId Source #
Connect a signal handler for the accept signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after
dropTargetAsync #accept callback
genClosure_DropTargetAsyncAccept :: MonadIO m => DropTargetAsyncAcceptCallback -> m (GClosure C_DropTargetAsyncAcceptCallback) Source #
Wrap the callback into a GClosure
.
mk_DropTargetAsyncAcceptCallback :: C_DropTargetAsyncAcceptCallback -> IO (FunPtr C_DropTargetAsyncAcceptCallback) Source #
Generate a function pointer callable from C code, from a C_DropTargetAsyncAcceptCallback
.
noDropTargetAsyncAcceptCallback :: Maybe DropTargetAsyncAcceptCallback Source #
A convenience synonym for
.Nothing
:: Maybe
DropTargetAsyncAcceptCallback
onDropTargetAsyncAccept :: (IsDropTargetAsync a, MonadIO m) => a -> DropTargetAsyncAcceptCallback -> m SignalHandlerId Source #
Connect a signal handler for the accept signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on
dropTargetAsync #accept callback
wrap_DropTargetAsyncAcceptCallback :: DropTargetAsyncAcceptCallback -> C_DropTargetAsyncAcceptCallback Source #
Wrap a DropTargetAsyncAcceptCallback
into a C_DropTargetAsyncAcceptCallback
.
dragEnter
type C_DropTargetAsyncDragEnterCallback = Ptr () -> Ptr Drop -> CDouble -> CDouble -> Ptr () -> IO CUInt Source #
Type for the callback on the (unwrapped) C side.
type DropTargetAsyncDragEnterCallback Source #
= Drop |
|
-> Double |
|
-> Double |
|
-> IO [DragAction] | Returns: Preferred action for this drag operation. |
The dragEnter signal is emitted on the drop site when the pointer enters the widget. It can be used to set up custom highlighting.
afterDropTargetAsyncDragEnter :: (IsDropTargetAsync a, MonadIO m) => a -> DropTargetAsyncDragEnterCallback -> m SignalHandlerId Source #
Connect a signal handler for the dragEnter signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after
dropTargetAsync #dragEnter callback
genClosure_DropTargetAsyncDragEnter :: MonadIO m => DropTargetAsyncDragEnterCallback -> m (GClosure C_DropTargetAsyncDragEnterCallback) Source #
Wrap the callback into a GClosure
.
mk_DropTargetAsyncDragEnterCallback :: C_DropTargetAsyncDragEnterCallback -> IO (FunPtr C_DropTargetAsyncDragEnterCallback) Source #
Generate a function pointer callable from C code, from a C_DropTargetAsyncDragEnterCallback
.
noDropTargetAsyncDragEnterCallback :: Maybe DropTargetAsyncDragEnterCallback Source #
A convenience synonym for
.Nothing
:: Maybe
DropTargetAsyncDragEnterCallback
onDropTargetAsyncDragEnter :: (IsDropTargetAsync a, MonadIO m) => a -> DropTargetAsyncDragEnterCallback -> m SignalHandlerId Source #
Connect a signal handler for the dragEnter signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on
dropTargetAsync #dragEnter callback
wrap_DropTargetAsyncDragEnterCallback :: DropTargetAsyncDragEnterCallback -> C_DropTargetAsyncDragEnterCallback Source #
dragLeave
type C_DropTargetAsyncDragLeaveCallback = Ptr () -> Ptr Drop -> Ptr () -> IO () Source #
Type for the callback on the (unwrapped) C side.
afterDropTargetAsyncDragLeave :: (IsDropTargetAsync a, MonadIO m) => a -> DropTargetAsyncDragLeaveCallback -> m SignalHandlerId Source #
Connect a signal handler for the dragLeave signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after
dropTargetAsync #dragLeave callback
genClosure_DropTargetAsyncDragLeave :: MonadIO m => DropTargetAsyncDragLeaveCallback -> m (GClosure C_DropTargetAsyncDragLeaveCallback) Source #
Wrap the callback into a GClosure
.
mk_DropTargetAsyncDragLeaveCallback :: C_DropTargetAsyncDragLeaveCallback -> IO (FunPtr C_DropTargetAsyncDragLeaveCallback) Source #
Generate a function pointer callable from C code, from a C_DropTargetAsyncDragLeaveCallback
.
noDropTargetAsyncDragLeaveCallback :: Maybe DropTargetAsyncDragLeaveCallback Source #
A convenience synonym for
.Nothing
:: Maybe
DropTargetAsyncDragLeaveCallback
onDropTargetAsyncDragLeave :: (IsDropTargetAsync a, MonadIO m) => a -> DropTargetAsyncDragLeaveCallback -> m SignalHandlerId Source #
Connect a signal handler for the dragLeave signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on
dropTargetAsync #dragLeave callback
wrap_DropTargetAsyncDragLeaveCallback :: DropTargetAsyncDragLeaveCallback -> C_DropTargetAsyncDragLeaveCallback Source #
dragMotion
type C_DropTargetAsyncDragMotionCallback = Ptr () -> Ptr Drop -> CDouble -> CDouble -> Ptr () -> IO CUInt Source #
Type for the callback on the (unwrapped) C side.
type DropTargetAsyncDragMotionCallback Source #
= Drop |
|
-> Double |
|
-> Double |
|
-> IO [DragAction] | Returns: Preferred action for this drag operation. |
The dragMotion signal is emitted while the pointer is moving over the drop target.
afterDropTargetAsyncDragMotion :: (IsDropTargetAsync a, MonadIO m) => a -> DropTargetAsyncDragMotionCallback -> m SignalHandlerId Source #
Connect a signal handler for the dragMotion signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after
dropTargetAsync #dragMotion callback
genClosure_DropTargetAsyncDragMotion :: MonadIO m => DropTargetAsyncDragMotionCallback -> m (GClosure C_DropTargetAsyncDragMotionCallback) Source #
Wrap the callback into a GClosure
.
mk_DropTargetAsyncDragMotionCallback :: C_DropTargetAsyncDragMotionCallback -> IO (FunPtr C_DropTargetAsyncDragMotionCallback) Source #
Generate a function pointer callable from C code, from a C_DropTargetAsyncDragMotionCallback
.
noDropTargetAsyncDragMotionCallback :: Maybe DropTargetAsyncDragMotionCallback Source #
A convenience synonym for
.Nothing
:: Maybe
DropTargetAsyncDragMotionCallback
onDropTargetAsyncDragMotion :: (IsDropTargetAsync a, MonadIO m) => a -> DropTargetAsyncDragMotionCallback -> m SignalHandlerId Source #
Connect a signal handler for the dragMotion signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on
dropTargetAsync #dragMotion callback
wrap_DropTargetAsyncDragMotionCallback :: DropTargetAsyncDragMotionCallback -> C_DropTargetAsyncDragMotionCallback Source #
drop
type C_DropTargetAsyncDropCallback = Ptr () -> Ptr Drop -> CDouble -> CDouble -> Ptr () -> IO CInt Source #
Type for the callback on the (unwrapped) C side.
type DropTargetAsyncDropCallback Source #
= Drop |
|
-> Double |
|
-> Double |
|
-> IO Bool | Returns: whether the drop is accepted at the given pointer position |
The drop signal is emitted on the drop site when the user drops
the data onto the widget. The signal handler must determine whether
the pointer position is in a drop zone or not. If it is not in a drop
zone, it returns False
and no further processing is necessary.
Otherwise, the handler returns True
. In this case, this handler will
accept the drop. The handler must ensure that dropFinish
is
called to let the source know that the drop is done. The call to
dropFinish
must only be done when all data has been received.
To receive the data, use one of the read functions provides by Drop
such as dropReadAsync
or dropReadValueAsync
.
afterDropTargetAsyncDrop :: (IsDropTargetAsync a, MonadIO m) => a -> DropTargetAsyncDropCallback -> m SignalHandlerId Source #
Connect a signal handler for the drop signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after
dropTargetAsync #drop callback
genClosure_DropTargetAsyncDrop :: MonadIO m => DropTargetAsyncDropCallback -> m (GClosure C_DropTargetAsyncDropCallback) Source #
Wrap the callback into a GClosure
.
mk_DropTargetAsyncDropCallback :: C_DropTargetAsyncDropCallback -> IO (FunPtr C_DropTargetAsyncDropCallback) Source #
Generate a function pointer callable from C code, from a C_DropTargetAsyncDropCallback
.
noDropTargetAsyncDropCallback :: Maybe DropTargetAsyncDropCallback Source #
A convenience synonym for
.Nothing
:: Maybe
DropTargetAsyncDropCallback
onDropTargetAsyncDrop :: (IsDropTargetAsync a, MonadIO m) => a -> DropTargetAsyncDropCallback -> m SignalHandlerId Source #
Connect a signal handler for the drop signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on
dropTargetAsync #drop callback