Phase 7: Plot settings and PDF export
- Add printpdf 0.9.1 dependency for native PDF generation. - New src/io/pdf_export.rs: converts paper-space WireModels to a PDF page (per-wire stroke color, line weight in Pt, NaN-split segments). White/near-white colors are inverted to black for print output. - Add PlotExport / PlotExportPath messages: opens a save-file dialog and writes a .pdf next to the drawing file. - Add PageSetupOpen/Close/WidthEdit/HeightEdit/Commit messages: a centered modal panel lets the user enter paper width and height (mm); on commit the Layout object's min/max_limits are updated in-place. - Register PRINT / PLOT / EXPORT and PAGESETUP (PS) commands in dispatch_command; fix MVIEW error message to English. - Layout ribbon gains a "Plot" group with Page Setup and Export PDF ribbon buttons. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
ace83a0953
commit
e1d296da10
9 changed files with 1639 additions and 140 deletions
|
|
@ -892,7 +892,7 @@ impl H7CAD {
|
|||
// ── Layout / viewport ──────────────────────────────────────────
|
||||
"MVIEW"|"MV" => {
|
||||
if self.tabs[i].scene.current_layout == "Model" {
|
||||
self.command_line.push_error("MVIEW: önce bir paper space layout'una geçin.");
|
||||
self.command_line.push_error("MVIEW: switch to a paper space layout first.");
|
||||
} else {
|
||||
use crate::modules::layout::mview::MviewCommand;
|
||||
let new_cmd = MviewCommand::new();
|
||||
|
|
@ -901,6 +901,18 @@ impl H7CAD {
|
|||
}
|
||||
}
|
||||
|
||||
// ── Plot / Page Setup ──────────────────────────────────────────
|
||||
"PRINT"|"PLOT"|"EXPORT" => {
|
||||
return Task::done(Message::PlotExport);
|
||||
}
|
||||
"PAGESETUP"|"PS" => {
|
||||
if self.tabs[i].scene.current_layout == "Model" {
|
||||
self.command_line.push_error("PAGESETUP: switch to a paper space layout first.");
|
||||
} else {
|
||||
return Task::done(Message::PageSetupOpen);
|
||||
}
|
||||
}
|
||||
|
||||
_ => self.command_line.push_error(&format!("Unknown command: {cmd}")),
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue