crates\nfarms-gui\src\plugins\stubs.rs¶
源码路径:
crates\nfarms-gui\src\plugins\stubs.rs· 37 行
//! 占位渲染器 —— 现在**不再挂给任何页面**了。
//!
//! 34 页全部有真实现之后,`renderer_for` 里的 `_ => stubs::placeholder`
//! 变成了 unreachable pattern,于是那条兜底被删掉了(编译器替我们证明
//! 「一页都没漏」)。
//!
//! 留着这个函数有两个用处:
//!
//! 1. 测试里需要一个「随便什么渲染器」来构造 [`PageSpec`](super::PageSpec);
//! 2. 以后再新加一页,可以先把 `renderer_for` 那行写成 `stubs::placeholder`,
//! 程序立刻能跑 —— 比留个 `todo!()` 让它崩掉强。
//!
//! 它「还没做」这件事需要的信息全在 [`crate::pages::PageInfo`] 里,
//! 而当前页是 [`PageCtx::page`] 告诉我们的 —— 所以一个函数就够,不用二十个。
#![allow(dead_code)]
use super::PageCtx;
use super::ui;
pub fn placeholder(cx: &mut PageCtx<'_>) {
let info = cx.page.info();
ui::placeholder_body(cx.ui, info);
// 顺手给一条「这一页在功能树里的位置」—— 免得用户看着侧栏的小字发懵
cx.ui.add_space(12.0);
ui::card(cx.ui, |ui| {
ui::section(
ui,
info.group.nav(),
info.group.note(),
);
ui.add_space(6.0);
ui::kv(ui, "页面 id", info.id);
ui::kv(ui, "图标", info.icon);
});
}