Struct gdk::DragContext [−][src]
pub struct DragContext(_);
Expand description
Implementations
Determines the bitmask of actions proposed by the source if
suggested_action()
returns DragAction::ASK
.
Returns
the DragAction
flags
This is supported on crate feature v3_20
only.
v3_20
only.Returns the window on which the drag icon should be rendered
during the drag operation. Note that the window may not be
available until the drag operation has begun. GDK will move
the window in accordance with the ongoing drag operation.
The window is owned by self
and will be destroyed when
the drag operation is over.
Returns
the drag window, or None
This is supported on crate feature v3_20
only.
v3_20
only.Requests the drag and drop operation to be managed by self
.
When a drag and drop operation becomes managed, the DragContext
will internally handle all input and source-side EventDND
events
as required by the windowing system.
Once the drag and drop operation is managed, the drag context will emit the following signals:
- The
signal::DragContext::action-changed
signal whenever the final action to be performed by the drag and drop operation changes. - The
signal::DragContext::drop-performed
signal after the user performs the drag and drop gesture (typically by releasing the mouse button). - The
signal::DragContext::dnd-finished
signal after the drag and drop operation concludes (after allGdkSelection
transfers happen). - The
signal::DragContext::cancel
signal if the drag and drop operation is finished but doesn’t happen over an accepting destination, or is cancelled through other means.
ipc_window
Window to use for IPC messaging/events
actions
the actions supported by the drag source
Returns
true
if the drag and drop operation is managed.
This is supported on crate feature v3_20
only.
v3_20
only.pub fn connect_action_changed<F: Fn(&Self, DragAction) + 'static>(
&self,
f: F
) -> SignalHandlerId
This is supported on crate feature v3_20
only.
pub fn connect_action_changed<F: Fn(&Self, DragAction) + 'static>(
&self,
f: F
) -> SignalHandlerId
v3_20
only.A new action is being chosen for the drag and drop operation.
This signal will only be emitted if the DragContext
manages
the drag and drop operation. See manage_dnd()
for more information.
action
The action currently chosen
pub fn connect_cancel<F: Fn(&Self, DragCancelReason) + 'static>(
&self,
f: F
) -> SignalHandlerId
This is supported on crate feature v3_20
only.
pub fn connect_cancel<F: Fn(&Self, DragCancelReason) + 'static>(
&self,
f: F
) -> SignalHandlerId
v3_20
only.The drag and drop operation was cancelled.
This signal will only be emitted if the DragContext
manages
the drag and drop operation. See manage_dnd()
for more information.
reason
The reason the context was cancelled
This is supported on crate feature v3_20
only.
v3_20
only.The drag and drop operation was finished, the drag destination finished reading all data. The drag source can now free all miscellaneous data.
This signal will only be emitted if the DragContext
manages
the drag and drop operation. See manage_dnd()
for more information.
This is supported on crate feature v3_20
only.
v3_20
only.The drag and drop operation was performed on an accepting client.
This signal will only be emitted if the DragContext
manages
the drag and drop operation. See manage_dnd()
for more information.
time
the time at which the drop happened.
pub fn drag_find_window_for_screen(
&self,
drag_window: &Window,
screen: &Screen,
x_root: i32,
y_root: i32
) -> (Option<Window>, DragProtocol)
pub fn drag_motion(
&self,
dest_window: &Window,
protocol: DragProtocol,
x_root: i32,
y_root: i32,
suggested_action: DragAction,
possible_actions: DragAction,
time_: u32
) -> bool
pub fn drag_begin_for_device<P: IsA<Device>>(
window: &Window,
device: &P,
targets: &[&Atom]
) -> Option<DragContext>
pub fn drag_begin_from_point<P: IsA<Device>>(
window: &Window,
device: &P,
targets: &[&Atom],
x_root: i32,
y_root: i32
) -> Option<DragContext>
v3_20
only.v3_20
only.Trait Implementations
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Returns the type identifier of Self
.
Auto Trait Implementations
impl RefUnwindSafe for DragContext
impl !Send for DragContext
impl !Sync for DragContext
impl Unpin for DragContext
impl UnwindSafe for DragContext
Blanket Implementations
Mutably borrows from an owned value. Read more
Upcasts an object to a superclass or interface T
. Read more
Upcasts an object to a reference of its superclass or interface T
. Read more
Tries to downcast to a subclass or interface implementor T
. Read more
Tries to downcast to a reference of its subclass or interface implementor T
. Read more
Tries to cast to an object of type 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 more
Tries to cast to reference to an object of type 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 more
Casts to T
unconditionally. Read more
Casts to &T
unconditionally. Read more
Returns true
if the object is an instance of (can be cast to) T
.
pub fn set_properties_from_value(
&self,
property_values: &[(&str, Value)]
) -> Result<(), BoolError>
pub fn set_property<'a, N, V>(
&self,
property_name: N,
value: V
) -> Result<(), BoolError> where
N: Into<&'a str>,
V: ToValue,
pub fn set_property_from_value<'a, N>(
&self,
property_name: N,
value: &Value
) -> Result<(), BoolError> where
N: Into<&'a str>,
Safety Read more
Safety Read more
Safety Read more
Safety Read more
pub fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId where
F: 'static + Fn(&T, &ParamSpec) + Send + Sync,
pub fn connect_notify_local<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId where
F: 'static + Fn(&T, &ParamSpec),
pub unsafe fn connect_notify_unsafe<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId where
F: Fn(&T, &ParamSpec),
pub fn has_property<'a, N>(&self, property_name: N, type_: Option<Type>) -> bool where
N: Into<&'a str>,
pub fn find_property<'a, N>(&self, property_name: N) -> Option<ParamSpec> where
N: Into<&'a str>,
pub fn connect<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,
N: Into<&'a str>,
Same as connect
but takes a SignalId
instead of a signal name.
pub fn connect_local<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value> + 'static,
N: Into<&'a str>,
Same as connect_local
but takes a SignalId
instead of a signal name.
pub unsafe fn connect_unsafe<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value>,
N: Into<&'a str>,
Same as connect_unsafe
but takes a SignalId
instead of a signal name.
Emit signal by signal id.
Emit signal with details by signal id.
Emit signal by it’s name.
pub fn bind_property<'a, O, N, M>(
&'a self,
source_property: N,
target: &'a O,
target_property: M
) -> BindingBuilder<'a> where
O: ObjectType,
M: Into<&'a str>,
N: Into<&'a str>,
Same as emit
but takes Value
for the arguments.
Same as emit_by_name
but takes Value
for the arguments.
Returns a SendValue
clone of self
.
impl<'a, T, C> FromValueOptional<'a> for T where
C: ValueTypeChecker<Error = ValueTypeMismatchOrNoneError>,
T: FromValue<'a, Checker = C>,