feat(xref): docked External References panel with previews and translations

Docked External References panel with host row, thumbnail previews, and translated interface strings.
This commit is contained in:
Karim Jerbi committed 2026-09-15 23:56:31 +01:00
1 parent d0d946a568
commit 019422d220
32 files changed
+2691 -184

No files matched your search

+7
View File
@@ -1812,6 +1812,7 @@ bg={bg_ms:.1}ms n={view_count}"
match id {
crate::ui::dock::PanelId::Properties => self.show_properties,
crate::ui::dock::PanelId::BlockPalette => self.show_block_palette,
crate::ui::dock::PanelId::ExternalReferences => self.show_external_references,
}
};
let edge_stack = |side: crate::app::config::DockSide| -> Option<Element<'_, Message>> {
@@ -2839,6 +2840,12 @@ impl OpenCADStudio {
crate::ui::dock::PanelId::BlockPalette => {
crate::ui::window::block_palette::view(&self.block_palette, width, auto_collapse)
}
crate::ui::dock::PanelId::ExternalReferences => self.xref_manager.view(
width,
auto_collapse,
tab.xref_missing,
&tab.scene.document,
),
};
let divider = dock_divider(id);
match side {
-7
View File
@@ -20,7 +20,6 @@ impl OpenCADStudio {
Some(K::UpdateNotice) => crate::tr!("modal", "update-available"),
Some(K::DonationPrompt) => crate::tr!("donation", "title"),
Some(K::Layers) => crate::tr!("modal", "layer-manager"),
Some(K::XrefManager) => crate::t!("Reference Manager").into_owned(),
Some(K::LayerStateManager) => crate::tr!("modal", "layer-state-manager"),
Some(K::LayerTranslator) => crate::t!("Layer Translator").into_owned(),
Some(K::DrawingUnits) => crate::t!("Drawing Units").into_owned(),
@@ -395,12 +394,6 @@ impl OpenCADStudio {
|flow| tab.layers.view_window(self.layer_name_col_w, flow),
)
}
super::super::ModalKind::XrefManager => {
sized_flow(ex, 960, 560, |flow| {
let missing = self.tabs[self.active_tab].xref_missing;
self.xref_manager.view_window(flow, missing)
})
}
super::super::ModalKind::LayerTranslator => {
use crate::modules::draw::layers::laytrans;
let i = self.active_tab;