pub trait StyleShell {
Show 29 methods
// Provided methods
fn nav_pane(&self, ui: &mut Ui, sp: &Sp<'_>) { ... }
fn nav_item_size(&self, ui: &mut Ui, sp: &mut Sp<'_>) -> (i32, i32) { ... }
fn nav_item(&self, ui: &mut Ui, sp: &Sp<'_>) { ... }
fn nav_section_size(&self, ui: &mut Ui, sp: &mut Sp<'_>) -> (i32, i32) { ... }
fn nav_section(&self, ui: &mut Ui, sp: &Sp<'_>) { ... }
fn command_bar(&self, ui: &mut Ui, sp: &Sp<'_>) { ... }
fn split_grip(&self, ui: &mut Ui, sp: &Sp<'_>) { ... }
fn breadcrumb_sep(&self, ui: &mut Ui, sp: &Sp<'_>) { ... }
fn segment(&self, ui: &mut Ui, sp: &Sp<'_>) { ... }
fn wizard_step(&self, ui: &mut Ui, sp: &Sp<'_>) { ... }
fn toast(&self, ui: &mut Ui, sp: &mut Sp<'_>) { ... }
fn spinner(&self, ui: &mut Ui, sp: &Sp<'_>) { ... }
fn progress_indeterminate(&self, ui: &mut Ui, sp: &Sp<'_>) { ... }
fn calendar_day(&self, ui: &mut Ui, sp: &Sp<'_>) { ... }
fn dock_group(&self, ui: &mut Ui, sp: &Sp<'_>) { ... }
fn dock_header(&self, ui: &mut Ui, sp: &Sp<'_>) { ... }
fn dock_tab_size(&self, ui: &mut Ui, sp: &mut Sp<'_>) -> (i32, i32) { ... }
fn dock_tab(&self, ui: &mut Ui, sp: &Sp<'_>) { ... }
fn dock_rail(&self, ui: &mut Ui, sp: &Sp<'_>) { ... }
fn dock_marker(&self, ui: &mut Ui, sp: &Sp<'_>) { ... }
fn dock_preview(&self, ui: &mut Ui, sp: &Sp<'_>) { ... }
fn desk_bg(&self, ui: &mut Ui, sp: &Sp<'_>) { ... }
fn desk_window(&self, ui: &mut Ui, sp: &Sp<'_>) { ... }
fn desk_titlebar(&self, ui: &mut Ui, sp: &Sp<'_>) { ... }
fn desk_button(&self, ui: &mut Ui, sp: &Sp<'_>) { ... }
fn desk_snap(&self, ui: &mut Ui, sp: &Sp<'_>) { ... }
fn taskbar(&self, ui: &mut Ui, sp: &Sp<'_>) { ... }
fn taskbar_button_size(&self, ui: &mut Ui, sp: &mut Sp<'_>) -> (i32, i32) { ... }
fn taskbar_button(&self, ui: &mut Ui, sp: &Sp<'_>) { ... }
}Expand description
app shell parts: navigation pane and items, command bar, splitter grip, breadcrumb, segmented control, wizard steps, toasts, spinner, indeterminate progress, calendar cells (shell.rs, notify.rs, datepick.rs). Token-based defaults in stock.rs.
Provided Methods§
the navigation pane’s surface (rect = the pane), flags 1 = compact
navigation item: ev, value 1 = selected, icon, label, label2 = badge text, flags NAV_*; size -> (w, h)
section header of the navigation pane: label, flags NAV_COMPACT (then a divider)
Sourcefn command_bar(&self, ui: &mut Ui, sp: &Sp<'_>)
fn command_bar(&self, ui: &mut Ui, sp: &Sp<'_>)
the bar behind a command bar (rect = the bar)
Sourcefn split_grip(&self, ui: &mut Ui, sp: &Sp<'_>)
fn split_grip(&self, ui: &mut Ui, sp: &Sp<'_>)
splitter grip: ev, flags 1 = vertical split (a horizontal grip)
breadcrumb separator (rect = its place)
Sourcefn segment(&self, ui: &mut Ui, sp: &Sp<'_>)
fn segment(&self, ui: &mut Ui, sp: &Sp<'_>)
segmented control item: ev, value 1 = selected, label, flags SEG_FIRST / SEG_LAST
Sourcefn wizard_step(&self, ui: &mut Ui, sp: &Sp<'_>)
fn wizard_step(&self, ui: &mut Ui, sp: &Sp<'_>)
wizard step row: value step number (from 1), value2 WS_* state, label, ev
Sourcefn toast(&self, ui: &mut Ui, sp: &mut Sp<'_>)
fn toast(&self, ui: &mut Ui, sp: &mut Sp<'_>)
toast card: flags IB_* severity, label title, label2 message; s[0] = close button x, s[1] its size (set by the painter, hence &mut)
Sourcefn spinner(&self, ui: &mut Ui, sp: &Sp<'_>)
fn spinner(&self, ui: &mut Ui, sp: &Sp<'_>)
spinner: value phase 0 .. 1023 (one turn), rect = its square
Sourcefn progress_indeterminate(&self, ui: &mut Ui, sp: &Sp<'_>)
fn progress_indeterminate(&self, ui: &mut Ui, sp: &Sp<'_>)
indeterminate progress bar: value phase 0 .. 1023
Sourcefn calendar_day(&self, ui: &mut Ui, sp: &Sp<'_>)
fn calendar_day(&self, ui: &mut Ui, sp: &Sp<'_>)
day cell of a calendar: label, value 1 = selected, value2 1 = today, flags 1 = other month, ev
Sourcefn dock_group(&self, ui: &mut Ui, sp: &Sp<'_>)
fn dock_group(&self, ui: &mut Ui, sp: &Sp<'_>)
a dock group’s surface (rect = tab strip and content; dock.rs), value 1 = the keyboard focus is in the group
Sourcefn dock_header(&self, ui: &mut Ui, sp: &Sp<'_>)
fn dock_header(&self, ui: &mut Ui, sp: &Sp<'_>)
the tab strip of a dock group (rect = the strip, SM_DOCK_HDR high), value as dock_group
Sourcefn dock_tab_size(&self, ui: &mut Ui, sp: &mut Sp<'_>) -> (i32, i32)
fn dock_tab_size(&self, ui: &mut Ui, sp: &mut Sp<'_>) -> (i32, i32)
a tab of a dock group: label, icon, ev, value 1 = the shown panel, value2 1 = the focus is in the group, flags DOCK_TAB_HOLD = held long enough to be dragged (show it through the tokens); size -> (w, h), the core takes w (a tab is as high as the strip)
fn dock_tab(&self, ui: &mut Ui, sp: &Sp<'_>)
Sourcefn dock_rail(&self, ui: &mut Ui, sp: &Sp<'_>)
fn dock_rail(&self, ui: &mut Ui, sp: &Sp<'_>)
the rail of a collapsed dock side (rect), flags DOCK_LEFT / DOCK_RIGHT / DOCK_BOTTOM
Sourcefn dock_marker(&self, ui: &mut Ui, sp: &Sp<'_>)
fn dock_marker(&self, ui: &mut Ui, sp: &Sp<'_>)
a drop marker while a panel is dragged: value DOCK_MK_* (the part of the place it fills), ev EV_HOVER while the pointer is over it
Sourcefn dock_preview(&self, ui: &mut Ui, sp: &Sp<'_>)
fn dock_preview(&self, ui: &mut Ui, sp: &Sp<'_>)
where the dragged panel would go (rect), value 1 = a floating window there
Sourcefn desk_bg(&self, ui: &mut Ui, sp: &Sp<'_>)
fn desk_bg(&self, ui: &mut Ui, sp: &Sp<'_>)
(L7) the background of a window area (desk.rs; rect = the area)
Sourcefn desk_window(&self, ui: &mut Ui, sp: &Sp<'_>)
fn desk_window(&self, ui: &mut Ui, sp: &Sp<'_>)
a window inside an area: shadow, surface and frame (rect = the window), value 1 = the active window, flags 1 = maximised (it fills the area: no shadow, square)
Sourcefn desk_titlebar(&self, ui: &mut Ui, sp: &Sp<'_>)
fn desk_titlebar(&self, ui: &mut Ui, sp: &Sp<'_>)
its title bar (rect = the bar over the whole width, the buttons are drawn after it): value 1 = active, icon, label = the title; s[0], s[1] = x and width of the icon and title (px)
a button of its title bar: ev, flags HB_MIN / HB_MAX / HB_CLOSE, icon IC_CHROME_*, value 1 = the window is active; default: the style’s caption_button
Sourcefn desk_snap(&self, ui: &mut Ui, sp: &Sp<'_>)
fn desk_snap(&self, ui: &mut Ui, sp: &Sp<'_>)
where a dragged window snaps when it is released now (rect), value 1 = maximised
a window’s button in a taskbar: label, icon, ev, value 1 = the active window, value2 1 = minimised, flags DTB_ICONS (icons only); size -> (w, h), the core takes w (a button is as high as the bar)
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".