pub struct ChoiceContent<'a> { /* private fields */ }Expand description
ChoiceContent implementation of RenderableContent trait FIXES the broken choice rendering that renders outside bounds and doesn’t trigger horizontal scrollbars PRESERVES the working wrap mode functionality
Implementations§
Source§impl<'a> ChoiceContent<'a>
impl<'a> ChoiceContent<'a>
Sourcepub fn new(
choices: &'a [Choice],
menu_fg_color: &'a Option<String>,
menu_bg_color: &'a Option<String>,
selected_menu_fg_color: &'a Option<String>,
selected_menu_bg_color: &'a Option<String>,
highlighted_menu_fg_color: &'a Option<String>,
highlighted_menu_bg_color: &'a Option<String>,
) -> Self
pub fn new( choices: &'a [Choice], menu_fg_color: &'a Option<String>, menu_bg_color: &'a Option<String>, selected_menu_fg_color: &'a Option<String>, selected_menu_bg_color: &'a Option<String>, highlighted_menu_fg_color: &'a Option<String>, highlighted_menu_bg_color: &'a Option<String>, ) -> Self
Create new ChoiceContent
Trait Implementations§
Source§impl<'a> RenderableContent for ChoiceContent<'a>
impl<'a> RenderableContent for ChoiceContent<'a>
Source§fn get_dimensions(&self) -> (usize, usize)
fn get_dimensions(&self) -> (usize, usize)
Get raw choice dimensions - maximum choice width and total choice count
Source§fn get_raw_content(&self) -> String
fn get_raw_content(&self) -> String
Get raw content string for choices
Source§fn get_box_relative_sensitive_zones(&self) -> Vec<SensitiveZone>
fn get_box_relative_sensitive_zones(&self) -> Vec<SensitiveZone>
Get box-relative sensitive zones for choices - raw row/col positions
Source§fn handle_event(&mut self, event: &ContentEvent) -> EventResult
fn handle_event(&mut self, event: &ContentEvent) -> EventResult
Handle content events on choices (click, hover, keypress, etc.) Note: Choice mutation happens at MuxBox level, this validates and processes events
Auto Trait Implementations§
impl<'a> Freeze for ChoiceContent<'a>
impl<'a> RefUnwindSafe for ChoiceContent<'a>
impl<'a> Send for ChoiceContent<'a>
impl<'a> Sync for ChoiceContent<'a>
impl<'a> Unpin for ChoiceContent<'a>
impl<'a> UnsafeUnpin for ChoiceContent<'a>
impl<'a> UnwindSafe for ChoiceContent<'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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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.