forked from 1b-agent/opencadstudio-upstream
WIP count feature
This commit is contained in:
1 parent
b8def31145
commit
e29b408bda
26 files changed
+1887
-44
No files matched your search
@@ -606,6 +606,10 @@ pub(super) fn on_ribbon_tool_click(&mut self, tool_id: String, event: ModuleEven
|
||||
PanelId::PointCloudManager => {
|
||||
self.pc_manager.show = false;
|
||||
}
|
||||
PanelId::Count => {
|
||||
self.count_palette.show = false;
|
||||
self.ribbon.set_count_palette(false);
|
||||
}
|
||||
PanelId::Properties => {
|
||||
self.show_properties = false;
|
||||
self.ribbon.set_properties(false);
|
||||
@@ -711,6 +715,7 @@ pub(super) fn on_ribbon_tool_click(&mut self, tool_id: String, event: ModuleEven
|
||||
PanelId::Browser => self.show_browser,
|
||||
PanelId::NodeGraph => self.show_node_graph,
|
||||
PanelId::PointCloudManager => self.pc_manager.show,
|
||||
PanelId::Count => self.count_palette.show,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -744,6 +744,9 @@ impl OpenCADStudio {
|
||||
block_mru_list: self.block_mru_list,
|
||||
block_redefine_mode: self.block_redefine_mode,
|
||||
block_navigate: self.block_navigate.clone(),
|
||||
count_color: self.count_palette.color,
|
||||
count_error_color: self.count_palette.error_color,
|
||||
count_service: self.count_palette.service,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -874,6 +877,9 @@ impl OpenCADStudio {
|
||||
self.block_mru_list = s.block_mru_list.min(100);
|
||||
self.block_redefine_mode = s.block_redefine_mode.min(2);
|
||||
self.block_navigate = s.block_navigate.clone();
|
||||
self.count_palette.color = s.count_color;
|
||||
self.count_palette.error_color = s.count_error_color;
|
||||
self.count_palette.service = s.count_service;
|
||||
self.block_palette.recent = s.block_recent.clone();
|
||||
self.block_palette.favorites = s.block_favorites.clone();
|
||||
self.block_palette.libraries = s.block_libraries.clone();
|
||||
@@ -5520,7 +5526,7 @@ impl OpenCADStudio {
|
||||
/// Current visible rectangle in the active space. The result is deliberately
|
||||
/// not clamped to the paper sheet: Display and Window may include the grey
|
||||
/// canvas outside the sheet, matching Model-space plotting.
|
||||
fn display_plot_window(&self) -> Option<(f64, f64, f64, f64)> {
|
||||
pub(in crate::app) fn display_plot_window(&self) -> Option<(f64, f64, f64, f64)> {
|
||||
let scene = &self.tabs[self.active_tab].scene;
|
||||
let (canvas_w, canvas_h) = scene.selection.borrow().vp_size;
|
||||
let viewport = if scene.current_layout == "Model" {
|
||||
|
||||
@@ -493,6 +493,8 @@ impl OpenCADStudio {
|
||||
// The Reference Manager watches the active drawing and re-scans when
|
||||
// the palette is open on another tab's entries.
|
||||
self.refresh_xref_manager_if_stale();
|
||||
// Count mode recolours its references after the drawing changes.
|
||||
self.refresh_count_if_stale();
|
||||
// Let V4 plugins observe selection changes that happened while handling
|
||||
// this message (picking, window select, QSELECT, SELECTALL, grip edits,
|
||||
// and plugin request draining).
|
||||
@@ -1819,6 +1821,7 @@ impl OpenCADStudio {
|
||||
Message::AttdefDialog(message) => self.on_attdef_dialog(message),
|
||||
Message::FieldDialog(message) => self.on_field_dialog(message),
|
||||
Message::PcManager(message) => self.update_pc_manager(message),
|
||||
Message::Count(message) => self.on_count(message),
|
||||
Message::RibbonSelectTab(idx) => {
|
||||
self.ribbon.select(idx);
|
||||
Task::none()
|
||||
|
||||
Reference in new issue
Block a user