brep_app/workbench/all.rs
1//! The "All" workbench: shows every feature and every toolbar icon.
2//!
3//! Its `includes` predicate accepts every catalogue entry, and its `buttons`
4//! slice is INTENTIONALLY EMPTY — "All"'s toolbar buttons are the DERIVED UNION
5//! of every other workbench's buttons (see [`super::workbench_buttons`]), so this
6//! file never hand-maintains a button list that would rot as workbenches are
7//! added. Adding a new workbench file automatically grows "All".
8
9use super::{FeatureInfo, Workbench, WorkbenchButton};
10
11/// "All" owns every feature — no filtering (classifies off nothing).
12fn includes(_feature: &FeatureInfo<'_>) -> bool {
13 true
14}
15
16/// No hand-maintained buttons: "All" derives its buttons as the union of the
17/// other workbenches (see [`super::workbench_buttons`]).
18static BUTTONS: &[WorkbenchButton] = &[];
19
20/// No panel claims (v1).
21static PANELS: &[&str] = &[];
22
23pub static ALL: Workbench = Workbench {
24 id: "all",
25 label: "All",
26 glyph: "\u{E060}",
27 includes,
28 buttons: BUTTONS,
29 panels: PANELS,
30};