pub struct SettingsEditorBottomBar {
id: Id,
rect: Rectangle,
children: Vec<Box<dyn View>>,
}Expand description
Reusable bottom bar component for settings editor views
Provides a consistent bottom bar with white background and configurable button layout. Supports single centered button or two buttons with 50/50 split.
Fields§
§id: Id§rect: Rectangle§children: Vec<Box<dyn View>>Implementations§
Source§impl SettingsEditorBottomBar
impl SettingsEditorBottomBar
Sourcepub fn new(rect: Rectangle, variant: BottomBarVariant) -> Self
pub fn new(rect: Rectangle, variant: BottomBarVariant) -> Self
Creates a new settings editor bottom bar
§Arguments
rect- The rectangle defining the bottom bar’s position and sizevariant- The button layout variant to use
§Returns
A new SettingsEditorBottomBar instance
§Examples
use cadmus_core::view::settings_editor::{SettingsEditorBottomBar, BottomBarVariant};
use cadmus_core::view::Event;
use cadmus_core::geom::{Rectangle, Point};
let rect = Rectangle::new(Point { x: 0, y: 0 }, Point { x: 100, y: 50 });
let bottom_bar = SettingsEditorBottomBar::new(
rect,
BottomBarVariant::SingleButton {
event: Event::Validate,
icon: "check_mark-large",
},
);Sourcefn pagination_rects(rect: Rectangle) -> (Rectangle, Rectangle, Rectangle)
fn pagination_rects(rect: Rectangle) -> (Rectangle, Rectangle, Rectangle)
Splits rect into equal left, center, and right thirds for pagination layouts.
fn push_prev_arrow( children: &mut Vec<Box<dyn View>>, rect: Rectangle, enabled: bool, )
fn push_next_arrow( children: &mut Vec<Box<dyn View>>, rect: Rectangle, enabled: bool, )
Trait Implementations§
Source§impl View for SettingsEditorBottomBar
impl View for SettingsEditorBottomBar
fn handle_event( &mut self, _evt: &Event, _hub: &Hub, _bus: &mut Bus, _rq: &mut RenderQueue, _context: &mut Context, ) -> bool
fn render( &self, _fb: &mut dyn Framebuffer, _rect: Rectangle, _fonts: &mut Fonts, )
fn rect(&self) -> &Rectangle
fn rect_mut(&mut self) -> &mut Rectangle
fn children(&self) -> &Vec<Box<dyn View>>
fn children_mut(&mut self) -> &mut Vec<Box<dyn View>>
fn id(&self) -> Id
fn render_rect(&self, _rect: &Rectangle) -> Rectangle
fn resize( &mut self, rect: Rectangle, _hub: &Hub, _rq: &mut RenderQueue, _context: &mut Context, )
fn child(&self, index: usize) -> &dyn View
fn child_mut(&mut self, index: usize) -> &mut dyn View
fn len(&self) -> usize
fn might_skip(&self, _evt: &Event) -> bool
fn might_rotate(&self) -> bool
fn is_background(&self) -> bool
fn view_id(&self) -> Option<ViewId>
Auto Trait Implementations§
impl Freeze for SettingsEditorBottomBar
impl !RefUnwindSafe for SettingsEditorBottomBar
impl !Send for SettingsEditorBottomBar
impl !Sync for SettingsEditorBottomBar
impl Unpin for SettingsEditorBottomBar
impl UnsafeUnpin for SettingsEditorBottomBar
impl !UnwindSafe for SettingsEditorBottomBar
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<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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