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-changedsignal whenever the final action to be performed by the drag and drop operation changes. - The
signal::DragContext::drop-performedsignal after the user performs the drag and drop gesture (typically by releasing the mouse button). - The
signal::DragContext::dnd-finishedsignal after the drag and drop operation concludes (after allGdkSelectiontransfers happen). - The
signal::DragContext::cancelsignal 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
) -> SignalHandlerIdThis is supported on crate feature v3_20 only.
pub fn connect_action_changed<F: Fn(&Self, DragAction) + 'static>(
&self,
f: F
) -> SignalHandlerIdv3_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
) -> SignalHandlerIdThis is supported on crate feature v3_20 only.
pub fn connect_cancel<F: Fn(&Self, DragCancelReason) + 'static>(
&self,
f: F
) -> SignalHandlerIdv3_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
) -> boolpub 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 DragContextimpl !Send for DragContextimpl !Sync for DragContextimpl Unpin for DragContextimpl UnwindSafe for DragContextBlanket 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>,