pub trait TuiSessionDriver {
type Command: TuiCommand;
type Event;
Show 24 methods
// Required methods
fn handle_command(&mut self, command: Self::Command);
fn handle_event(
&mut self,
event: Event,
events: &UnboundedSender<Self::Event>,
callback: Option<&(dyn Fn(&Self::Event) + Send + Sync + 'static)>,
);
fn handle_tick(&mut self);
fn render(&mut self, frame: &mut Frame<'_>);
fn take_redraw(&mut self) -> bool;
fn use_steady_cursor(&self) -> bool;
fn is_hovering_link(&self) -> bool;
fn is_selecting_text(&self) -> bool;
fn should_exit(&self) -> bool;
fn request_exit(&mut self);
fn mark_dirty(&mut self);
fn update_terminal_title(&mut self);
fn clear_terminal_title(&mut self);
fn is_running_activity(&self) -> bool;
fn has_status_spinner(&self) -> bool;
fn thinking_spinner_active(&self) -> bool;
fn has_active_navigation_ui(&self) -> bool;
fn apply_coalesced_scroll(&mut self, line_delta: i32, page_delta: i32);
fn set_show_logs(&mut self, show: bool);
fn set_active_pty_sessions(&mut self, sessions: Option<Arc<AtomicUsize>>);
fn set_workspace_root(&mut self, root: Option<PathBuf>);
fn set_log_receiver(&mut self, receiver: UnboundedReceiver<LogEntry>);
fn set_fullscreen_active(&mut self, active: bool);
fn set_fullscreen_interaction(
&mut self,
config: FullscreenInteractionSettings,
);
}Required Associated Types§
type Command: TuiCommand
type Event
Required Methods§
fn handle_command(&mut self, command: Self::Command)
fn handle_event( &mut self, event: Event, events: &UnboundedSender<Self::Event>, callback: Option<&(dyn Fn(&Self::Event) + Send + Sync + 'static)>, )
fn handle_tick(&mut self)
fn render(&mut self, frame: &mut Frame<'_>)
fn take_redraw(&mut self) -> bool
fn use_steady_cursor(&self) -> bool
fn is_hovering_link(&self) -> bool
fn is_selecting_text(&self) -> bool
fn should_exit(&self) -> bool
fn request_exit(&mut self)
fn mark_dirty(&mut self)
fn update_terminal_title(&mut self)
fn clear_terminal_title(&mut self)
fn is_running_activity(&self) -> bool
fn has_status_spinner(&self) -> bool
fn thinking_spinner_active(&self) -> bool
fn apply_coalesced_scroll(&mut self, line_delta: i32, page_delta: i32)
fn set_show_logs(&mut self, show: bool)
fn set_active_pty_sessions(&mut self, sessions: Option<Arc<AtomicUsize>>)
fn set_workspace_root(&mut self, root: Option<PathBuf>)
fn set_log_receiver(&mut self, receiver: UnboundedReceiver<LogEntry>)
fn set_fullscreen_active(&mut self, active: bool)
fn set_fullscreen_interaction(&mut self, config: FullscreenInteractionSettings)
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".