Point cloud manager: automation for search, folding and selection

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
ramox81andClaude Opus 5.5 committed 2026-09-30 15:01:04 +03:00
1 parent b69ae291bb
commit ae3868944a
1 file changed
+16
+16
View File
@@ -72,6 +72,7 @@ pub(super) const NAMES: &[&str] = &[
"pdf_dialog_ok",
"pdf_layer_toggle",
"pc_manager_toggle",
"pc_manager",
"pdf_page_select",
"pc_colormap",
"ribbon_tab",
@@ -733,6 +734,21 @@ impl OpenCADStudio {
};
Message::PcManager(PcManagerMsg::Toggle(handle, row))
}
// Point Cloud Manager tree: "search=<text>", "collapse", "expand",
// "toggle_node=<key>" or "select=<key>".
"pc_manager" => {
use crate::ui::window::pc_manager::PcManagerMsg as M;
let value = string(req, "value")?;
let (key, arg) = value.split_once('=').unwrap_or((value, ""));
Message::PcManager(match key {
"search" => M::Search(arg.into()),
"collapse" => M::CollapseAll,
"expand" => M::ExpandAll,
"toggle_node" => M::Expand(arg.into()),
"select" => M::Select(arg.into()),
_ => return Err(failure("invalid_value", "Unknown point cloud manager edit")),
})
}
// Attach dialog: choose pages by index ("0,2").
"pdf_page_select" => {
let pages: Vec<usize> = string(req, "value")?