Struct gtk4::DragSource
source · pub struct DragSource { /* private fields */ }
Expand description
DragSource
is an event controller to initiate Drag-And-Drop operations.
DragSource
can be set up with the necessary
ingredients for a DND operation ahead of time. This includes
the source for the data that is being transferred, in the form
of a gdk::ContentProvider
, the desired action, and the icon to
use during the drag operation. After setting it up, the drag
source must be added to a widget as an event controller, using
WidgetExt::add_controller()
.
⚠️ The following code is in c ⚠️
static void
my_widget_init (MyWidget *self)
{
GtkDragSource *drag_source = gtk_drag_source_new ();
g_signal_connect (drag_source, "prepare", G_CALLBACK (on_drag_prepare), self);
g_signal_connect (drag_source, "drag-begin", G_CALLBACK (on_drag_begin), self);
gtk_widget_add_controller (GTK_WIDGET (self), GTK_EVENT_CONTROLLER (drag_source));
}
Setting up the content provider and icon ahead of time only makes
sense when the data does not change. More commonly, you will want
to set them up just in time. To do so, DragSource
has
prepare
and drag-begin
signals.
The ::prepare signal is emitted before a drag is started, and can be used to set the content provider and actions that the drag should be started with.
⚠️ The following code is in c ⚠️
static GdkContentProvider *
on_drag_prepare (GtkDragSource *source,
double x,
double y,
MyWidget *self)
{
// This widget supports two types of content: GFile objects
// and GdkPixbuf objects; GTK will handle the serialization
// of these types automatically
GFile *file = my_widget_get_file (self);
GdkPixbuf *pixbuf = my_widget_get_pixbuf (self);
return gdk_content_provider_new_union ((GdkContentProvider *[2]) {
gdk_content_provider_new_typed (G_TYPE_FILE, file),
gdk_content_provider_new_typed (GDK_TYPE_PIXBUF, pixbuf),
}, 2);
}
The ::drag-begin signal is emitted after the gdk::Drag
object has
been created, and can be used to set up the drag icon.
⚠️ The following code is in c ⚠️
static void
on_drag_begin (GtkDragSource *source,
GdkDrag *drag,
MyWidget *self)
{
// Set the widget as the drag icon
GdkPaintable *paintable = gtk_widget_paintable_new (GTK_WIDGET (self));
gtk_drag_source_set_icon (source, paintable, 0, 0);
g_object_unref (paintable);
}
During the DND operation, DragSource
emits signals that
can be used to obtain updates about the status of the operation,
but it is not normally necessary to connect to any signals,
except for one case: when the supported actions include
gdk::DragAction::MOVE
, you need to listen for the
drag-end
signal and delete the
data after it has been transferred.
§Properties
§actions
The actions that are supported by drag operations from the source.
Note that you must handle the drag-end
signal
if the actions include gdk::DragAction::MOVE
.
Readable | Writeable
§content
The data that is offered by drag operations from this source.
Readable | Writeable
GestureSingle
§button
Mouse button number to listen to, or 0 to listen for any button.
Readable | Writeable
§exclusive
Whether the gesture is exclusive.
Exclusive gestures only listen to pointer and pointer emulated events.
Readable | Writeable
§touch-only
Whether the gesture handles only touch events.
Readable | Writeable
Gesture
§n-points
The number of touch points that trigger recognition on this gesture.
Readable | Writeable | Construct Only
EventController
§name
The name for this controller, typically used for debugging purposes.
Readable | Writeable
§propagation-limit
The limit for which events this controller will handle.
Readable | Writeable
§propagation-phase
The propagation phase at which this controller will handle events.
Readable | Writeable
§widget
The widget receiving the GdkEvents
that the controller will handle.
Readable
§Signals
§drag-begin
Emitted on the drag source when a drag is started.
It can be used to e.g. set a custom drag icon with
DragSource::set_icon()
.
§drag-cancel
Emitted on the drag source when a drag has failed.
The signal handler may handle a failed drag operation based on
the type of error. It should return true
if the failure has been handled
and the default “drag operation failed” animation should not be shown.
§drag-end
Emitted on the drag source when a drag is finished.
A typical reason to connect to this signal is to undo
things done in prepare
or
drag-begin
handlers.
§prepare
Emitted when a drag is about to be initiated.
It returns the gdk::ContentProvider
to use for the drag that is about
to start. The default handler for this signal returns the value of
the content
property, so if you set up that
property ahead of time, you don’t need to connect to this signal.
Gesture
§begin
Emitted when the gesture is recognized.
This means the number of touch sequences matches
n-points
.
Note: These conditions may also happen when an extra touch (eg. a third touch on a 2-touches gesture) is lifted, in that situation @sequence won’t pertain to the current set of active touches, so don’t rely on this being true.
§cancel
Emitted whenever a sequence is cancelled.
This usually happens on active touches when
EventControllerExt::reset()
is called on @gesture
(manually, due to grabs…), or the individual @sequence
was claimed by parent widgets’ controllers (see
GestureExt::set_sequence_state()
).
@gesture must forget everything about @sequence as in response to this signal.
§end
Emitted when @gesture either stopped recognizing the event
sequences as something to be handled, or the number of touch
sequences became higher or lower than n-points
.
Note: @sequence might not pertain to the group of sequences that
were previously triggering recognition on @gesture (ie. a just
pressed touch sequence that exceeds n-points
).
This situation may be detected by checking through
GestureExt::handles_sequence()
.
§sequence-state-changed
Emitted whenever a sequence state changes.
See GestureExt::set_sequence_state()
to know
more about the expectable sequence lifetimes.
§update
Emitted whenever an event is handled while the gesture is recognized.
@sequence is guaranteed to pertain to the set of active touches.
§Implements
GestureSingleExt
, GestureExt
, EventControllerExt
, [trait@glib::ObjectExt
]
Implementations§
source§impl DragSource
impl DragSource
sourcepub fn new() -> DragSource
pub fn new() -> DragSource
sourcepub fn builder() -> DragSourceBuilder
pub fn builder() -> DragSourceBuilder
Creates a new builder-pattern struct instance to construct DragSource
objects.
This method returns an instance of DragSourceBuilder
which can be used to create DragSource
objects.
sourcepub fn drag_cancel(&self)
pub fn drag_cancel(&self)
Cancels a currently ongoing drag operation.
sourcepub fn actions(&self) -> DragAction
pub fn actions(&self) -> DragAction
sourcepub fn content(&self) -> Option<ContentProvider>
pub fn content(&self) -> Option<ContentProvider>
sourcepub fn set_actions(&self, actions: DragAction)
pub fn set_actions(&self, actions: DragAction)
Sets the actions on the DragSource
.
During a DND operation, the actions are offered to potential
drop targets. If @actions include gdk::DragAction::MOVE
, you need
to listen to the drag-end
signal and
handle @delete_data being true
.
This function can be called before a drag is started,
or in a handler for the prepare
signal.
§actions
the actions to offer
sourcepub fn set_content(&self, content: Option<&impl IsA<ContentProvider>>)
pub fn set_content(&self, content: Option<&impl IsA<ContentProvider>>)
Sets a content provider on a DragSource
.
When the data is requested in the cause of a DND operation, it will be obtained from the content provider.
This function can be called before a drag is started,
or in a handler for the prepare
signal.
You may consider setting the content provider back to
None
in a drag-end
signal handler.
§content
sourcepub fn set_icon(
&self,
paintable: Option<&impl IsA<Paintable>>,
hot_x: i32,
hot_y: i32
)
pub fn set_icon( &self, paintable: Option<&impl IsA<Paintable>>, hot_x: i32, hot_y: i32 )
Sets a paintable to use as icon during DND operations.
The hotspot coordinates determine the point on the icon that gets aligned with the hotspot of the cursor.
If @paintable is None
, a default icon is used.
This function can be called before a drag is started, or in
a prepare
or
drag-begin
signal handler.
§paintable
the gdk::Paintable
to use as icon
§hot_x
the hotspot X coordinate on the icon
§hot_y
the hotspot Y coordinate on the icon
sourcepub fn connect_drag_begin<F: Fn(&Self, &Drag) + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_drag_begin<F: Fn(&Self, &Drag) + 'static>( &self, f: F ) -> SignalHandlerId
Emitted on the drag source when a drag is started.
It can be used to e.g. set a custom drag icon with
set_icon()
.
§drag
the gdk::Drag
object
sourcepub fn connect_drag_cancel<F: Fn(&Self, &Drag, DragCancelReason) -> bool + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_drag_cancel<F: Fn(&Self, &Drag, DragCancelReason) -> bool + 'static>( &self, f: F ) -> SignalHandlerId
Emitted on the drag source when a drag has failed.
The signal handler may handle a failed drag operation based on
the type of error. It should return true
if the failure has been handled
and the default “drag operation failed” animation should not be shown.
§drag
the gdk::Drag
object
§reason
information on why the drag failed
§Returns
true
if the failed drag operation has been already handled
sourcepub fn connect_drag_end<F: Fn(&Self, &Drag, bool) + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_drag_end<F: Fn(&Self, &Drag, bool) + 'static>( &self, f: F ) -> SignalHandlerId
Emitted on the drag source when a drag is finished.
A typical reason to connect to this signal is to undo
things done in prepare
or
drag-begin
handlers.
§drag
the gdk::Drag
object
§delete_data
true
if the drag was performing gdk::DragAction::MOVE
,
and the data should be deleted
sourcepub fn connect_prepare<F: Fn(&Self, f64, f64) -> Option<ContentProvider> + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_prepare<F: Fn(&Self, f64, f64) -> Option<ContentProvider> + 'static>( &self, f: F ) -> SignalHandlerId
Emitted when a drag is about to be initiated.
It returns the gdk::ContentProvider
to use for the drag that is about
to start. The default handler for this signal returns the value of
the content
property, so if you set up that
property ahead of time, you don’t need to connect to this signal.
§x
the X coordinate of the drag starting point
§y
the Y coordinate of the drag starting point
§Returns
pub fn connect_actions_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
pub fn connect_content_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
Trait Implementations§
source§impl Clone for DragSource
impl Clone for DragSource
source§impl Debug for DragSource
impl Debug for DragSource
source§impl Default for DragSource
impl Default for DragSource
source§impl HasParamSpec for DragSource
impl HasParamSpec for DragSource
type ParamSpec = ParamSpecObject
§type SetValue = DragSource
type SetValue = DragSource
type BuilderFn = fn(_: &str) -> ParamSpecObjectBuilder<'_, DragSource>
fn param_spec_builder() -> Self::BuilderFn
source§impl Hash for DragSource
impl Hash for DragSource
source§impl Ord for DragSource
impl Ord for DragSource
source§impl ParentClassIs for DragSource
impl ParentClassIs for DragSource
type Parent = GestureSingle
source§impl<OT: ObjectType> PartialEq<OT> for DragSource
impl<OT: ObjectType> PartialEq<OT> for DragSource
source§impl<OT: ObjectType> PartialOrd<OT> for DragSource
impl<OT: ObjectType> PartialOrd<OT> for DragSource
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl StaticType for DragSource
impl StaticType for DragSource
source§fn static_type() -> Type
fn static_type() -> Type
Self
.impl Eq for DragSource
impl IsA<EventController> for DragSource
impl IsA<Gesture> for DragSource
impl IsA<GestureSingle> for DragSource
Auto Trait Implementations§
impl Freeze for DragSource
impl RefUnwindSafe for DragSource
impl !Send for DragSource
impl !Sync for DragSource
impl Unpin for DragSource
impl UnwindSafe for DragSource
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Cast for Twhere
T: ObjectType,
impl<T> Cast for Twhere
T: ObjectType,
source§fn upcast<T>(self) -> Twhere
T: ObjectType,
Self: IsA<T>,
fn upcast<T>(self) -> Twhere
T: ObjectType,
Self: IsA<T>,
T
. Read moresource§fn upcast_ref<T>(&self) -> &Twhere
T: ObjectType,
Self: IsA<T>,
fn upcast_ref<T>(&self) -> &Twhere
T: ObjectType,
Self: IsA<T>,
T
. Read moresource§fn downcast<T>(self) -> Result<T, Self>where
T: ObjectType,
Self: MayDowncastTo<T>,
fn downcast<T>(self) -> Result<T, Self>where
T: ObjectType,
Self: MayDowncastTo<T>,
T
. Read moresource§fn downcast_ref<T>(&self) -> Option<&T>where
T: ObjectType,
Self: MayDowncastTo<T>,
fn downcast_ref<T>(&self) -> Option<&T>where
T: ObjectType,
Self: MayDowncastTo<T>,
T
. Read moresource§fn dynamic_cast<T>(self) -> Result<T, Self>where
T: ObjectType,
fn dynamic_cast<T>(self) -> Result<T, Self>where
T: ObjectType,
T
. This handles upcasting, downcasting
and casting between interface and interface implementors. All checks are performed at
runtime, while upcast
will do many checks at compile-time already. downcast
will
perform the same checks at runtime as dynamic_cast
, but will also ensure some amount of
compile-time safety. Read moresource§fn dynamic_cast_ref<T>(&self) -> Option<&T>where
T: ObjectType,
fn dynamic_cast_ref<T>(&self) -> Option<&T>where
T: ObjectType,
T
. This handles upcasting, downcasting
and casting between interface and interface implementors. All checks are performed at
runtime, while downcast
and upcast
will do many checks at compile-time already. Read moresource§unsafe fn unsafe_cast<T>(self) -> Twhere
T: ObjectType,
unsafe fn unsafe_cast<T>(self) -> Twhere
T: ObjectType,
T
unconditionally. Read moresource§unsafe fn unsafe_cast_ref<T>(&self) -> &Twhere
T: ObjectType,
unsafe fn unsafe_cast_ref<T>(&self) -> &Twhere
T: ObjectType,
&T
unconditionally. Read moresource§impl<O> EventControllerExt for Owhere
O: IsA<EventController>,
impl<O> EventControllerExt for Owhere
O: IsA<EventController>,
source§fn current_event(&self) -> Option<Event>
fn current_event(&self) -> Option<Event>
source§fn current_event_device(&self) -> Option<Device>
fn current_event_device(&self) -> Option<Device>
source§fn current_event_state(&self) -> ModifierType
fn current_event_state(&self) -> ModifierType
source§fn current_event_time(&self) -> u32
fn current_event_time(&self) -> u32
source§fn propagation_limit(&self) -> PropagationLimit
fn propagation_limit(&self) -> PropagationLimit
source§fn propagation_phase(&self) -> PropagationPhase
fn propagation_phase(&self) -> PropagationPhase
source§fn set_name(&self, name: Option<&str>)
fn set_name(&self, name: Option<&str>)
source§fn set_propagation_limit(&self, limit: PropagationLimit)
fn set_propagation_limit(&self, limit: PropagationLimit)
source§fn set_propagation_phase(&self, phase: PropagationPhase)
fn set_propagation_phase(&self, phase: PropagationPhase)
source§fn set_static_name(&self, name: Option<&str>)
fn set_static_name(&self, name: Option<&str>)
v4_8
only.fn connect_name_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
fn connect_propagation_limit_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
fn connect_propagation_phase_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
fn connect_widget_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *const GList) -> Vec<T>
unsafe fn from_glib_container_as_vec(_: *const GList) -> Vec<T>
unsafe fn from_glib_full_as_vec(_: *const GList) -> Vec<T>
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *const GPtrArray) -> Vec<T>
unsafe fn from_glib_container_as_vec(_: *const GPtrArray) -> Vec<T>
unsafe fn from_glib_full_as_vec(_: *const GPtrArray) -> Vec<T>
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *const GSList) -> Vec<T>
unsafe fn from_glib_container_as_vec(_: *const GSList) -> Vec<T>
unsafe fn from_glib_full_as_vec(_: *const GSList) -> Vec<T>
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *mut GList) -> Vec<T>
unsafe fn from_glib_container_as_vec(ptr: *mut GList) -> Vec<T>
unsafe fn from_glib_full_as_vec(ptr: *mut GList) -> Vec<T>
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *mut GPtrArray) -> Vec<T>
unsafe fn from_glib_container_as_vec(ptr: *mut GPtrArray) -> Vec<T>
unsafe fn from_glib_full_as_vec(ptr: *mut GPtrArray) -> Vec<T>
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *mut GSList) -> Vec<T>
unsafe fn from_glib_container_as_vec(ptr: *mut GSList) -> Vec<T>
unsafe fn from_glib_full_as_vec(ptr: *mut GSList) -> Vec<T>
source§impl<O> GObjectPropertyExpressionExt for O
impl<O> GObjectPropertyExpressionExt for O
source§fn property_expression(&self, property_name: &str) -> PropertyExpression
fn property_expression(&self, property_name: &str) -> PropertyExpression
source§fn property_expression_weak(&self, property_name: &str) -> PropertyExpression
fn property_expression_weak(&self, property_name: &str) -> PropertyExpression
source§fn this_expression(property_name: &str) -> PropertyExpression
fn this_expression(property_name: &str) -> PropertyExpression
this
object.source§impl<O> GestureExt for O
impl<O> GestureExt for O
source§fn bounding_box(&self) -> Option<Rectangle>
fn bounding_box(&self) -> Option<Rectangle>
source§fn device(&self) -> Option<Device>
fn device(&self) -> Option<Device>
gdk::Device
that is currently operating
on @self. Read moresource§fn last_event(&self, sequence: Option<&EventSequence>) -> Option<Event>
fn last_event(&self, sequence: Option<&EventSequence>) -> Option<Event>
source§fn last_updated_sequence(&self) -> Option<EventSequence>
fn last_updated_sequence(&self) -> Option<EventSequence>
gdk::EventSequence
that was last updated on @self. Read moresource§fn sequence_state(&self, sequence: &EventSequence) -> EventSequenceState
fn sequence_state(&self, sequence: &EventSequence) -> EventSequenceState
source§fn sequences(&self) -> Vec<EventSequence>
fn sequences(&self) -> Vec<EventSequence>
GdkEventSequences
currently being interpreted
by @self. Read moresource§fn group_with(&self, gesture: &impl IsA<Gesture>)
fn group_with(&self, gesture: &impl IsA<Gesture>)
source§fn handles_sequence(&self, sequence: Option<&EventSequence>) -> bool
fn handles_sequence(&self, sequence: Option<&EventSequence>) -> bool
source§fn is_recognized(&self) -> bool
fn is_recognized(&self) -> bool
source§fn set_sequence_state(
&self,
sequence: &EventSequence,
state: EventSequenceState
) -> bool
fn set_sequence_state( &self, sequence: &EventSequence, state: EventSequenceState ) -> bool
source§fn set_state(&self, state: EventSequenceState) -> bool
fn set_state(&self, state: EventSequenceState) -> bool
source§fn n_points(&self) -> u32
fn n_points(&self) -> u32
source§fn connect_begin<F: Fn(&Self, Option<&EventSequence>) + 'static>(
&self,
f: F
) -> SignalHandlerId
fn connect_begin<F: Fn(&Self, Option<&EventSequence>) + 'static>( &self, f: F ) -> SignalHandlerId
source§fn connect_cancel<F: Fn(&Self, Option<&EventSequence>) + 'static>(
&self,
f: F
) -> SignalHandlerId
fn connect_cancel<F: Fn(&Self, Option<&EventSequence>) + 'static>( &self, f: F ) -> SignalHandlerId
source§fn connect_end<F: Fn(&Self, Option<&EventSequence>) + 'static>(
&self,
f: F
) -> SignalHandlerId
fn connect_end<F: Fn(&Self, Option<&EventSequence>) + 'static>( &self, f: F ) -> SignalHandlerId
source§fn connect_sequence_state_changed<F: Fn(&Self, Option<&EventSequence>, EventSequenceState) + 'static>(
&self,
f: F
) -> SignalHandlerId
fn connect_sequence_state_changed<F: Fn(&Self, Option<&EventSequence>, EventSequenceState) + 'static>( &self, f: F ) -> SignalHandlerId
source§fn connect_update<F: Fn(&Self, Option<&EventSequence>) + 'static>(
&self,
f: F
) -> SignalHandlerId
fn connect_update<F: Fn(&Self, Option<&EventSequence>) + 'static>( &self, f: F ) -> SignalHandlerId
source§impl<O> GestureSingleExt for Owhere
O: IsA<GestureSingle>,
impl<O> GestureSingleExt for Owhere
O: IsA<GestureSingle>,
source§fn current_sequence(&self) -> Option<EventSequence>
fn current_sequence(&self) -> Option<EventSequence>
source§fn is_exclusive(&self) -> bool
fn is_exclusive(&self) -> bool
source§fn is_touch_only(&self) -> bool
fn is_touch_only(&self) -> bool
source§fn set_exclusive(&self, exclusive: bool)
fn set_exclusive(&self, exclusive: bool)
source§fn set_touch_only(&self, touch_only: bool)
fn set_touch_only(&self, touch_only: bool)
fn connect_exclusive_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
fn connect_touch_only_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
source§impl<T> IntoClosureReturnValue for T
impl<T> IntoClosureReturnValue for T
fn into_closure_return_value(self) -> Option<Value>
source§impl<U> IsSubclassableExt for Uwhere
U: IsClass + ParentClassIs,
impl<U> IsSubclassableExt for Uwhere
U: IsClass + ParentClassIs,
fn parent_class_init<T>(class: &mut Class<U>)
fn parent_instance_init<T>(instance: &mut InitializingObject<T>)
source§impl<T> ObjectExt for Twhere
T: ObjectType,
impl<T> ObjectExt for Twhere
T: ObjectType,
source§fn is<U>(&self) -> boolwhere
U: StaticType,
fn is<U>(&self) -> boolwhere
U: StaticType,
true
if the object is an instance of (can be cast to) T
.source§fn object_class(&self) -> &Class<Object>
fn object_class(&self) -> &Class<Object>
ObjectClass
of the object. Read moresource§fn class_of<U>(&self) -> Option<&Class<U>>where
U: IsClass,
fn class_of<U>(&self) -> Option<&Class<U>>where
U: IsClass,
T
. Read moresource§fn interface<U>(&self) -> Option<InterfaceRef<'_, U>>where
U: IsInterface,
fn interface<U>(&self) -> Option<InterfaceRef<'_, U>>where
U: IsInterface,
T
of the object. Read moresource§fn set_property_from_value(&self, property_name: &str, value: &Value)
fn set_property_from_value(&self, property_name: &str, value: &Value)
source§fn set_properties(&self, property_values: &[(&str, &dyn ToValue)])
fn set_properties(&self, property_values: &[(&str, &dyn ToValue)])
source§fn set_properties_from_value(&self, property_values: &[(&str, Value)])
fn set_properties_from_value(&self, property_values: &[(&str, Value)])
source§fn property<V>(&self, property_name: &str) -> Vwhere
V: for<'b> FromValue<'b> + 'static,
fn property<V>(&self, property_name: &str) -> Vwhere
V: for<'b> FromValue<'b> + 'static,
property_name
of the object and cast it to the type V. Read moresource§fn property_value(&self, property_name: &str) -> Value
fn property_value(&self, property_name: &str) -> Value
property_name
of the object. Read moresource§fn property_type(&self, property_name: &str) -> Option<Type>
fn property_type(&self, property_name: &str) -> Option<Type>
property_name
of this object. Read moresource§fn find_property(&self, property_name: &str) -> Option<ParamSpec>
fn find_property(&self, property_name: &str) -> Option<ParamSpec>
ParamSpec
of the property property_name
of this object.source§fn list_properties(&self) -> PtrSlice<ParamSpec>
fn list_properties(&self) -> PtrSlice<ParamSpec>
ParamSpec
of the properties of this object.source§fn freeze_notify(&self) -> PropertyNotificationFreezeGuard
fn freeze_notify(&self) -> PropertyNotificationFreezeGuard
source§unsafe fn set_qdata<QD>(&self, key: Quark, value: QD)where
QD: 'static,
unsafe fn set_qdata<QD>(&self, key: Quark, value: QD)where
QD: 'static,
key
. Read moresource§unsafe fn qdata<QD>(&self, key: Quark) -> Option<NonNull<QD>>where
QD: 'static,
unsafe fn qdata<QD>(&self, key: Quark) -> Option<NonNull<QD>>where
QD: 'static,
key
. Read moresource§unsafe fn steal_qdata<QD>(&self, key: Quark) -> Option<QD>where
QD: 'static,
unsafe fn steal_qdata<QD>(&self, key: Quark) -> Option<QD>where
QD: 'static,
key
. Read moresource§unsafe fn set_data<QD>(&self, key: &str, value: QD)where
QD: 'static,
unsafe fn set_data<QD>(&self, key: &str, value: QD)where
QD: 'static,
key
. Read moresource§unsafe fn data<QD>(&self, key: &str) -> Option<NonNull<QD>>where
QD: 'static,
unsafe fn data<QD>(&self, key: &str) -> Option<NonNull<QD>>where
QD: 'static,
key
. Read moresource§unsafe fn steal_data<QD>(&self, key: &str) -> Option<QD>where
QD: 'static,
unsafe fn steal_data<QD>(&self, key: &str) -> Option<QD>where
QD: 'static,
key
. Read moresource§fn block_signal(&self, handler_id: &SignalHandlerId)
fn block_signal(&self, handler_id: &SignalHandlerId)
source§fn unblock_signal(&self, handler_id: &SignalHandlerId)
fn unblock_signal(&self, handler_id: &SignalHandlerId)
source§fn stop_signal_emission(&self, signal_id: SignalId, detail: Option<Quark>)
fn stop_signal_emission(&self, signal_id: SignalId, detail: Option<Quark>)
source§fn stop_signal_emission_by_name(&self, signal_name: &str)
fn stop_signal_emission_by_name(&self, signal_name: &str)
source§fn connect<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> SignalHandlerId
fn connect<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerId
signal_name
on this object. Read moresource§fn connect_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> SignalHandlerId
fn connect_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerId
signal_id
on this object. Read moresource§fn connect_local<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> SignalHandlerId
fn connect_local<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerId
signal_name
on this object. Read moresource§fn connect_local_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> SignalHandlerId
fn connect_local_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerId
signal_id
on this object. Read moresource§unsafe fn connect_unsafe<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> SignalHandlerId
unsafe fn connect_unsafe<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerId
signal_name
on this object. Read moresource§unsafe fn connect_unsafe_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> SignalHandlerId
unsafe fn connect_unsafe_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerId
signal_id
on this object. Read moresource§fn connect_closure(
&self,
signal_name: &str,
after: bool,
closure: RustClosure
) -> SignalHandlerId
fn connect_closure( &self, signal_name: &str, after: bool, closure: RustClosure ) -> SignalHandlerId
signal_name
on this object. Read moresource§fn connect_closure_id(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
closure: RustClosure
) -> SignalHandlerId
fn connect_closure_id( &self, signal_id: SignalId, details: Option<Quark>, after: bool, closure: RustClosure ) -> SignalHandlerId
signal_id
on this object. Read moresource§fn watch_closure(&self, closure: &impl AsRef<Closure>)
fn watch_closure(&self, closure: &impl AsRef<Closure>)
closure
to the lifetime of the object. When
the object’s reference count drops to zero, the closure will be
invalidated. An invalidated closure will ignore any calls to
invoke_with_values
, or
invoke
when using Rust closures.source§fn emit<R>(&self, signal_id: SignalId, args: &[&dyn ToValue]) -> Rwhere
R: TryFromClosureReturnValue,
fn emit<R>(&self, signal_id: SignalId, args: &[&dyn ToValue]) -> Rwhere
R: TryFromClosureReturnValue,
source§fn emit_with_values(&self, signal_id: SignalId, args: &[Value]) -> Option<Value>
fn emit_with_values(&self, signal_id: SignalId, args: &[Value]) -> Option<Value>
Self::emit
but takes Value
for the arguments.source§fn emit_by_name<R>(&self, signal_name: &str, args: &[&dyn ToValue]) -> Rwhere
R: TryFromClosureReturnValue,
fn emit_by_name<R>(&self, signal_name: &str, args: &[&dyn ToValue]) -> Rwhere
R: TryFromClosureReturnValue,
source§fn emit_by_name_with_values(
&self,
signal_name: &str,
args: &[Value]
) -> Option<Value>
fn emit_by_name_with_values( &self, signal_name: &str, args: &[Value] ) -> Option<Value>
source§fn emit_by_name_with_details<R>(
&self,
signal_name: &str,
details: Quark,
args: &[&dyn ToValue]
) -> Rwhere
R: TryFromClosureReturnValue,
fn emit_by_name_with_details<R>(
&self,
signal_name: &str,
details: Quark,
args: &[&dyn ToValue]
) -> Rwhere
R: TryFromClosureReturnValue,
source§fn emit_by_name_with_details_and_values(
&self,
signal_name: &str,
details: Quark,
args: &[Value]
) -> Option<Value>
fn emit_by_name_with_details_and_values( &self, signal_name: &str, details: Quark, args: &[Value] ) -> Option<Value>
source§fn emit_with_details<R>(
&self,
signal_id: SignalId,
details: Quark,
args: &[&dyn ToValue]
) -> Rwhere
R: TryFromClosureReturnValue,
fn emit_with_details<R>(
&self,
signal_id: SignalId,
details: Quark,
args: &[&dyn ToValue]
) -> Rwhere
R: TryFromClosureReturnValue,
source§fn emit_with_details_and_values(
&self,
signal_id: SignalId,
details: Quark,
args: &[Value]
) -> Option<Value>
fn emit_with_details_and_values( &self, signal_id: SignalId, details: Quark, args: &[Value] ) -> Option<Value>
source§fn disconnect(&self, handler_id: SignalHandlerId)
fn disconnect(&self, handler_id: SignalHandlerId)
source§fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
notify
signal of the object. Read moresource§fn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
fn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
notify
signal of the object. Read moresource§unsafe fn connect_notify_unsafe<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId
unsafe fn connect_notify_unsafe<F>( &self, name: Option<&str>, f: F ) -> SignalHandlerId
notify
signal of the object. Read more