pub struct SettingsModal {
pub selected: usize,
pub detail_selected: usize,
pub prompt: Option<SettingsPrompt>,
pub section: ConfigSection,
pub level: ConfigLevel,
}Expand description
The Config mode’s cursor state: the active section, the drill-down level, the index cursor (one row per record in the section), the dashboard detail cursor, and an optional inline prompt.
Fields§
§selected: usizeRow cursor within the active section’s index (one row per board, cycle, milestone, type, or attribute).
detail_selected: usizeRow cursor within a dashboard’s detail (a board’s columns, then the display toggles, then the general rows).
prompt: Option<SettingsPrompt>Active inline prompt (None = browsing).
section: ConfigSectionThe active section.
level: ConfigLevelWhich level of the drill-down holds the focus.
Implementations§
Source§impl SettingsModal
impl SettingsModal
pub fn new() -> Self
Sourcepub fn focus(&mut self, level: ConfigLevel)
pub fn focus(&mut self, level: ConfigLevel)
Focus level (an h/l step, or a click on that level).
Sourcepub fn move_level(&mut self, delta: isize)
pub fn move_level(&mut self, delta: isize)
Move the level focus delta levels along the vertical axis, clamped at
the ends (Sections at the top, Detail at the bottom) rather than
wrapping.
Sourcepub fn set_section(&mut self, section: ConfigSection)
pub fn set_section(&mut self, section: ConfigSection)
Switch to section, putting the index and detail cursors back at the
top when the section changes (the cursors are per-section state).
Sourcepub fn move_selected(&mut self, delta: isize, total_rows: usize)
pub fn move_selected(&mut self, delta: isize, total_rows: usize)
Move the index cursor (clamped to total_rows).
Sourcepub fn move_detail(&mut self, delta: isize, total_rows: usize)
pub fn move_detail(&mut self, delta: isize, total_rows: usize)
Move the detail cursor (clamped to total_rows).
Sourcepub fn move_selected_to(&mut self, row: usize, total_rows: usize)
pub fn move_selected_to(&mut self, row: usize, total_rows: usize)
Jump the index cursor straight to row (a row click, D6), clamped to
the same range the arrow keys navigate.
Sourcepub fn move_detail_to(&mut self, row: usize, total_rows: usize)
pub fn move_detail_to(&mut self, row: usize, total_rows: usize)
Jump the detail cursor straight to row (a row click, D6), clamped to
the same range the arrow keys navigate.
Sourcepub fn render_body(
&self,
f: &mut Frame<'_>,
rect: Rect,
view: DashboardView<'_>,
bindings: &EffectiveBindings,
focused: bool,
)
pub fn render_body( &self, f: &mut Frame<'_>, rect: Rect, view: DashboardView<'_>, bindings: &EffectiveBindings, focused: bool, )
Render the board rows of the dashboards detail: the column checkboxes, the display toggles, the general rows, and the active prompt. Shared by the Config mode’s dashboards detail and the widget’s own tests.
focused is whether the detail owns the Config mode’s focus; the
focused detail’s border is accented and an unfocused one dimmed.
Trait Implementations§
Source§impl Clone for SettingsModal
impl Clone for SettingsModal
Source§impl Debug for SettingsModal
impl Debug for SettingsModal
Auto Trait Implementations§
impl Freeze for SettingsModal
impl RefUnwindSafe for SettingsModal
impl Send for SettingsModal
impl Sync for SettingsModal
impl Unpin for SettingsModal
impl UnsafeUnpin for SettingsModal
impl UnwindSafe for SettingsModal
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> ⓘ
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> ⓘ
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