pub struct AIChat<'a> { /* private fields */ }Expand description
AI Chat widget for interactive chat interfaces.
Implementations§
Source§impl<'a> AIChat<'a>
impl<'a> AIChat<'a>
Sourcepub fn new_ai_chat(
messages: &'a mut MessageStore,
input: &'a mut InputState,
) -> Self
pub fn new_ai_chat( messages: &'a mut MessageStore, input: &'a mut InputState, ) -> Self
Create a new AI chat widget.
Sourcepub fn with_selected_command_index(self, index: usize) -> Self
pub fn with_selected_command_index(self, index: usize) -> Self
Set selected command index (for builder pattern).
Source§impl<'a> AIChat<'a>
impl<'a> AIChat<'a>
Sourcepub fn register_command(&mut self, command: String)
pub fn register_command(&mut self, command: String)
Register a command.
Sourcepub fn filtered_commands(&self) -> Vec<String>
pub fn filtered_commands(&self) -> Vec<String>
Get filtered commands matching the current command input.
Sourcepub fn selected_command_index(&self) -> usize
pub fn selected_command_index(&self) -> usize
Get selected command index.
Sourcepub fn set_selected_command_index(&mut self, index: usize)
pub fn set_selected_command_index(&mut self, index: usize)
Set selected command index.
Sourcepub fn handle_command(&mut self, command: &str) -> bool
pub fn handle_command(&mut self, command: &str) -> bool
Handle a command string (e.g., “/clear”).
Returns true if command was handled, false if unknown.
Sourcepub fn set_loading(&mut self, loading: bool)
pub fn set_loading(&mut self, loading: bool)
Set the loading state.
Sourcepub fn is_loading(&self) -> bool
pub fn is_loading(&self) -> bool
Get the loading state.
Sourcepub fn with_user_message_style(self, style: Style) -> Self
pub fn with_user_message_style(self, style: Style) -> Self
Set user message style.
Sourcepub fn with_ai_message_style(self, style: Style) -> Self
pub fn with_ai_message_style(self, style: Style) -> Self
Set AI message style.
Sourcepub fn with_input_style(self, style: Style) -> Self
pub fn with_input_style(self, style: Style) -> Self
Set input style.
Sourcepub fn with_prompt(self, prompt: String) -> Self
pub fn with_prompt(self, prompt: String) -> Self
Set input prompt text.
Auto Trait Implementations§
impl<'a> Freeze for AIChat<'a>
impl<'a> RefUnwindSafe for AIChat<'a>
impl<'a> Send for AIChat<'a>
impl<'a> Sync for AIChat<'a>
impl<'a> Unpin for AIChat<'a>
impl<'a> !UnwindSafe for AIChat<'a>
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
Mutably borrows from an owned value. Read more
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>
Convert
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>
Convert
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)
Convert
&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)
Convert
&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>
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 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>
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