Skip to main content

TableOperations

Struct TableOperations 

Source
pub struct TableOperations {
    pub groups: Vec<Vec<Box<dyn TableOperation>>>,
    pub pending_tracker: HashSet<(usize, usize)>,
    pub last_tick: u64,
}

Fields§

§groups: Vec<Vec<Box<dyn TableOperation>>>§pending_tracker: HashSet<(usize, usize)>§last_tick: u64

Implementations§

Source§

impl TableOperations

Source

pub fn new() -> Self

Source

pub fn with_group(self, group: Vec<Box<dyn TableOperation>>) -> Self

Source

pub fn with_operation(self, op: impl TableOperation + 'static) -> Self

Source

pub fn update(&mut self, ctx: &Context) -> bool

Evaluates state transitions exactly once per unique frame tick. Returns true if any completed operation requested a view refresh.

Source

pub fn gui( &mut self, ui: &mut Ui, provider: &dyn TableProvider, data: &mut TableState, context_menu: bool, ) -> Result<bool, TableError>

Renders standard table operation buttons with default look.

Source

pub fn gui_custom<F>( &mut self, ui: &mut Ui, provider: &dyn TableProvider, data: &mut TableState, context_menu: bool, button_renderer: F, ) -> Result<bool, TableError>
where F: FnMut(&mut Ui, &mut Box<dyn TableOperation>, bool, &str, bool) -> Response,

Renders table operations using a custom button builder callback.

This handles all the state machine details (polling, execution, pending modes, group separation) but allows full control over the visual presentation of each button.

Source

pub fn show_group<F>( &mut self, ui: &mut Ui, provider: &dyn TableProvider, data: &mut TableState, group_idx: usize, context_menu: bool, button_renderer: F, ) -> Result<bool, TableError>
where F: FnMut(&mut Ui, &mut Box<dyn TableOperation>, bool, &str) -> Response,

Renders all operations in a specific group. This is useful for building custom caller layouts, submenus, and advanced structural separations.

Source

pub fn show_operation<F>( &mut self, ui: &mut Ui, provider: &dyn TableProvider, data: &mut TableState, group_idx: usize, op_idx: usize, context_menu: bool, button_renderer: F, ) -> Result<bool, TableError>
where F: FnOnce(&mut Ui, &mut Box<dyn TableOperation>, bool, &str) -> Response,

Renders a single operation directly at a specific group and operation index. Gives the caller total control over fine-grained placement and visual arrangement.

Trait Implementations§

Source§

impl Debug for TableOperations

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for TableOperations

Source§

fn default() -> TableOperations

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T, S> SimdFrom<T, S> for T
where S: Simd,

Source§

fn simd_from(value: T, _simd: S) -> T

Source§

impl<F, T, S> SimdInto<T, S> for F
where T: SimdFrom<F, S>, S: Simd,

Source§

fn simd_into(self, simd: S) -> T

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.