pub struct ContextMenuRequest {
pub target: ContextMenuTarget,
pub selection: Option<ContextMenuSelection>,
pub selected_cells: Vec<SelectedCellContext>,
pub selected_rows: Vec<SelectedRowContext>,
}Expand description
Owned snapshot of the right-click context, captured at menu-open time.
All indices are display indices (post sort/filter) unless prefixed with
source_. The selected_cells and selected_rows vectors contain one
entry per cell/row in the effective selection; for large selections this
clones owned data.
For column-oriented targets (ColumnHeader, SortButton, or a
Selection::Column), selected_rows is left empty — a column right-click
is column-oriented (clicked_row() is None), so the column’s values are
exposed through selected_cells and full per-row snapshots are skipped to
avoid O(rows x cols) cloning on large datasets.
Fields§
§target: ContextMenuTarget§selection: Option<ContextMenuSelection>§selected_cells: Vec<SelectedCellContext>§selected_rows: Vec<SelectedRowContext>Implementations§
Source§impl ContextMenuRequest
impl ContextMenuRequest
Sourcepub fn clicked_cell(&self) -> Option<&SelectedCellContext>
pub fn clicked_cell(&self) -> Option<&SelectedCellContext>
The specific cell under the cursor when the menu opened, if the right-click landed on a data cell.
Sourcepub fn clicked_row(&self) -> Option<&SelectedRowContext>
pub fn clicked_row(&self) -> Option<&SelectedRowContext>
The row under the cursor when the menu opened, if the right-click landed on a cell or row header.
Sourcepub fn selected_cells(&self) -> &[SelectedCellContext]
pub fn selected_cells(&self) -> &[SelectedCellContext]
All selected cells in the effective selection.
Sourcepub fn selected_rows(&self) -> &[SelectedRowContext]
pub fn selected_rows(&self) -> &[SelectedRowContext]
All selected rows in the effective selection.
Trait Implementations§
Source§impl Clone for ContextMenuRequest
impl Clone for ContextMenuRequest
Source§fn clone(&self) -> ContextMenuRequest
fn clone(&self) -> ContextMenuRequest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for ContextMenuRequest
impl RefUnwindSafe for ContextMenuRequest
impl Send for ContextMenuRequest
impl Sync for ContextMenuRequest
impl Unpin for ContextMenuRequest
impl UnsafeUnpin for ContextMenuRequest
impl UnwindSafe for ContextMenuRequest
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more