PDF underlays: attach dialog with pages, underlay tab, layers, import settings and file import, unload on the definition

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
ramox81andClaude Opus 5.5 committed 2026-09-24 18:31:40 +03:00
1 parent 0c50013ca7
commit 3f6bdf8c59
57 files changed
+5049 -365

No files matched your search

+11 -6
View File
@@ -1556,6 +1556,17 @@ pub enum CmdResult {
BatchCopy(Vec<Handle>, Vec<EntityTransform>),
/// Erase `handle` and replace with new entities; command stays active.
ReplaceEntity(Handle, Vec<EntityType>),
/// Attach PDF pages: each page's underlay with its file (as stored) and
/// page; the host creates or reuses the definitions and commits them all
/// in one undo step, then ends the command.
/// Open the PDF Import Settings dialog; the command keeps its prompt.
OpenPdfImportSettings,
/// Import a page of a file (PDFIMPORT File); ends the command.
PdfImportFile(crate::modules::insert::pdf_import::PdfFileImport),
AttachPdfPages {
path: String,
pages: Vec<(String, EntityType)>,
},
/// Import the vector content of a PDF underlay (PDFIMPORT); ends the command.
PdfImport(crate::modules::insert::pdf_import::PdfImportRequest),
/// Update one entity in place, preserve its handle, and end the command.
@@ -2846,12 +2857,6 @@ pub trait CadCommand: Send {
None
}
/// If this command attaches a PDF page: its file and page. The host
/// creates (or reuses) the definition with the committed underlay.
fn pdf_attach_source(&self) -> Option<(String, String)> {
None
}
/// The block reference an ATTEDIT pick has resolved to, awaiting the
/// attribute editor dialog; else None.
fn attedit_pending_handle(&self) -> Option<acadrust::Handle> {