forked from 1b-agent/opencadstudio-upstream
feat(xref): reference list with stale and orphaned status detection
Reference list rows showing stale and orphaned states with handle-based identity.
This commit is contained in:
1 parent
37e2b50e1c
commit
42219a4b8c
9 files changed
+442
-1141
No files matched your search
@@ -314,6 +314,9 @@ impl OpenCADStudio {
|
||||
// The block panel watches the drawing's block list and rebuilds its
|
||||
// thumbnails whenever the names change (BLOCK define, file open, …).
|
||||
self.refresh_block_palette_if_stale();
|
||||
// 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();
|
||||
// Let V4 plugins observe selection changes that happened while handling
|
||||
// this message (picking, window select, QSELECT, SELECTALL, grip edits,
|
||||
// and plugin request draining).
|
||||
@@ -2127,6 +2130,33 @@ impl OpenCADStudio {
|
||||
Task::none()
|
||||
}
|
||||
|
||||
Message::ToggleXrefManager => {
|
||||
if self.active_modal == Some(super::ModalKind::XrefManager) {
|
||||
self.active_modal = None;
|
||||
self.reset_modal_geometry();
|
||||
} else {
|
||||
self.refresh_xref_manager();
|
||||
self.active_modal = Some(super::ModalKind::XrefManager);
|
||||
}
|
||||
Task::none()
|
||||
}
|
||||
Message::XrefManagerRefresh => {
|
||||
self.refresh_xref_manager();
|
||||
Task::none()
|
||||
}
|
||||
Message::XrefManagerSelect(index) => {
|
||||
self.xref_manager.toggle_select(index);
|
||||
Task::none()
|
||||
}
|
||||
Message::XrefManagerToggleTree => {
|
||||
self.xref_manager.toggle_tree();
|
||||
Task::none()
|
||||
}
|
||||
Message::XrefManagerToggleExpand(key) => {
|
||||
self.xref_manager.toggle_expand(key);
|
||||
Task::none()
|
||||
}
|
||||
|
||||
Message::LayerStateManagerOpen => {
|
||||
let i = self.active_tab;
|
||||
self.ribbon.close_dropdown();
|
||||
|
||||
Reference in new issue
Block a user