Skip to main content

Tui

Struct Tui 

Source
pub struct Tui { /* private fields */ }
Expand description

Main TUI handle that integrates with the event bus.

Implementations§

Source§

impl Tui

Source

pub fn new() -> Self

Creates a new TUI instance with shared state.

Source

pub fn with_hat_map(self, hat_map: HashMap<String, (HatId, String)>) -> Self

Sets the hat map for dynamic topic-to-hat resolution.

This allows the TUI to display the correct hat for custom topics without hardcoding them in TuiState::update().

Source

pub fn with_termination_signal(self, terminated_rx: Receiver<bool>) -> Self

Sets the termination signal receiver for graceful shutdown.

The TUI will exit when this receiver signals true.

Source

pub fn with_interrupt_tx(self, interrupt_tx: Sender<bool>) -> Self

Sets the interrupt channel for Ctrl+C signaling.

In raw terminal mode, SIGINT is not generated by the OS when the user presses Ctrl+C. The TUI detects Ctrl+C via crossterm events and uses this channel to signal the main orchestration loop to terminate.

Source

pub fn state(&self) -> Arc<Mutex<TuiState>>

Returns the shared state for external updates.

Source

pub fn observer(&self) -> impl Fn(&Event) + Send + 'static

Returns an observer closure that updates TUI state from events.

Source

pub async fn run(self) -> Result<()>

Runs the TUI application loop.

§Panics

Panics if with_termination_signal() was not called before running.

§Errors

Returns an error if the terminal cannot be initialized or if the application loop encounters an unrecoverable error.

Trait Implementations§

Source§

impl Default for Tui

Source§

fn default() -> Self

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

Auto Trait Implementations§

§

impl Freeze for Tui

§

impl !RefUnwindSafe for Tui

§

impl Send for Tui

§

impl Sync for Tui

§

impl Unpin for Tui

§

impl !UnwindSafe for Tui

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<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more