Skip to main content

Interface: GtkDropTargetProps

Defined in: packages/react/src/generated/jsx.ts:9903

Props for the GtkDropTarget controller element.

Extends

Properties

actions?

optional actions: DragAction

Defined in: packages/react/src/generated/jsx.ts:9905

The GdkDragActions that this drop target supports.


children?

optional children: ReactNode

Defined in: packages/react/src/generated/jsx.ts:9842

Inherited from

EventControllerBaseProps.children


formats?

optional formats: ContentFormats

Defined in: packages/react/src/generated/jsx.ts:9907

The GdkContentFormats that determine the supported data formats.


name?

optional name: string | null

Defined in: packages/react/src/generated/jsx.ts:9809

The name for this controller, typically used for debugging purposes.

Inherited from

EventControllerBaseProps.name


onAccept()?

optional onAccept: (drop, self) => boolean | null

Defined in: packages/react/src/generated/jsx.ts:9947

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 DropTarget.reject or ultimately by returning %FALSE from a DropTarget.: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 depends on the data, this function should return %TRUE, the DropTarget.preload property should be set and the value should be inspected via the ::notify:value signal, calling DropTarget.reject if required.

Parameters

ParameterType
dropDrop
selfDropTarget

Returns

boolean | null


onDrop()?

optional onDrop: (value, x, y, self) => boolean | null

Defined in: packages/react/src/generated/jsx.ts:9959

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 is responsible for using the given value and performing the drop operation.

Parameters

ParameterType
valueValue
xnumber
ynumber
selfDropTarget

Returns

boolean | null


onEnter()?

optional onEnter: (x, y, self) => DragAction | null

Defined in: packages/react/src/generated/jsx.ts:9965

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

It can be used to set up custom highlighting.

Parameters

ParameterType
xnumber
ynumber
selfDropTarget

Returns

DragAction | null


onLeave()?

optional onLeave: (self) => void | null

Defined in: packages/react/src/generated/jsx.ts:9972

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

Its main purpose it to undo things done in DropTarget.:enter.

Parameters

ParameterType
selfDropTarget

Returns

void | null


onMotion()?

optional onMotion: (x, y, self) => DragAction | null

Defined in: packages/react/src/generated/jsx.ts:9974

Emitted while the pointer is moving over the drop target.

Parameters

ParameterType
xnumber
ynumber
selfDropTarget

Returns

DragAction | null


onNotify()?

optional onNotify: (pspec, self) => void | null

Defined in: packages/react/src/generated/jsx.ts:9841

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 %G_PARAM_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 %G_PARAM_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]GObjectParamSpec#parameter-names as detail strings for the notify signal.

Parameters

ParameterType
pspecParamSpec
selfEventController

Returns

void | null

Inherited from

EventControllerBaseProps.onNotify


preload?

optional preload: boolean

Defined in: packages/react/src/generated/jsx.ts:9928

Whether the drop data should be preloaded when the pointer is only hovering over the widget but has not been released.

Setting this property allows finer grained reaction to an ongoing drop at the cost of loading more data.

The default value for this property is %FALSE to avoid downloading huge amounts of data by accident.

For example, if somebody drags a full document of gigabytes of text from a text editor across a widget with a preloading drop target, this data will be downloaded, even if the data is ultimately dropped elsewhere.

For a lot of data formats, the amount of data is very small (like %GDK_TYPE_RGBA), so enabling this property does not hurt at all. And for local-only Drag-and-Drop operations, no data transfer is done, so enabling it there is free.


propagationLimit?

optional propagationLimit: PropagationLimit

Defined in: packages/react/src/generated/jsx.ts:9811

The limit for which events this controller will handle.

Inherited from

EventControllerBaseProps.propagationLimit


propagationPhase?

optional propagationPhase: PropagationPhase

Defined in: packages/react/src/generated/jsx.ts:9813

The propagation phase at which this controller will handle events.

Inherited from

EventControllerBaseProps.propagationPhase


ref?

optional ref: Ref<DropTarget>

Defined in: packages/react/src/generated/jsx.ts:9975


types?

optional types: number[]

Defined in: packages/react/src/jsx.ts:1350

GType values for accepted drop content types