Interface

Gtk-4.0GtkDropTargetAsyncSignalSignatures

interface SignalSignatures {
    accept: (arg0: Gdk.Drop) => boolean | void;
    "drag-enter": (
        arg0: Gdk.Drop,
        arg1: number,
        arg2: number,
    ) => Gdk.DragAction;
    "drag-leave": (arg0: Gdk.Drop) => void;
    "drag-motion": (
        arg0: Gdk.Drop,
        arg1: number,
        arg2: number,
    ) => Gdk.DragAction;
    drop: (arg0: Gdk.Drop, arg1: number, arg2: number) => boolean | void;
    notify: (arg0: GObject.ParamSpec) => void;
    "notify::actions": (pspec: GObject.ParamSpec) => void;
    "notify::formats": (pspec: GObject.ParamSpec) => void;
    "notify::name": (pspec: GObject.ParamSpec) => void;
    "notify::propagation-limit": (pspec: GObject.ParamSpec) => void;
    "notify::propagation-phase": (pspec: GObject.ParamSpec) => void;
    "notify::widget": (pspec: GObject.ParamSpec) => void;
}

Hierarchy (View Summary)

Index

Properties

accept: (arg0: Gdk.Drop) => boolean | void

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.DropTargetAsync.reject_drop or ultimately by returning false from a Gtk.DropTargetAsync::drop handler.

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 Gtk.DropTargetAsync.reject_drop.

"drag-enter": (arg0: Gdk.Drop, arg1: number, arg2: number) => Gdk.DragAction

Emitted on the drop site when the pointer enters the widget.

It can be used to set up custom highlighting.

"drag-leave": (arg0: Gdk.Drop) => void

Emitted on the drop site when the pointer leaves the widget.

Its main purpose it to undo things done in Gtk.DropTargetAsync::drag-enter.

"drag-motion": (arg0: Gdk.Drop, arg1: number, arg2: number) => Gdk.DragAction

Emitted while the pointer is moving over the drop target.

drop: (arg0: Gdk.Drop, arg1: number, arg2: number) => boolean | void

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 Gdk.Drop.finish is called to let the source know that the drop is done. The call to Gdk.Drop.finish must only be done when all data has been received.

To receive the data, use one of the read functions provided by Gdk.Drop such as Gdk.Drop.read_async or Gdk.Drop.read_value_async.

"notify::actions": (pspec: GObject.ParamSpec) => void
"notify::formats": (pspec: GObject.ParamSpec) => void
"notify::name": (pspec: GObject.ParamSpec) => void
"notify::propagation-limit": (pspec: GObject.ParamSpec) => void
"notify::propagation-phase": (pspec: GObject.ParamSpec) => void
"notify::widget": (pspec: GObject.ParamSpec) => void

Properties - Inherited from Gtk.EventController.SignalSignatures

notify: (arg0: GObject.ParamSpec) => void

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

Note that getting this signal doesn’t itself guarantee that the value of the property has actually changed. When it is emitted is determined by the derived GObject class. If the implementor did not create the property with GObject.ParamFlags.EXPLICIT_NOTIFY, then any call to g_object_set_property() results in ::notify being emitted, even if the new value is the same as the old. If they did pass GObject.ParamFlags.EXPLICIT_NOTIFY, then this signal is emitted only when they explicitly call g_object_notify() or g_object_notify_by_pspec(), and common practice is to do that only when the value has actually changed.

This signal is typically used to obtain change notification for a single property, by specifying the property name as a detail in the g_signal_connect() call, like this:

g_signal_connect (text_view->buffer, "notify::paste-target-list",
G_CALLBACK (gtk_text_view_target_list_notify),
text_view)

It is important to note that you must use [canonical parameter names][class@GObject.ParamSpec#parameter-names] as detail strings for the notify signal.