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

+17 -8
View File
@@ -3157,6 +3157,22 @@ pub(super) fn message_attribute(source: &str) -> Option<(&'static str, &'static
"XREF: bound \"{}\" with {} unremapped style handles (see bind limitations)." => Some(("insert", "xref-bound-with-unremapped-handles")),
"XREF: cannot bind nested reference '{}'. Bind it in its host drawing." => Some(("insert", "xref-cannot-bind-nested-reference")),
"Unreferenced" => Some(("insert", "unreferenced")),
"Change Path" => Some(("insert", "xref-change-path")),
"Make Absolute" => Some(("insert", "xref-make-absolute")),
"Make Relative" => Some(("insert", "xref-make-relative")),
"Remove Path" => Some(("insert", "xref-remove-path")),
"Select New Path" => Some(("insert", "xref-select-new-path")),
"Select a single reference first." => Some(("insert", "xref-select-a-single-reference-first")),
"Reload All References" => Some(("insert", "xref-reload-all-references")),
"Opened" => Some(("insert", "xref-opened")),
"Untitled" => Some(("insert", "xref-untitled")),
"Unresolved" => Some(("insert", "xref-unresolved")),
"Preview not available" => Some(("insert", "xref-preview-not-available")),
"Reload All" => Some(("insert", "xref-reload-all")),
"DWG" => Some(("insert", "xref-dwg")),
"Pixel Width" => Some(("insert", "xref-pixel-width")),
"Pixel Height" => Some(("insert", "xref-pixel-height")),
"Resolution Unit" => Some(("insert", "xref-resolution-unit")),
"XREF: cannot unload nested reference '{}'. Unload it in its host drawing." => Some(("insert", "xref-cannot-unload-nested-reference")),
"XREF: cannot overlay nested reference '{}'. Overlay it in its host drawing." => Some(("insert", "xref-cannot-overlay-nested-reference")),
"XREF: cannot reload nested reference '{}'. Reload it in its host drawing." => Some(("insert", "xref-cannot-reload-nested-reference")),
@@ -3164,7 +3180,7 @@ pub(super) fn message_attribute(source: &str) -> Option<(&'static str, &'static
"XREF: cannot set path type for nested reference '{}'. Set it in its host drawing." => Some(("insert", "xref-cannot-set-path-type-nested-reference")),
"{}: reload applies to drawing references only." => Some(("insert", "reload-applies-to-drawing-references-only")),
"XREF: \"{}\" set to Attach." => Some(("insert", "xref-set-to-attach")),
"Reference Manager" => Some(("insert", "xref-manager-title")),
"External References" => Some(("insert", "xref-manager-title")),
"XATTACH: cannot attach the host drawing into itself." => Some(("insert", "xref-self-attach-blocked")),
"XREF: cannot bind \"{}\": {}." => Some(("insert", "xref-cannot-bind")),
"XREF: cannot detach nested reference '{}'. Detach it in its host drawing." => Some(("insert", "xref-cannot-detach-nested-reference")),
@@ -3178,10 +3194,6 @@ pub(super) fn message_attribute(source: &str) -> Option<(&'static str, &'static
"XREF: unloaded \"{}\"." => Some(("insert", "xref-unloaded")),
"XREF: unknown option '{}'. Options: ? Reload Unload Detach Path Pathtype Bind Overlay Attach" => Some(("insert", "xref-unknown-option")),
"XREF: updated {} reference(s)." => Some(("insert", "xref-updated-references")),
"XREF Recovered with warnings: \"{}\"" => Some(("file", "xref-recovered-with-warnings")),
"XREF Recovery failed: \"{}\" ({})" => Some(("file", "xref-recovery-failed")),
"XREF Reload failed: \"{}\" ({})" => Some(("insert", "xref-reload-failed")),
"XREF Reloaded with repairs: \"{}\"" => Some(("insert", "xref-reloaded-with-repairs")),
"Usage: XREF Path <pattern> <new path>" => Some(("insert", "usage-xref-path-pattern")),
"Usage: XREF Path Find <old> <new>" => Some(("insert", "usage-xref-path-find")),
"Usage: XREF Pathtype <Full|Relative|None> [pattern]" => Some(("insert", "usage-xref-pathtype")),
@@ -3196,14 +3208,11 @@ pub(super) fn message_attribute(source: &str) -> Option<(&'static str, &'static
"File name" => Some(("insert", "xref-file-name")),
"Found At" => Some(("insert", "found-at")),
"Help" => Some(("insert", "xref-help")),
"Image" => Some(("insert", "image")),
"Nested references are read-only — edit them in their host drawing." => Some(("insert", "xref-nested-references-are-read-only")),
"Not found" => Some(("insert", "not-found")),
"Orphaned" => Some(("insert", "orphaned")),
"Overlay" => Some(("insert", "xref-overlay")),
"Path:" => Some(("insert", "path")),
"PDF" => Some(("insert", "pdf")),
"Reference Manager — select rows, then Detach, Unload, Reload, Overlay, or a Change Path mode." => Some(("insert", "xref-reference-manager-select-rows")),
"Reference Manager — select rows, then Detach, Unload, Reload, Bind, Overlay, or a Change Path mode." => Some(("insert", "xref-reference-manager-select-rows-bind")),
"Bind" => Some(("insert", "xref-bind")),
"Refresh" => Some(("insert", "xref-refresh")),