pub struct SettingsEditor {
id: Id,
rect: Rectangle,
children: Vec<Box<dyn View>>,
nav_bar_index: usize,
editor_index: usize,
editors: FxHashMap<Category, Box<dyn View>>,
}Expand description
Main settings editor view.
This is the top-level view that displays a navigation bar with category tabs and an embedded category editor below it. When a category tab is selected, the editor switches to show that category’s settings.
§Structure
id: Unique identifier for this viewrect: Bounding rectangle for the entire settings editorchildren: Child views including the top bar, separators, navigation bar, and category editornav_bar_index: Index of the StackNavigationBar in the children vectoreditor_index: Index of the CategoryEditor in the children vectoreditors: Pre-builtCategoryEditorinstances for all inactive categories, keyed byCategory. On tab switch the active editor is returned here and the target is pulled out, avoiding a full view-tree rebuild on every navigation. TheCategory::Librarieseditor is included and stays current because every library mutation callsrebuild_library_rowsbefore returning.
Fields§
§id: Id§rect: Rectangle§children: Vec<Box<dyn View>>§editor_index: usize§editors: FxHashMap<Category, Box<dyn View>>Implementations§
Source§impl SettingsEditor
impl SettingsEditor
pub fn new(rect: Rectangle, rq: &mut RenderQueue, context: &mut Context) -> Self
fn calculate_dimensions() -> (i32, i32, i32, i32)
fn build_top_bar( rect: &Rectangle, bar_height: i32, separator_top_half: i32, context: &mut Context, ) -> Box<dyn View>
fn build_top_separator( rect: &Rectangle, bar_height: i32, separator_top_half: i32, separator_bottom_half: i32, ) -> Box<dyn View>
Trait Implementations§
Source§impl View for SettingsEditor
impl View for SettingsEditor
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 is_background(&self) -> bool
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 view_id(&self) -> Option<ViewId>
Auto Trait Implementations§
impl Freeze for SettingsEditor
impl !RefUnwindSafe for SettingsEditor
impl !Send for SettingsEditor
impl !Sync for SettingsEditor
impl Unpin for SettingsEditor
impl UnsafeUnpin for SettingsEditor
impl !UnwindSafe for SettingsEditor
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