From e30b6398b7b7b871ffc5414d10c3c233cf3badab Mon Sep 17 00:00:00 2001 From: Jeff Young Date: Wed, 13 Mar 2024 23:40:18 +0000 Subject: [PATCH] ADDED: optional PDF metadata from AUTHOR and SUBJECT variables. Fixes https://gitlab.com/kicad/code/kicad/-/issues/17289 --- common/jobs/job_export_sch_plot.cpp | 1 + common/jobs/job_export_sch_plot.h | 1 + common/pcb_plot_params.keywords | 1 + common/plotters/PDF_plotter.cpp | 8 +- eeschema/dialogs/dialog_plot_schematic.cpp | 4 + .../dialogs/dialog_plot_schematic_base.cpp | 9 +- .../dialogs/dialog_plot_schematic_base.fbp | 3491 +++---- eeschema/dialogs/dialog_plot_schematic_base.h | 3 +- eeschema/eeschema_jobs_handler.cpp | 1 + eeschema/eeschema_settings.cpp | 3 + eeschema/eeschema_settings.h | 1 + eeschema/sch_plotter.cpp | 13 + eeschema/sch_plotter.h | 2 + include/plotters/plotter.h | 5 +- kicad/cli/command_sch_export_plot.cpp | 6 + pcbnew/dialogs/dialog_plot.cpp | 17 + pcbnew/dialogs/dialog_plot_base.cpp | 7 +- pcbnew/dialogs/dialog_plot_base.fbp | 8814 +++++++++-------- pcbnew/dialogs/dialog_plot_base.h | 3 +- pcbnew/pcb_plot_params.cpp | 11 + pcbnew/pcb_plot_params.h | 1 + 21 files changed, 6351 insertions(+), 6051 deletions(-) diff --git a/common/jobs/job_export_sch_plot.cpp b/common/jobs/job_export_sch_plot.cpp index 81235fd661..e7d266b16b 100644 --- a/common/jobs/job_export_sch_plot.cpp +++ b/common/jobs/job_export_sch_plot.cpp @@ -34,6 +34,7 @@ JOB_EXPORT_SCH_PLOT::JOB_EXPORT_SCH_PLOT( bool aIsCli, SCH_PLOT_FORMAT aPlotForm m_HPGLPenSize( 1.0 ), m_HPGLPaperSizeSelect( JOB_HPGL_PAGE_SIZE::DEFAULT ), m_PDFPropertyPopups( true ), + m_PDFMetadata( true ), m_theme(), m_outputDirectory(), m_outputFile(), diff --git a/common/jobs/job_export_sch_plot.h b/common/jobs/job_export_sch_plot.h index 5f1e8101c3..3cec6001c1 100644 --- a/common/jobs/job_export_sch_plot.h +++ b/common/jobs/job_export_sch_plot.h @@ -91,6 +91,7 @@ public: double m_HPGLPenSize; // for HPGL format only: pen size JOB_HPGL_PAGE_SIZE m_HPGLPaperSizeSelect; bool m_PDFPropertyPopups; + bool m_PDFMetadata; wxString m_theme; wxString m_outputDirectory; diff --git a/common/pcb_plot_params.keywords b/common/pcb_plot_params.keywords index cb72ce4a2e..5ac42d1fe4 100644 --- a/common/pcb_plot_params.keywords +++ b/common/pcb_plot_params.keywords @@ -24,6 +24,7 @@ outputformat pcbplotparams pdf_back_fp_property_popups pdf_front_fp_property_popups +pdf_metadata plotframeref plotfptext plotinvisibletext diff --git a/common/plotters/PDF_plotter.cpp b/common/plotters/PDF_plotter.cpp index d95be91778..b353ce9aff 100644 --- a/common/plotters/PDF_plotter.cpp +++ b/common/plotters/PDF_plotter.cpp @@ -1463,10 +1463,14 @@ function ShM(aEntries) { "/Producer (KiCad PDF)\n" "/CreationDate (%s)\n" "/Creator %s\n" - "/Title %s\n", + "/Title %s\n" + "/Author %s\n" + "/Subject %s\n", date_buf, encodeStringForPlotter( m_creator ).c_str(), - encodeStringForPlotter( m_title ).c_str() ); + encodeStringForPlotter( m_title ).c_str(), + encodeStringForPlotter( m_author ).c_str(), + encodeStringForPlotter( m_subject ).c_str() ); fputs( ">>\n", m_outputFile ); closePdfObject(); diff --git a/eeschema/dialogs/dialog_plot_schematic.cpp b/eeschema/dialogs/dialog_plot_schematic.cpp index c9659b8f99..c710d371b3 100644 --- a/eeschema/dialogs/dialog_plot_schematic.cpp +++ b/eeschema/dialogs/dialog_plot_schematic.cpp @@ -111,6 +111,7 @@ void DIALOG_PLOT_SCHEMATIC::initDlg() setOpenFileAfterPlot( cfg->m_PlotPanel.open_file_after_plot ); m_plotPDFPropertyPopups->SetValue( cfg->m_PlotPanel.pdf_property_popups ); + m_plotPDFMetadata->SetValue( cfg->m_PlotPanel.pdf_metadata ); // HPGL plot origin and unit system configuration m_plotOriginOpt->SetSelection( cfg->m_PlotPanel.hpgl_origin ); @@ -269,6 +270,7 @@ void DIALOG_PLOT_SCHEMATIC::OnUpdateUI( wxUpdateUIEvent& event ) m_openFileAfterPlot->Enable( fmt == PLOT_FORMAT::PDF ); m_plotPDFPropertyPopups->Enable( fmt == PLOT_FORMAT::PDF ); + m_plotPDFMetadata->Enable( fmt == PLOT_FORMAT::PDF ); m_paperSizeOption->Set( paperSizes ); m_paperSizeOption->SetSelection( selection ); @@ -308,6 +310,7 @@ void DIALOG_PLOT_SCHEMATIC::getPlotOptions( RENDER_SETTINGS* aSettings ) cfg->m_PlotPanel.hpgl_origin = m_plotOriginOpt->GetSelection(); cfg->m_PlotPanel.hpgl_paper_size = static_cast( m_HPGLPaperSizeSelect ); cfg->m_PlotPanel.pdf_property_popups = m_plotPDFPropertyPopups->GetValue(); + cfg->m_PlotPanel.pdf_metadata = m_plotPDFMetadata->GetValue(); cfg->m_PlotPanel.open_file_after_plot = getOpenFileAfterPlot(); // HPGL Pen Size is stored in mm in config @@ -382,6 +385,7 @@ void DIALOG_PLOT_SCHEMATIC::plotSchematic( bool aPlotAll ) plotSettings.m_useBackgroundColor = m_plotBackgroundColor->GetValue(); plotSettings.m_theme = colors->GetFilename(); plotSettings.m_PDFPropertyPopups = m_plotPDFPropertyPopups->GetValue(); + plotSettings.m_PDFMetadata = m_plotPDFMetadata->GetValue(); plotSettings.m_HPGLPaperSizeSelect = static_cast( m_HPGLPaperSizeSelect ); plotSettings.m_HPGLPlotOrigin = static_cast( m_plotOriginOpt->GetSelection() ); diff --git a/eeschema/dialogs/dialog_plot_schematic_base.cpp b/eeschema/dialogs/dialog_plot_schematic_base.cpp index 88c51237be..91e6939623 100644 --- a/eeschema/dialogs/dialog_plot_schematic_base.cpp +++ b/eeschema/dialogs/dialog_plot_schematic_base.cpp @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version 3.10.0-39-g3487c3cb) +// C++ code generated with wxFormBuilder (version 4.0.0-0-g0efcecf) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! @@ -116,7 +116,7 @@ DIALOG_PLOT_SCHEMATIC_BASE::DIALOG_PLOT_SCHEMATIC_BASE( wxWindow* parent, wxWind sbOptions->Add( gbSizer1, 1, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 ); - m_optionsSizer->Add( sbOptions, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 ); + m_optionsSizer->Add( sbOptions, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); wxBoxSizer* bOptionsRight; bOptionsRight = new wxBoxSizer( wxVERTICAL ); @@ -164,6 +164,11 @@ DIALOG_PLOT_SCHEMATIC_BASE::DIALOG_PLOT_SCHEMATIC_BASE( wxWindow* parent, wxWind m_plotPDFPropertyPopups->SetValue(true); sbSizer4->Add( m_plotPDFPropertyPopups, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); + m_plotPDFMetadata = new wxCheckBox( sbSizer4->GetStaticBox(), wxID_ANY, _("Generate metadata from AUTHOR && SUBJECT variables"), wxDefaultPosition, wxDefaultSize, 0 ); + m_plotPDFMetadata->SetToolTip( _("Generate PDF document properties from AUTHOR and SUBJECT text variables") ); + + sbSizer4->Add( m_plotPDFMetadata, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); + bOptionsRight->Add( sbSizer4, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 ); diff --git a/eeschema/dialogs/dialog_plot_schematic_base.fbp b/eeschema/dialogs/dialog_plot_schematic_base.fbp index 78dd49ec34..d6d8019a97 100644 --- a/eeschema/dialogs/dialog_plot_schematic_base.fbp +++ b/eeschema/dialogs/dialog_plot_schematic_base.fbp @@ -1,1723 +1,1812 @@ - + - - - - C++ - 1 - source_name - 0 - 0 - res - UTF-8 - connect - dialog_plot_schematic_base - 1000 - none - - - 1 - Dialog_plot_schematic_base - - . - - 1 - 1 - 1 - 1 - UI - 0 - 1 - 0 - - 0 - wxAUI_MGR_DEFAULT - - - - 1 - 1 - impl_virtual - - - - 0 - wxID_ANY - - -1,-1 - DIALOG_PLOT_SCHEMATIC_BASE - - -1,-1 - wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER - DIALOG_SHIM; dialog_shim.h - Plot Schematic Options - - 0 - - - - OnCloseWindow - OnUpdateUI - + + + + C++ + 1 + source_name + 0 + 0 + res + UTF-8 + connect + dialog_plot_schematic_base + 1000 + none + + + 1 + Dialog_plot_schematic_base + + . + + 1 + 1 + 1 + 1 + UI + 0 + 1 + 0 + + 0 + wxAUI_MGR_DEFAULT + + + + 1 + 0 + 1 + impl_virtual + + + + 0 + wxID_ANY + + -1,-1 + DIALOG_PLOT_SCHEMATIC_BASE + + -1,-1 + wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER + DIALOG_SHIM; dialog_shim.h + Plot Schematic Options + + 0 + + + + OnCloseWindow + OnUpdateUI + + + bMainSizer + wxVERTICAL + none + + 7 + wxALL|wxEXPAND + 0 + + + bSizerDir + wxHORIZONTAL + none + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Output directory: + 0 + + 0 + + + 0 - bMainSizer + 1 + m_staticTextOutputDirectory + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + 4 + wxALIGN_CENTER_VERTICAL|wxLEFT + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + 0 + + 0 + + 1 + m_outputDirectoryName + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + Target directory for plot files. Can be absolute or relative to the schematic main file location. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_VERTICAL|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + 0 + + + + + 1 + 0 + 1 + + 1 + + 0 + 0 + + Dock + 0 + Left + 0 + 1 + + 1 + + + 0 + 0 + wxID_ANY + Browse + + 0 + + 0 + + + 0 + -1,-1 + 1 + m_browseButton + 1 + + + protected + 1 + + + + Resizable + 1 + + + STD_BITMAP_BUTTON; widgets/std_bitmap_button.h; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + OnOutputDirectoryBrowseClicked + + + + + + 5 + wxEXPAND|wxRIGHT|wxLEFT + 0 + + + m_optionsSizer + wxHORIZONTAL + protected + + 5 + wxALIGN_TOP|wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "Postscript" "PDF" "SVG" "DXF" "HPGL" + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Output Format + 1 + + 0 + + + 0 + + 1 + m_plotFormatOpt + 1 + + + protected + 1 + + Resizable + 2 + 1 + + wxRA_SPECIFY_COLS + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + OnPlotFormatSelection + + + + 5 + wxEXPAND|wxRIGHT|wxLEFT + 0 + + wxID_ANY + Options + + sbOptions + wxVERTICAL + 1 + none + + 5 + wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT + 1 + + -1,10 + wxBOTH + 1 + + 3 + + gbSizer1 + wxFLEX_GROWMODE_SPECIFIED + none + 5 + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Page size: + 0 + + 0 + + + 0 + + 1 + m_staticText4 + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + 5 + 2 + 1 + wxEXPAND|wxALIGN_CENTER_VERTICAL + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "Schematic size" "A4" "A" + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_paperSizeOption + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + OnPageSizeSelected + + + + 5 + 2 + 0 + wxALIGN_CENTER_VERTICAL + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Plot drawing sheet + + 0 + + + 0 + + 1 + m_plotDrawingSheet + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + Plot the drawing sheet border and title block + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL + 3 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Output mode: + 0 + + 0 + + + 0 + + 1 + bOutputModeLabel + 1 + + + none + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + + + + 5 + 2 + 1 + wxALIGN_CENTER_VERTICAL|wxEXPAND + 3 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "Color" "Black and White" + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_ModeColorOption + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL + 4 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Color theme: + 0 + + 0 + + + 0 + + 1 + m_staticText9 + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + 5 + 2 + 1 + wxEXPAND|wxALIGN_CENTER_VERTICAL + 4 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_colorTheme + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + ; ; forward_declare + 0 + Select the color theme to use for plotting + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + 3 + 0 + wxALIGN_CENTER_VERTICAL|wxEXPAND + 5 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Plot background color + + 0 + + + 0 + + 1 + m_plotBackgroundColor + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + Plot the background color if the output format supports it + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL + 7 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Minimum line width: + 0 + + 0 + + + 0 + + 1 + m_lineWidthLabel + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + 5 + 1 + 1 + wxEXPAND|wxALIGN_CENTER_VERTICAL + 7 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + 0 + + 0 + + 1 + m_lineWidthCtrl + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + Selection of the default pen thickness used to draw items, when their thickness is set to 0. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + 1 + 2 + wxALIGN_CENTER_VERTICAL + 7 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + mm + 0 + + 0 + + + 0 + + 1 + m_lineWidthUnits + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + + + + + + + + 5 + wxEXPAND + 1 + + + bOptionsRight wxVERTICAL none - - 7 - wxALL|wxEXPAND - 0 - + + 5 + wxEXPAND|wxRIGHT|wxLEFT + 0 + + wxID_ANY + HPGL Options + + m_HPGLOptionsSizer + wxVERTICAL + 1 + protected + + 5 + wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT + 1 + + + wxBOTH + 1 + + 3 - bSizerDir - wxHORIZONTAL + gbSizer2 + wxFLEX_GROWMODE_SPECIFIED none - - 5 - wxALL|wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Output directory: - 0 - - 0 - - - 0 - - 1 - m_staticTextOutputDirectory - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - - - -1 - + 3 + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Position and units: + 0 + + 0 + + + 0 + + 1 + m_plotOriginTitle + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + - - 4 - wxALIGN_CENTER_VERTICAL|wxLEFT - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - 0 - - 0 - - 1 - m_outputDirectoryName - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - Target directory for plot files. Can be absolute or relative to the schematic main file location. - - wxFILTER_NONE - wxDefaultValidator - - - - - - + + 5 + 2 + 1 + wxEXPAND + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "Bottom left, plotter units" "Centered, plotter units" "Page fit, user units" "Content fit, user units" + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_plotOriginOpt + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + - - 5 - wxALIGN_CENTER_VERTICAL|wxRIGHT - 0 - - 1 - 1 - 1 - 1 - - - - - 0 - - - - - 1 - 0 - 1 - - 1 - - 0 - 0 - - Dock - 0 - Left - 1 - - 1 - - - 0 - 0 - wxID_ANY - Browse - - 0 - - 0 - - - 0 - -1,-1 - 1 - m_browseButton - 1 - - - protected - 1 - - - - Resizable - 1 - - - STD_BITMAP_BUTTON; widgets/std_bitmap_button.h; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - OnOutputDirectoryBrowseClicked - + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Pen width: + 0 + + 0 + + + 0 + + 1 + m_penWidthLabel + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + 5 + 1 + 1 + wxALIGN_CENTER_VERTICAL|wxEXPAND + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + 0 + + 0 + + 1 + m_penWidthCtrl + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + 1 + 2 + wxALIGN_CENTER_VERTICAL + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + mm + 0 + + 0 + + + 0 + + 1 + m_penWidthUnits + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + + + + - - 5 - wxEXPAND|wxRIGHT|wxLEFT - 0 - + + 5 + wxEXPAND|wxTOP|wxRIGHT|wxLEFT + 1 + + wxID_ANY + PDF Options + + sbSizer4 + wxVERTICAL + 1 + none + + 5 + wxBOTTOM|wxRIGHT|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Generate property popups + + 0 + + + 0 - m_optionsSizer - wxHORIZONTAL + 1 + m_plotPDFPropertyPopups + 1 + + protected - - 5 - wxALIGN_TOP|wxEXPAND|wxLEFT|wxRIGHT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - "Postscript" "PDF" "SVG" "DXF" "HPGL" - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Output Format - 1 - - 0 - - - 0 - - 1 - m_plotFormatOpt - 1 - - - protected - 1 - - Resizable - 2 - 1 - - wxRA_SPECIFY_COLS - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - OnPlotFormatSelection - - - - 5 - wxEXPAND|wxRIGHT|wxLEFT - 1 - - wxID_ANY - Options - - sbOptions - wxVERTICAL - 1 - none - - 5 - wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT - 1 - - -1,10 - wxBOTH - 1 - - 3 - - gbSizer1 - wxFLEX_GROWMODE_SPECIFIED - none - 5 - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL - 0 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Page size: - 0 - - 0 - - - 0 - - 1 - m_staticText4 - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - - - -1 - - - - 5 - 2 - 1 - wxEXPAND|wxALIGN_CENTER_VERTICAL - 0 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - "Schematic size" "A4" "A" - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_paperSizeOption - 1 - - - protected - 1 - - Resizable - 0 - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - OnPageSizeSelected - - - - 5 - 2 - 0 - wxALIGN_CENTER_VERTICAL - 1 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Plot drawing sheet - - 0 - - - 0 - - 1 - m_plotDrawingSheet - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - Plot the drawing sheet border and title block - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL - 3 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Output mode: - 0 - - 0 - - - 0 - - 1 - bOutputModeLabel - 1 - - - none - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - 5 - 2 - 1 - wxALIGN_CENTER_VERTICAL|wxEXPAND - 3 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - "Color" "Black and White" - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_ModeColorOption - 1 - - - protected - 1 - - Resizable - 0 - 1 - - - ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL - 4 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Color theme: - 0 - - 0 - - - 0 - - 1 - m_staticText9 - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - - - -1 - - - - 5 - 2 - 1 - wxEXPAND|wxALIGN_CENTER_VERTICAL - 4 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_colorTheme - 1 - - - protected - 1 - - Resizable - 0 - 1 - - - ; ; forward_declare - 0 - Select the color theme to use for plotting - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - 3 - 0 - wxALIGN_CENTER_VERTICAL|wxEXPAND - 5 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Plot background color - - 0 - - - 0 - - 1 - m_plotBackgroundColor - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - Plot the background color if the output format supports it - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL - 7 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Minimum line width: - 0 - - 0 - - - 0 - - 1 - m_lineWidthLabel - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - - - -1 - - - - 5 - 1 - 1 - wxEXPAND|wxALIGN_CENTER_VERTICAL - 7 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - 0 - - 0 - - 1 - m_lineWidthCtrl - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - Selection of the default pen thickness used to draw items, when their thickness is set to 0. - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - 5 - 1 - 2 - wxALIGN_CENTER_VERTICAL - 7 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - mm - 0 - - 0 - - - 0 - - 1 - m_lineWidthUnits - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - - - - - 5 - wxEXPAND - 1 - - - bOptionsRight - wxVERTICAL - none - - 5 - wxEXPAND|wxRIGHT|wxLEFT - 0 - - wxID_ANY - HPGL Options - - m_HPGLOptionsSizer - wxVERTICAL - 1 - protected - - 5 - wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT - 1 - - - wxBOTH - 1 - - 3 - - gbSizer2 - wxFLEX_GROWMODE_SPECIFIED - none - 3 - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL - 0 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Position and units: - 0 - - 0 - - - 0 - - 1 - m_plotOriginTitle - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - 5 - 2 - 1 - wxEXPAND - 0 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - "Bottom left, plotter units" "Centered, plotter units" "Page fit, user units" "Content fit, user units" - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_plotOriginOpt - 1 - - - protected - 1 - - Resizable - 0 - 1 - - - ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL - 1 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Pen width: - 0 - - 0 - - - 0 - - 1 - m_penWidthLabel - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - - - -1 - - - - 5 - 1 - 1 - wxALIGN_CENTER_VERTICAL|wxEXPAND - 1 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - 0 - - 0 - - 1 - m_penWidthCtrl - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - 5 - 1 - 2 - wxALIGN_CENTER_VERTICAL - 1 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - mm - 0 - - 0 - - - 0 - - 1 - m_penWidthUnits - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - - - - - 5 - wxEXPAND|wxTOP|wxRIGHT|wxLEFT - 1 - - wxID_ANY - PDF Options - - sbSizer4 - wxVERTICAL - 1 - none - - 5 - wxBOTTOM|wxRIGHT|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Generate property popups - - 0 - - - 0 - - 1 - m_plotPDFPropertyPopups - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - - 5 - wxEXPAND|wxTOP|wxRIGHT|wxLEFT - 1 - - wxID_ANY - Other options - - m_otherOptions - wxVERTICAL - 1 - protected - - 5 - wxBOTTOM|wxRIGHT|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Open file after plot - - 0 - - - 0 - - 1 - m_openFileAfterPlot - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - Open output file with associated application after successful plot - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - - + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + - - - 5 - wxEXPAND|wxRIGHT|wxLEFT - 1 - + + 5 + wxBOTTOM|wxRIGHT|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Generate metadata from AUTHOR && SUBJECT variables + + 0 + + + 0 - bSizerMsgPanel - wxVERTICAL - none - - 5 - wxEXPAND|wxTOP|wxRIGHT|wxLEFT - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - 300,150 - 1 - m_MessagesBox - 1 - - - protected - 1 - - Resizable - 1 - - WX_HTML_REPORT_PANEL; widgets/wx_html_report_panel.h; forward_declare - 0 - - - - wxTAB_TRAVERSAL - - - - - - 5 - wxALL|wxEXPAND - 0 - - 1 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - - m_sdbSizer1 + 1 + m_plotPDFMetadata + 1 + + protected - OnPlotCurrent - OnPlotAll + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + Generate PDF document properties from AUTHOR and SUBJECT text variables + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + wxEXPAND|wxTOP|wxRIGHT|wxLEFT + 1 + + wxID_ANY + Other options + + m_otherOptions + wxVERTICAL + 1 + protected + + 5 + wxBOTTOM|wxRIGHT|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Open file after plot + + 0 + + + 0 + + 1 + m_openFileAfterPlot + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + Open output file with associated application after successful plot + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + 5 + wxEXPAND|wxRIGHT|wxLEFT + 1 + + + bSizerMsgPanel + wxVERTICAL + none + + 5 + wxEXPAND|wxTOP|wxRIGHT|wxLEFT + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + 300,150 + 1 + m_MessagesBox + 1 + + + protected + 1 + + Resizable + 1 + + WX_HTML_REPORT_PANEL; widgets/wx_html_report_panel.h; forward_declare + 0 + + + + wxTAB_TRAVERSAL + + + + + + 5 + wxALL|wxEXPAND + 0 + + 1 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + + m_sdbSizer1 + protected + OnPlotCurrent + OnPlotAll + + + + diff --git a/eeschema/dialogs/dialog_plot_schematic_base.h b/eeschema/dialogs/dialog_plot_schematic_base.h index 7d01b0606b..95b6c12dec 100644 --- a/eeschema/dialogs/dialog_plot_schematic_base.h +++ b/eeschema/dialogs/dialog_plot_schematic_base.h @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version 3.10.0-39-g3487c3cb) +// C++ code generated with wxFormBuilder (version 4.0.0-0-g0efcecf) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! @@ -67,6 +67,7 @@ class DIALOG_PLOT_SCHEMATIC_BASE : public DIALOG_SHIM wxTextCtrl* m_penWidthCtrl; wxStaticText* m_penWidthUnits; wxCheckBox* m_plotPDFPropertyPopups; + wxCheckBox* m_plotPDFMetadata; wxStaticBoxSizer* m_otherOptions; wxCheckBox* m_openFileAfterPlot; WX_HTML_REPORT_PANEL* m_MessagesBox; diff --git a/eeschema/eeschema_jobs_handler.cpp b/eeschema/eeschema_jobs_handler.cpp index 34a902ce4d..1340010184 100644 --- a/eeschema/eeschema_jobs_handler.cpp +++ b/eeschema/eeschema_jobs_handler.cpp @@ -213,6 +213,7 @@ int EESCHEMA_JOBS_HANDLER::JobExportPlot( JOB* aJob ) settings.m_HPGLPenSize = aPlotJob->m_HPGLPenSize; settings.m_HPGLPlotOrigin = hpglOrigin; settings.m_PDFPropertyPopups = aPlotJob->m_PDFPropertyPopups; + settings.m_PDFMetadata = aPlotJob->m_PDFMetadata; settings.m_outputDirectory = aPlotJob->m_outputDirectory; settings.m_outputFile = aPlotJob->m_outputFile; settings.m_pageSizeSelect = pageSizeSelect; diff --git a/eeschema/eeschema_settings.cpp b/eeschema/eeschema_settings.cpp index eb35d4d9b5..00e90f6f5c 100644 --- a/eeschema/eeschema_settings.cpp +++ b/eeschema/eeschema_settings.cpp @@ -497,6 +497,9 @@ EESCHEMA_SETTINGS::EESCHEMA_SETTINGS() : m_params.emplace_back( new PARAM( "plot.pdf_property_popups", &m_PlotPanel.pdf_property_popups, true ) ); + m_params.emplace_back( new PARAM( "plot.pdf_metadata", + &m_PlotPanel.pdf_metadata, true ) ); + m_params.emplace_back( new PARAM( "plot.hpgl_paper_size", &m_PlotPanel.hpgl_paper_size, 0 ) ); diff --git a/eeschema/eeschema_settings.h b/eeschema/eeschema_settings.h index 20643b9a34..47d90a13e7 100644 --- a/eeschema/eeschema_settings.h +++ b/eeschema/eeschema_settings.h @@ -250,6 +250,7 @@ public: double hpgl_pen_size; int hpgl_origin; bool pdf_property_popups; + bool pdf_metadata; bool open_file_after_plot; }; diff --git a/eeschema/sch_plotter.cpp b/eeschema/sch_plotter.cpp index d1618ec0e1..80501cbceb 100644 --- a/eeschema/sch_plotter.cpp +++ b/eeschema/sch_plotter.cpp @@ -153,6 +153,19 @@ void SCH_PLOTTER::createPDFFile( const SCH_PLOT_SETTINGS& aPlotSettings, SCH_SCREEN* screen = m_schematic->CurrentSheet().LastScreen(); wxString sheetName = sheetList[i].Last()->GetFields()[SHEETNAME].GetShownText( false ); + if( aPlotSettings.m_PDFMetadata ) + { + msg = wxS( "AUTHOR" ); + + if( m_schematic->ResolveTextVar( &sheetList[i], &msg, 0 ) ) + plotter->SetAuthor( msg ); + + msg = wxS( "SUBJECT" ); + + if( m_schematic->ResolveTextVar( &sheetList[i], &msg, 0 ) ) + plotter->SetSubject( msg ); + } + if( i == 0 ) { try diff --git a/eeschema/sch_plotter.h b/eeschema/sch_plotter.h index 155d49f5c6..7a58ebe2b2 100644 --- a/eeschema/sch_plotter.h +++ b/eeschema/sch_plotter.h @@ -88,6 +88,7 @@ struct SCH_PLOT_SETTINGS double m_HPGLPenSize; // for HPGL format only: pen size HPGL_PAGE_SIZE m_HPGLPaperSizeSelect; bool m_PDFPropertyPopups; + bool m_PDFMetadata; wxString m_theme; wxString m_outputDirectory; @@ -104,6 +105,7 @@ struct SCH_PLOT_SETTINGS m_HPGLPenSize( 1.0 ), m_HPGLPaperSizeSelect( HPGL_PAGE_SIZE::DEFAULT ), m_PDFPropertyPopups( false ), + m_PDFMetadata( false ), m_theme(), m_outputDirectory(), m_outputFile(), diff --git a/include/plotters/plotter.h b/include/plotters/plotter.h index 32785ce98e..9ad64317f5 100644 --- a/include/plotters/plotter.h +++ b/include/plotters/plotter.h @@ -151,8 +151,9 @@ public: virtual void SetDash( int aLineWidth, LINE_STYLE aLineStyle ) = 0; virtual void SetCreator( const wxString& aCreator ) { m_creator = aCreator; } - virtual void SetTitle( const wxString& aTitle ) { m_title = aTitle; } + virtual void SetAuthor( const wxString& aAuthor ) { m_author = aAuthor; } + virtual void SetSubject( const wxString& aSubject ) { m_subject = aSubject; } /** * Add a line to the list of free lines to print at the beginning of the file. @@ -669,6 +670,8 @@ protected: // variables used in most of plotters: wxString m_creator; wxString m_filename; wxString m_title; + wxString m_author; + wxString m_subject; PAGE_INFO m_pageInfo; VECTOR2I m_paperSize; // Paper size in IU - not in mils diff --git a/kicad/cli/command_sch_export_plot.cpp b/kicad/cli/command_sch_export_plot.cpp index a4f8bc95fa..4d925fd4a3 100644 --- a/kicad/cli/command_sch_export_plot.cpp +++ b/kicad/cli/command_sch_export_plot.cpp @@ -36,6 +36,7 @@ #define ARG_HPGL_ORIGIN "--origin" #define ARG_PAGES "--pages" #define ARG_EXCLUDE_PDF_PROPERTY_POPUPS "--exclude-pdf-property-popups" +#define ARG_EXCLUDE_PDF_METADATA "--exclude-pdf-metadata" const JOB_HPGL_PLOT_ORIGIN_AND_UNITS hpgl_origin_ops[4] = { JOB_HPGL_PLOT_ORIGIN_AND_UNITS::PLOTTER_BOT_LEFT, @@ -79,6 +80,10 @@ CLI::SCH_EXPORT_PLOT_COMMAND::SCH_EXPORT_PLOT_COMMAND( const std::string& aName, m_argParser.add_argument( ARG_EXCLUDE_PDF_PROPERTY_POPUPS ) .help( UTF8STDSTR( _( "Do not generate property popups in PDF" ) ) ) .flag(); + + m_argParser.add_argument( ARG_EXCLUDE_PDF_METADATA ) + .help( UTF8STDSTR( _( "Do not generate PDF metadata from AUTHOR and SUBJECT variables" ) ) ) + .flag(); } if( aPlotFormat == SCH_PLOT_FORMAT::PDF @@ -178,6 +183,7 @@ int CLI::SCH_EXPORT_PLOT_COMMAND::doPerform( KIWAY& aKiway ) else if( m_plotFormat == SCH_PLOT_FORMAT::PDF ) { plotJob->m_PDFPropertyPopups = !m_argParser.get( ARG_EXCLUDE_PDF_PROPERTY_POPUPS ); + plotJob->m_PDFMetadata = !m_argParser.get( ARG_EXCLUDE_PDF_METADATA ); } int exitCode = aKiway.ProcessJob( KIWAY::FACE_SCH, plotJob.get() ); diff --git a/pcbnew/dialogs/dialog_plot.cpp b/pcbnew/dialogs/dialog_plot.cpp index 901086b94a..faad26a397 100644 --- a/pcbnew/dialogs/dialog_plot.cpp +++ b/pcbnew/dialogs/dialog_plot.cpp @@ -367,6 +367,7 @@ void DIALOG_PLOT::init_Dialog() m_PDFColorChoice->SetSelection( m_plotOpts.GetBlackAndWhite() ? 1 : 0 ); m_frontFPPropertyPopups->SetValue( m_plotOpts.m_PDFFrontFPPropertyPopups ); m_backFPPropertyPopups->SetValue( m_plotOpts.m_PDFBackFPPropertyPopups ); + m_pdfMetadata->SetValue( m_plotOpts.m_PDFMetadata ); // Initialize a few other parameters, which can also be modified // from the drill dialog @@ -930,6 +931,7 @@ void DIALOG_PLOT::applyPlotSettings() tempOptions.SetBlackAndWhite( !!m_PDFColorChoice->GetSelection() ); tempOptions.m_PDFFrontFPPropertyPopups = m_frontFPPropertyPopups->GetValue(); tempOptions.m_PDFBackFPPropertyPopups = m_backFPPropertyPopups->GetValue(); + tempOptions.m_PDFMetadata = m_pdfMetadata->GetValue(); } else { @@ -1235,6 +1237,21 @@ void DIALOG_PLOT::Plot( wxCommandEvent& event ) if( plotter ) { + plotter->SetTitle( ExpandTextVars( board->GetTitleBlock().GetTitle(), &textResolver ) ); + + if( m_plotOpts.m_PDFMetadata ) + { + msg = wxS( "AUTHOR" ); + + if( board->ResolveTextVar( &msg, 0 ) ) + plotter->SetAuthor( msg ); + + msg = wxS( "SUBJECT" ); + + if( board->ResolveTextVar( &msg, 0 ) ) + plotter->SetSubject( msg ); + } + PlotBoardLayers( board, plotter, plotSequence, m_plotOpts ); PlotInteractiveLayer( board, plotter, m_plotOpts ); plotter->EndPlot(); diff --git a/pcbnew/dialogs/dialog_plot_base.cpp b/pcbnew/dialogs/dialog_plot_base.cpp index 4852b54532..43556e6221 100644 --- a/pcbnew/dialogs/dialog_plot_base.cpp +++ b/pcbnew/dialogs/dialog_plot_base.cpp @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version 3.10.1-0-g8feb16b) +// C++ code generated with wxFormBuilder (version 4.0.0-0-g0efcecf) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! @@ -413,6 +413,11 @@ DIALOG_PLOT_BASE::DIALOG_PLOT_BASE( wxWindow* parent, wxWindowID id, const wxStr m_backFPPropertyPopups = new wxCheckBox( m_PDFOptionsSizer->GetStaticBox(), wxID_ANY, _("Generate property popups for back footprints"), wxDefaultPosition, wxDefaultSize, 0 ); gbSizer4->Add( m_backFPPropertyPopups, wxGBPosition( 2, 0 ), wxGBSpan( 1, 2 ), wxRIGHT|wxLEFT, 5 ); + m_pdfMetadata = new wxCheckBox( m_PDFOptionsSizer->GetStaticBox(), wxID_ANY, _("Generate metadata from AUTHOR && SUBJECT variables"), wxDefaultPosition, wxDefaultSize, 0 ); + m_pdfMetadata->SetToolTip( _("Generate PDF document properties from AUTHOR and SUBJECT text variables") ); + + gbSizer4->Add( m_pdfMetadata, wxGBPosition( 3, 0 ), wxGBSpan( 1, 2 ), wxBOTTOM|wxRIGHT|wxLEFT, 5 ); + m_PDFOptionsSizer->Add( gbSizer4, 1, wxEXPAND|wxBOTTOM, 5 ); diff --git a/pcbnew/dialogs/dialog_plot_base.fbp b/pcbnew/dialogs/dialog_plot_base.fbp index 6ae478a34d..00522263a9 100644 --- a/pcbnew/dialogs/dialog_plot_base.fbp +++ b/pcbnew/dialogs/dialog_plot_base.fbp @@ -1,217 +1,1922 @@ - + - - - - C++ - 1 - source_name - 0 - 0 - res - UTF-8 - connect - dialog_plot_base - 1000 - none - - - 1 - Dialog_Plot_base - - . - - 1 - 1 - 1 - 1 - UI - 0 - 1 - 0 - - 0 - wxAUI_MGR_DEFAULT - - wxBOTH - - 1 - 1 - impl_virtual - - - - 0 - wxID_ANY - - -1,-1 - DIALOG_PLOT_BASE - - -1,-1 - wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER - DIALOG_SHIM; dialog_shim.h - Plot - - 0 - - - - OnInitDialog - + + + + C++ + 1 + source_name + 0 + 0 + res + UTF-8 + connect + dialog_plot_base + 1000 + none + + + 1 + Dialog_Plot_base + + . + + 1 + 1 + 1 + 1 + UI + 0 + 1 + 0 + + 0 + wxAUI_MGR_DEFAULT + + wxBOTH + + 1 + 0 + 1 + impl_virtual + + + + 0 + wxID_ANY + + -1,-1 + DIALOG_PLOT_BASE + + -1,-1 + wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER + DIALOG_SHIM; dialog_shim.h + Plot + + 0 + + + + OnInitDialog + + + m_MainSizer + wxVERTICAL + protected + + 5 + wxEXPAND|wxTOP|wxRIGHT|wxLEFT + 0 + + + bupperSizer + wxHORIZONTAL + none + + 5 + wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Plot format: + 0 + + 0 + + + 0 - m_MainSizer + 1 + m_staticTextPlotFmt + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + 6 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "Gerber" "Postscript" "SVG" "DXF" "HPGL" "PDF" + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_plotFormatOpt + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + SetPlotFormat + + + + 10 + wxEXPAND|wxRIGHT|wxLEFT + 0 + + 0 + protected + 0 + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Output directory: + 0 + + 0 + + + 0 + + 1 + m_staticTextDir + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + 5 + wxEXPAND|wxTOP|wxBOTTOM + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + 0 + + 0 + + 1 + m_outputDirectoryName + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + Target directory for plot files. Can be absolute or relative to the board file location. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_VERTICAL|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + 0 + + + + + 1 + 0 + 1 + + 1 + + 0 + 0 + + Dock + 0 + Left + 0 + 1 + + 1 + + + 0 + 0 + wxID_ANY + Browse + + 0 + + 0 + + + 0 + -1,-1 + 1 + m_browseButton + 1 + + + protected + 1 + + + + Resizable + 1 + -1,-1 + + STD_BITMAP_BUTTON; widgets/std_bitmap_button.h; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + OnOutputDirectoryBrowseClicked + + + + + + 5 + wxEXPAND|wxALL + 0 + + + bmiddleSizer + wxHORIZONTAL + protected + + 5 + wxALL|wxEXPAND + 1 + + wxID_ANY + Include Layers + + m_LayersSizer + wxHORIZONTAL + 1 + protected + + 3 + wxALL|wxEXPAND + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + 150,-1 + 1 + m_layerCheckListBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + 6 + + 0 + + + m_PlotOptionsSizer wxVERTICAL protected - - 5 - wxEXPAND|wxTOP|wxRIGHT|wxLEFT - 0 - + + 5 + wxALL|wxEXPAND + 0 + + wxID_ANY + General Options + + sbOptionsSizer + wxVERTICAL + 1 + none + + 5 + wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT + 1 + + + wxHORIZONTAL + + + 0 - bupperSizer - wxHORIZONTAL + gbSizer1 + wxFLEX_GROWMODE_SPECIFIED none - - 5 - wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Plot format: - 0 - - 0 - - - 0 - - 1 - m_staticTextPlotFmt - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - - - -1 - + 3 + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Plot drawing sheet + + 0 + + + 0 + 280,-1 + 1 + m_plotSheetRef + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + - - 6 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - "Gerber" "Postscript" "SVG" "DXF" "HPGL" "PDF" - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_plotFormatOpt - 1 - - - protected - 1 - - Resizable - 0 - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - SetPlotFormat - + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Plot footprint values + + 0 + + + 0 + + 1 + m_plotFootprintValues + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + onPlotFPValues + - - 10 - wxEXPAND|wxRIGHT|wxLEFT - 0 - + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL + 2 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + ID_PRINT_REF + Plot reference designators + + 0 + + + 0 + + 1 + m_plotFootprintRefs + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + onPlotFPRefs + + + + 5 + 1 + 0 + + 3 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Plot footprint text + + 0 + + + 0 + + 1 + m_plotFootprintText + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + onPlotFPText + + + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL + 4 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Force plotting of invisible values / refs + + 0 + + + 0 + + 1 + m_plotInvisibleText + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + Force plot invisible footprint values and reference designators + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL + 5 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + ID_ALLOW_PRINT_PAD_ON_SILKSCREEN + Sketch pads on fabrication layers + + 0 + + + 0 + + 1 + m_sketchPadsOnFabLayers + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + Include pad outlines on F.Fab and B.Fab layers when plotting + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL|wxRIGHT + 6 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Check zone fills before plotting + + 0 + + + 0 + + 1 + m_zoneFillCheck + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 30 + 2 + 1 + wxALIGN_CENTER_VERTICAL|wxLEFT + 6 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Tent vias + + 0 + + + 0 + + 1 + m_tentVias + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + Tented vias: not plotted on soldermask layer Not tented: vias are plotted on soldermask layer (Solder mask is a negative layer) + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 30 + 1 + 1 + wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Drill marks: + 0 + + 0 + + + 0 + + 1 + drillMarksLabel + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + 5 + 1 + 2 + wxEXPAND|wxLEFT + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "None" "Small" "Actual size" + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_drillShapeOpt + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 30 + 1 + 1 + wxALIGN_CENTER_VERTICAL|wxLEFT + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Scaling: + 0 + + 0 + + + 0 + + 1 + scalingLabel + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + 5 + 1 + 2 + wxEXPAND|wxLEFT + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "Auto" "1:1" "3:2" "2:1" "3:1" + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_scaleOpt + 1 + + + protected + 1 + + Resizable + 1 + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + OnSetScaleOpt + + + + 30 + 1 + 1 + wxALIGN_CENTER_VERTICAL|wxLEFT + 2 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Plot mode: + 0 + + 0 + + + 0 + + 1 + plotModeLabel + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + 5 + 1 + 2 + wxEXPAND|wxLEFT + 2 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "Filled" "Sketch" + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_plotModeOpt + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 30 + 2 + 1 + wxALIGN_CENTER_VERTICAL|wxLEFT + 3 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Use drill/place file origin + + 0 + + + 0 + + 1 + m_useAuxOriginCheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + Use the drill/place file origin as the coordinate origin for plotted files + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 30 + 2 + 1 + wxALIGN_CENTER_VERTICAL|wxLEFT + 4 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + ID_MIROR_OPT + Mirrored plot + + 0 + + + 0 + + 1 + m_plotMirrorOpt + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 30 + 2 + 1 + wxALIGN_CENTER_VERTICAL|wxLEFT + 5 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Negative plot + + 0 + + + 0 + + 1 + m_plotPSNegativeOpt + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + 10 + wxEXPAND|wxRIGHT|wxLEFT + 1 + + + m_SizerSolderMaskAlert + wxHORIZONTAL + protected + + 5 + wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + Load From Art Provider; wxART_WARNING; wxART_CMN_DIALOG + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_bitmapAlert + 1 + + + protected + 1 + + Resizable + 1 + + ; ; forward_declare + 0 + + + + + + + + 5 + wxEXPAND + 1 + + + bSizerWarningText + wxVERTICAL + none + + 5 + wxTOP|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Global solder mask minimum width and/or margin are not set to 0. + 0 + + 0 + + + 0 + + 1 + m_staticTextAlert + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + 5 + wxTOP|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Most board manufacturers expect 0 and use their own constraints for solder mask minimum width. + 0 + + 0 + + + 0 + + 1 + m_staticTextAlert1 + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + 580 + + + + 5 + wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT + 1 + + + bSizerSecondLine + wxHORIZONTAL + none + + 5 + wxEXPAND + 1 + 0 protected 0 + - - - 5 - wxALL|wxALIGN_CENTER_VERTICAL - 0 - + + 2 + wxLEFT|wxRIGHT|wxTOP + 0 + 1 1 1 @@ -232,15 +1937,16 @@ Dock 0 Left + 0 1 1 0 0 + wxID_ANY - Output directory: - 0 + Board setup 0 @@ -248,7 +1954,8 @@ 0 1 - m_staticTextDir + m_boardSetup + 1 @@ -258,4153 +1965,2576 @@ Resizable 1 - - - 0 - - - - - -1 - - - - 5 - wxEXPAND|wxTOP|wxBOTTOM - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - 0 - - 0 - - 1 - m_outputDirectoryName - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - Target directory for plot files. Can be absolute or relative to the board file location. - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - 5 - wxALIGN_CENTER_VERTICAL|wxRIGHT - 0 - - 1 - 1 - 1 - 1 - - - - - 0 - - - - - 1 - 0 - 1 - - 1 - - 0 - 0 - - Dock - 0 - Left - 1 - - 1 - - - 0 - 0 - wxID_ANY - Browse - - 0 - - 0 - - - 0 - -1,-1 - 1 - m_browseButton - 1 - - - protected - 1 - - - - Resizable - 1 - -1,-1 - - STD_BITMAP_BUTTON; widgets/std_bitmap_button.h; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - OnOutputDirectoryBrowseClicked - - - - - - 5 - wxEXPAND|wxALL - 0 - - - bmiddleSizer - wxHORIZONTAL - protected - - 5 - wxALL|wxEXPAND - 1 - - wxID_ANY - Include Layers - - m_LayersSizer - wxHORIZONTAL - 1 - protected - - 3 - wxALL|wxEXPAND - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - 150,-1 - 1 - m_layerCheckListBox - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - - 6 - - 0 - - - m_PlotOptionsSizer - wxVERTICAL - protected - - 5 - wxALL|wxEXPAND - 0 - - wxID_ANY - General Options - - sbOptionsSizer - wxVERTICAL - 1 - none - - 5 - wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT - 1 - - - wxHORIZONTAL - - - 0 - - gbSizer1 - wxFLEX_GROWMODE_SPECIFIED - none - 3 - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL - 0 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Plot drawing sheet - - 0 - - - 0 - 280,-1 - 1 - m_plotSheetRef - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL - 1 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Plot footprint values - - 0 - - - 0 - - 1 - m_plotFootprintValues - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - onPlotFPValues - - - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL - 2 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - ID_PRINT_REF - Plot reference designators - - 0 - - - 0 - - 1 - m_plotFootprintRefs - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - onPlotFPRefs - - - - 5 - 1 - 0 - - 3 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Plot footprint text - - 0 - - - 0 - - 1 - m_plotFootprintText - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - onPlotFPText - - - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL - 4 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Force plotting of invisible values / refs - - 0 - - - 0 - - 1 - m_plotInvisibleText - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - Force plot invisible footprint values and reference designators - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL - 5 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - ID_ALLOW_PRINT_PAD_ON_SILKSCREEN - Sketch pads on fabrication layers - - 0 - - - 0 - - 1 - m_sketchPadsOnFabLayers - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - Include pad outlines on F.Fab and B.Fab layers when plotting - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL|wxRIGHT - 6 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Check zone fills before plotting - - 0 - - - 0 - - 1 - m_zoneFillCheck - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 30 - 2 - 1 - wxALIGN_CENTER_VERTICAL|wxLEFT - 6 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Tent vias - - 0 - - - 0 - - 1 - m_tentVias - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - Tented vias: not plotted on soldermask layer Not tented: vias are plotted on soldermask layer (Solder mask is a negative layer) - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 30 - 1 - 1 - wxALIGN_CENTER_VERTICAL|wxLEFT - 0 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Drill marks: - 0 - - 0 - - - 0 - - 1 - drillMarksLabel - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - - - -1 - - - - 5 - 1 - 2 - wxEXPAND|wxLEFT - 0 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - "None" "Small" "Actual size" - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_drillShapeOpt - 1 - - - protected - 1 - - Resizable - 0 - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 30 - 1 - 1 - wxALIGN_CENTER_VERTICAL|wxLEFT - 1 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Scaling: - 0 - - 0 - - - 0 - - 1 - scalingLabel - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - - - -1 - - - - 5 - 1 - 2 - wxEXPAND|wxLEFT - 1 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - "Auto" "1:1" "3:2" "2:1" "3:1" - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_scaleOpt - 1 - - - protected - 1 - - Resizable - 1 - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - OnSetScaleOpt - - - - 30 - 1 - 1 - wxALIGN_CENTER_VERTICAL|wxLEFT - 2 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Plot mode: - 0 - - 0 - - - 0 - - 1 - plotModeLabel - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - - - -1 - - - - 5 - 1 - 2 - wxEXPAND|wxLEFT - 2 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - "Filled" "Sketch" - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_plotModeOpt - 1 - - - protected - 1 - - Resizable - 0 - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 30 - 2 - 1 - wxALIGN_CENTER_VERTICAL|wxLEFT - 3 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Use drill/place file origin - - 0 - - - 0 - - 1 - m_useAuxOriginCheckBox - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - Use the drill/place file origin as the coordinate origin for plotted files - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 30 - 2 - 1 - wxALIGN_CENTER_VERTICAL|wxLEFT - 4 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - ID_MIROR_OPT - Mirrored plot - - 0 - - - 0 - - 1 - m_plotMirrorOpt - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 30 - 2 - 1 - wxALIGN_CENTER_VERTICAL|wxLEFT - 5 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Negative plot - - 0 - - - 0 - - 1 - m_plotPSNegativeOpt - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - - - - 10 - wxEXPAND|wxRIGHT|wxLEFT - 1 - - - m_SizerSolderMaskAlert - wxHORIZONTAL - protected - - 5 - wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT - 0 - - 1 - 1 - 1 - 1 - - - - - - - Load From Art Provider; wxART_WARNING; wxART_CMN_DIALOG - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_bitmapAlert - 1 - - - protected - 1 - - Resizable - 1 - - ; ; forward_declare - 0 - - - - - - - - 5 - wxEXPAND - 1 - - - bSizerWarningText - wxVERTICAL - none - - 5 - wxTOP|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Global solder mask minimum width and/or margin are not set to 0. - 0 - - 0 - - - 0 - - 1 - m_staticTextAlert - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - - - -1 - - - - 5 - wxTOP|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Most board manufacturers expect 0 and use their own constraints for solder mask minimum width. - 0 - - 0 - - - 0 - - 1 - m_staticTextAlert1 - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - - - 580 - - - - 5 - wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT - 1 - - - bSizerSecondLine - wxHORIZONTAL - none - - 5 - wxEXPAND - 1 - - 0 - protected - 0 - - - - 2 - wxLEFT|wxRIGHT|wxTOP - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - - wxID_ANY - Board setup - - 0 - - - 0 - - 1 - m_boardSetup - - 1 - - - protected - 1 - - Resizable - 1 - - wxHL_DEFAULT_STYLE - ; ; forward_declare - 0 - File > Board Setup... - - - - - - onBoardSetup - - - - - - - - - - 5 - wxALL|wxEXPAND - 0 - - wxID_ANY - Gerber Options - - m_GerberOptionsSizer - wxHORIZONTAL - 1 - protected - - 5 - wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT - 1 - - - wxHORIZONTAL - 2 - - 0 - - gbSizer2 - wxFLEX_GROWMODE_SPECIFIED - none - 3 - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL - 0 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Use Protel filename extensions - - 0 - - - 0 - 280,-1 - 1 - m_useGerberExtensions - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - Use Protel Gerber extensions (.GBL, .GTL, etc...) No longer recommended. The official extension is .gbr - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL - 1 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Generate Gerber job file - - 0 - - - 0 - - 1 - m_generateGerberJobFile - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - Generate a Gerber job file that contains info about the board, and the list of generated Gerber plot files - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL - 2 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Subtract soldermask from silkscreen - - 0 - - - 0 - - 1 - m_subtractMaskFromSilk - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - Remove silkscreen from areas without soldermask - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 30 - 1 - 1 - wxALIGN_CENTER_VERTICAL|wxLEFT - 0 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Coordinate format: - 0 - - 0 - - - 0 - - 1 - coordFormatLabel - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - 5 - 1 - 2 - wxEXPAND|wxRIGHT|wxLEFT - 0 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - "4.5, unit mm" "4.6, unit mm" - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_coordFormatCtrl - 1 - - - protected - 1 - - Resizable - 1 - 1 - - - ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 30 - 2 - 1 - wxALIGN_CENTER_VERTICAL|wxLEFT - 1 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Use extended X2 format (recommended) - - 0 - - - 0 - -1,-1 - 1 - m_useGerberX2Format - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - Use X2 Gerber file format. Include mainly X2 attributes in Gerber headers. If not checked, use X1 format. In X1 format, these attributes are included as comments in files. - - wxFILTER_NONE - wxDefaultValidator - - - - - OnGerberX2Checked - - - - 30 - 2 - 1 - wxLEFT|wxALIGN_CENTER_VERTICAL - 2 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Include netlist attributes - - 0 - - - 0 - - 1 - m_useGerberNetAttributes - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - Include netlist metadata and aperture attributes in Gerber files. They are comments in the X1 format. Used to check connectivity in CAM tools and Gerber viewers. - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 30 - 2 - 1 - wxLEFT|wxALIGN_CENTER_VERTICAL - 3 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Disable aperture macros (not recommended) - - 0 - - - 0 - - 1 - m_disableApertMacros - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - Disable aperture macros in Gerber files Use *only* for broken Gerber viewers. - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - - - - 5 - wxALL|wxEXPAND - 0 - - wxID_ANY - HPGL Options - - m_HPGLOptionsSizer - wxHORIZONTAL - 1 - protected - - 5 - wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Default pen size: - 0 - - 0 - - - 0 - - 1 - m_hpglPenLabel - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - - - -1 - - - - 5 - wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT - 5 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - 0 - - 0 - - 1 - m_hpglPenCtrl - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - 5 - wxALIGN_CENTER_VERTICAL|wxBOTTOM - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - mm - 0 - - 0 - - - 0 - - 1 - m_hpglPenUnits - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - 5 - wxEXPAND - 11 - - 0 - protected - 0 - - - - - - 5 - wxALL|wxEXPAND - 0 - - wxID_ANY - Postscript Options - - m_PSOptionsSizer - wxVERTICAL - 1 - protected - - 5 - wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT - 1 - - 6 - wxBOTH - 1,4 - - 0 - 60,-1 - fgSizer2 - wxFLEX_GROWMODE_SPECIFIED - none - 0 - 5 - - 1 - wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - X scale factor: - 0 - - 0 - - - 0 - - 1 - m_fineAdjustXLabel - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - - - -1 - - - - 5 - wxEXPAND|wxRIGHT|wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - 0 - - 0 - - 1 - m_fineAdjustXCtrl - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - Set global X scale adjust for exact scale PostScript output. - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - 5 - wxEXPAND - 1 - - 0 - protected - 0 - - - - 30 - wxALIGN_CENTER_VERTICAL|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Y scale factor: - 0 - - 0 - - - 0 - - 1 - m_fineAdjustYLabel - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - - - -1 - - - - 30 - wxEXPAND|wxRIGHT|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - 0 - - 0 - - 1 - m_fineAdjustYCtrl - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - Set global Y scale adjust for exact scale PostScript output. - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - 10 - wxEXPAND|wxRIGHT|wxLEFT - 1 - - 0 - protected - 0 - - - - 5 - wxALIGN_CENTER_VERTICAL|wxRIGHT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Track width correction: - 0 - - 0 - - - 0 - - 1 - m_widthAdjustLabel - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - - - -1 - - - - 5 - wxEXPAND|wxALIGN_CENTER_VERTICAL|wxRIGHT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - 0 - - 0 - - 1 - m_widthAdjustCtrl - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - Set global width correction for exact width PostScript output. These width correction is intended to compensate tracks width and also pads and vias size errors. The reasonable width correction value must be in a range of [-(MinTrackWidth-1), +(MinClearanceValue-1)]. - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - 5 - wxALIGN_CENTER_VERTICAL|wxBOTTOM - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - mm - 0 - - 0 - - - 0 - - 1 - m_widthAdjustUnits - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - - - 5 - wxBOTTOM|wxRIGHT|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Force A4 output - - 0 - - - 0 - - 1 - m_forcePSA4OutputOpt - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - - 5 - wxEXPAND|wxALL - 0 - - wxID_ANY - DXF Options - - m_SizerDXF_options - wxHORIZONTAL - 1 - protected - - 5 - wxEXPAND|wxBOTTOM - 1 - - - wxBOTH - - - 5 - - gbSizer5 - wxFLEX_GROWMODE_SPECIFIED - none - 5 - - 5 - 2 - 0 - wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT - 0 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Plot graphic items using their contours - - 0 - - - 0 - - 1 - m_DXF_plotModeOpt - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - Uncheck to plot graphic items using their center lines - - wxFILTER_NONE - wxDefaultValidator - - - - - OnChangeDXFPlotMode - - - - 40 - 1 - 2 - wxALIGN_CENTER_VERTICAL|wxLEFT - 0 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Export units: - 0 - - 0 - - - 0 - - 1 - DXF_exportUnitsLabel - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - - - -1 - - - - 5 - 1 - 3 - wxALIGN_CENTER_VERTICAL - 0 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - "Inches" "Millimeters" - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_DXF_plotUnits - 1 - - - protected - 1 - - Resizable - 0 - 1 - - - ; ; forward_declare - 0 - The units to use for the exported DXF file - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - 2 - 0 - wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT - 1 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Use KiCad font to plot text - - 0 - - - 0 - - 1 - m_DXF_plotTextStrokeFontOpt - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - Check to use KiCad stroke font Uncheck to plot single-line ASCII texts as editable text (using DXF font) - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - - - - 5 - wxEXPAND|wxALL - 1 - - wxID_ANY - SVG Options - - m_svgOptionsSizer - wxHORIZONTAL - 1 - protected - - 5 - wxEXPAND|wxBOTTOM - 1 - - - wxBOTH - - - 0 - - gbSizer3 - wxFLEX_GROWMODE_SPECIFIED - none - 5 - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT - 0 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Precision: - 0 - - 0 - - - 0 - - 1 - svgPrecisionLabel - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - 5 - 1 - 1 - wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT - 0 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - 4 - 6 - - 0 - - 3 - - 0 - - 1 - m_svgPrecsision - 1 - - - protected - 1 - - Resizable - 1 - - wxSP_ARROW_KEYS - ; ; forward_declare - 0 - This number defines how many digits are exported that are below 1 mm. User unit is 10^-<N> mm Choose 4 if you are not sure. - - - - - - - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT - 1 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Output mode: - 0 - - 0 - - - 0 - - 1 - m_staticText18 - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - - - -1 - - - - 5 - 1 - 1 - wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT - 1 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - "Color" "Black and white" - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_SVGColorChoice - 1 - - - protected - 1 - - Resizable - 0 - 1 - - - ; ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - - - - 5 - wxALL|wxEXPAND - 1 - - wxID_ANY - PDF Options - - m_PDFOptionsSizer - wxHORIZONTAL - 1 - protected - - 5 - wxEXPAND|wxBOTTOM - 1 - - - wxBOTH - - - 0 - - gbSizer4 - wxFLEX_GROWMODE_SPECIFIED - none - 5 - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT - 0 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Output mode: - 0 - - 0 - - - 0 - - 1 - m_staticText19 - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - - - -1 - - - - 5 - 1 - 1 - wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT - 0 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - "Color" "Black and white" - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_PDFColorChoice - 1 - - - protected - 1 - - Resizable - 0 - 1 - - - ; ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - 2 - 0 - wxRIGHT|wxLEFT - 1 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Generate property popups for front footprints - - 0 - - - 0 - - 1 - m_frontFPPropertyPopups - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - 2 - 0 - wxRIGHT|wxLEFT - 2 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Generate property popups for back footprints - - 0 - - - 0 - - 1 - m_backFPPropertyPopups - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - - - - - - - - 5 - wxEXPAND - 1 - - - sbSizerMsg - wxVERTICAL - none - - 10 - wxEXPAND|wxRIGHT|wxLEFT - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - -300,150 - 1 - m_messagesPanel - 1 - - - protected - 1 - - Resizable - 1 - - WX_HTML_REPORT_PANEL; widgets/wx_html_report_panel.h; forward_declare - 0 - - - - wxTAB_TRAVERSAL - - - - - - 5 - wxALL|wxEXPAND - 0 - - - m_sizerButtons - wxHORIZONTAL - protected - - 10 - wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - 0 - - - - - 1 - 0 - 1 - - 1 - - 0 - 0 - - Dock - 0 - Left - 1 - - 1 - - - 0 - 0 - wxID_ANY - Run DRC... - - 0 - - 0 - - - 0 - - 1 - m_buttonDRC - 1 - - - protected - 1 - - - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - onRunDRC - - - - 5 - wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - (%d known DRC violations; %d exclusions) - 0 - - 0 - - - 0 - - 1 - m_DRCExclusionsWarning - 1 - - - protected - 1 - - Resizable - 1 - - + wxHL_DEFAULT_STYLE ; ; forward_declare 0 - + File > Board Setup... + + - -1 - - - - 5 - wxEXPAND - 1 - - 1 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - - m_sdbSizer1 - protected - CreateDrillFile - Plot + onBoardSetup + + + + + + 5 + wxALL|wxEXPAND + 0 + + wxID_ANY + Gerber Options + + m_GerberOptionsSizer + wxHORIZONTAL + 1 + protected + + 5 + wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT + 1 + + + wxHORIZONTAL + 2 + + 0 + + gbSizer2 + wxFLEX_GROWMODE_SPECIFIED + none + 3 + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Use Protel filename extensions + + 0 + + + 0 + 280,-1 + 1 + m_useGerberExtensions + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + Use Protel Gerber extensions (.GBL, .GTL, etc...) No longer recommended. The official extension is .gbr + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Generate Gerber job file + + 0 + + + 0 + + 1 + m_generateGerberJobFile + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + Generate a Gerber job file that contains info about the board, and the list of generated Gerber plot files + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL + 2 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Subtract soldermask from silkscreen + + 0 + + + 0 + + 1 + m_subtractMaskFromSilk + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + Remove silkscreen from areas without soldermask + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 30 + 1 + 1 + wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Coordinate format: + 0 + + 0 + + + 0 + + 1 + coordFormatLabel + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + + + + 5 + 1 + 2 + wxEXPAND|wxRIGHT|wxLEFT + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "4.5, unit mm" "4.6, unit mm" + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_coordFormatCtrl + 1 + + + protected + 1 + + Resizable + 1 + 1 + + + ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 30 + 2 + 1 + wxALIGN_CENTER_VERTICAL|wxLEFT + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Use extended X2 format (recommended) + + 0 + + + 0 + -1,-1 + 1 + m_useGerberX2Format + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + Use X2 Gerber file format. Include mainly X2 attributes in Gerber headers. If not checked, use X1 format. In X1 format, these attributes are included as comments in files. + + wxFILTER_NONE + wxDefaultValidator + + + + + OnGerberX2Checked + + + + 30 + 2 + 1 + wxLEFT|wxALIGN_CENTER_VERTICAL + 2 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Include netlist attributes + + 0 + + + 0 + + 1 + m_useGerberNetAttributes + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + Include netlist metadata and aperture attributes in Gerber files. They are comments in the X1 format. Used to check connectivity in CAM tools and Gerber viewers. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 30 + 2 + 1 + wxLEFT|wxALIGN_CENTER_VERTICAL + 3 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Disable aperture macros (not recommended) + + 0 + + + 0 + + 1 + m_disableApertMacros + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + Disable aperture macros in Gerber files Use *only* for broken Gerber viewers. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + 5 + wxALL|wxEXPAND + 0 + + wxID_ANY + HPGL Options + + m_HPGLOptionsSizer + wxHORIZONTAL + 1 + protected + + 5 + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Default pen size: + 0 + + 0 + + + 0 + + 1 + m_hpglPenLabel + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + 5 + wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT + 5 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + 0 + + 0 + + 1 + m_hpglPenCtrl + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_VERTICAL|wxBOTTOM + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + mm + 0 + + 0 + + + 0 + + 1 + m_hpglPenUnits + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + + + + 5 + wxEXPAND + 11 + + 0 + protected + 0 + + + + + + 5 + wxALL|wxEXPAND + 0 + + wxID_ANY + Postscript Options + + m_PSOptionsSizer + wxVERTICAL + 1 + protected + + 5 + wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT + 1 + + 6 + wxBOTH + 1,4 + + 0 + 60,-1 + fgSizer2 + wxFLEX_GROWMODE_SPECIFIED + none + 0 + 5 + + 1 + wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + X scale factor: + 0 + + 0 + + + 0 + + 1 + m_fineAdjustXLabel + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + 5 + wxEXPAND|wxRIGHT|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + 0 + + 0 + + 1 + m_fineAdjustXCtrl + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + Set global X scale adjust for exact scale PostScript output. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxEXPAND + 1 + + 0 + protected + 0 + + + + 30 + wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Y scale factor: + 0 + + 0 + + + 0 + + 1 + m_fineAdjustYLabel + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + 30 + wxEXPAND|wxRIGHT|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + 0 + + 0 + + 1 + m_fineAdjustYCtrl + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + Set global Y scale adjust for exact scale PostScript output. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 10 + wxEXPAND|wxRIGHT|wxLEFT + 1 + + 0 + protected + 0 + + + + 5 + wxALIGN_CENTER_VERTICAL|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Track width correction: + 0 + + 0 + + + 0 + + 1 + m_widthAdjustLabel + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + 5 + wxEXPAND|wxALIGN_CENTER_VERTICAL|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + 0 + + 0 + + 1 + m_widthAdjustCtrl + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + Set global width correction for exact width PostScript output. These width correction is intended to compensate tracks width and also pads and vias size errors. The reasonable width correction value must be in a range of [-(MinTrackWidth-1), +(MinClearanceValue-1)]. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_VERTICAL|wxBOTTOM + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + mm + 0 + + 0 + + + 0 + + 1 + m_widthAdjustUnits + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + + + + + + 5 + wxBOTTOM|wxRIGHT|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Force A4 output + + 0 + + + 0 + + 1 + m_forcePSA4OutputOpt + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + 5 + wxEXPAND|wxALL + 0 + + wxID_ANY + DXF Options + + m_SizerDXF_options + wxHORIZONTAL + 1 + protected + + 5 + wxEXPAND|wxBOTTOM + 1 + + + wxBOTH + + + 5 + + gbSizer5 + wxFLEX_GROWMODE_SPECIFIED + none + 5 + + 5 + 2 + 0 + wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Plot graphic items using their contours + + 0 + + + 0 + + 1 + m_DXF_plotModeOpt + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + Uncheck to plot graphic items using their center lines + + wxFILTER_NONE + wxDefaultValidator + + + + + OnChangeDXFPlotMode + + + + 40 + 1 + 2 + wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Export units: + 0 + + 0 + + + 0 + + 1 + DXF_exportUnitsLabel + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + 5 + 1 + 3 + wxALIGN_CENTER_VERTICAL + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "Inches" "Millimeters" + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_DXF_plotUnits + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + ; ; forward_declare + 0 + The units to use for the exported DXF file + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + 2 + 0 + wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Use KiCad font to plot text + + 0 + + + 0 + + 1 + m_DXF_plotTextStrokeFontOpt + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + Check to use KiCad stroke font Uncheck to plot single-line ASCII texts as editable text (using DXF font) + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + 5 + wxEXPAND|wxALL + 1 + + wxID_ANY + SVG Options + + m_svgOptionsSizer + wxHORIZONTAL + 1 + protected + + 5 + wxEXPAND|wxBOTTOM + 1 + + + wxBOTH + + + 0 + + gbSizer3 + wxFLEX_GROWMODE_SPECIFIED + none + 5 + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Precision: + 0 + + 0 + + + 0 + + 1 + svgPrecisionLabel + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + + + + 5 + 1 + 1 + wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + 4 + 6 + + 0 + + 3 + + 0 + + 1 + m_svgPrecsision + 1 + + + protected + 1 + + Resizable + 1 + + wxSP_ARROW_KEYS + ; ; forward_declare + 0 + This number defines how many digits are exported that are below 1 mm. User unit is 10^-<N> mm Choose 4 if you are not sure. + + + + + + + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Output mode: + 0 + + 0 + + + 0 + + 1 + m_staticText18 + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + 5 + 1 + 1 + wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "Color" "Black and white" + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_SVGColorChoice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + 5 + wxALL|wxEXPAND + 1 + + wxID_ANY + PDF Options + + m_PDFOptionsSizer + wxHORIZONTAL + 1 + protected + + 5 + wxEXPAND|wxBOTTOM + 1 + + + wxBOTH + + + 0 + + gbSizer4 + wxFLEX_GROWMODE_SPECIFIED + none + 5 + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Output mode: + 0 + + 0 + + + 0 + + 1 + m_staticText19 + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + 5 + 1 + 1 + wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "Color" "Black and white" + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_PDFColorChoice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + 2 + 0 + wxRIGHT|wxLEFT + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Generate property popups for front footprints + + 0 + + + 0 + + 1 + m_frontFPPropertyPopups + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + 2 + 0 + wxRIGHT|wxLEFT + 2 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Generate property popups for back footprints + + 0 + + + 0 + + 1 + m_backFPPropertyPopups + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + 2 + 0 + wxBOTTOM|wxRIGHT|wxLEFT + 3 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Generate metadata from AUTHOR && SUBJECT variables + + 0 + + + 0 + + 1 + m_pdfMetadata + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + Generate PDF document properties from AUTHOR and SUBJECT text variables + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + + + 5 + wxEXPAND + 1 + + + sbSizerMsg + wxVERTICAL + none + + 10 + wxEXPAND|wxRIGHT|wxLEFT + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + -300,150 + 1 + m_messagesPanel + 1 + + + protected + 1 + + Resizable + 1 + + WX_HTML_REPORT_PANEL; widgets/wx_html_report_panel.h; forward_declare + 0 + + + + wxTAB_TRAVERSAL + + + + + + 5 + wxALL|wxEXPAND + 0 + + + m_sizerButtons + wxHORIZONTAL + protected + + 10 + wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + 0 + + + + + 1 + 0 + 1 + + 1 + + 0 + 0 + + Dock + 0 + Left + 0 + 1 + + 1 + + + 0 + 0 + wxID_ANY + Run DRC... + + 0 + + 0 + + + 0 + + 1 + m_buttonDRC + 1 + + + protected + 1 + + + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + onRunDRC + + + + 5 + wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + (%d known DRC violations; %d exclusions) + 0 + + 0 + + + 0 + + 1 + m_DRCExclusionsWarning + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + 5 + wxEXPAND + 1 + + 1 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + + m_sdbSizer1 + protected + CreateDrillFile + Plot + + + + + + diff --git a/pcbnew/dialogs/dialog_plot_base.h b/pcbnew/dialogs/dialog_plot_base.h index 53beb4ea5b..5b3b44479f 100644 --- a/pcbnew/dialogs/dialog_plot_base.h +++ b/pcbnew/dialogs/dialog_plot_base.h @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version 3.10.1-0-g8feb16b) +// C++ code generated with wxFormBuilder (version 4.0.0-0-g0efcecf) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! @@ -124,6 +124,7 @@ class DIALOG_PLOT_BASE : public DIALOG_SHIM wxChoice* m_PDFColorChoice; wxCheckBox* m_frontFPPropertyPopups; wxCheckBox* m_backFPPropertyPopups; + wxCheckBox* m_pdfMetadata; WX_HTML_REPORT_PANEL* m_messagesPanel; wxBoxSizer* m_sizerButtons; wxButton* m_buttonDRC; diff --git a/pcbnew/pcb_plot_params.cpp b/pcbnew/pcb_plot_params.cpp index dbe0bce3c3..f995347241 100644 --- a/pcbnew/pcb_plot_params.cpp +++ b/pcbnew/pcb_plot_params.cpp @@ -136,6 +136,7 @@ PCB_PLOT_PARAMS::PCB_PLOT_PARAMS() m_PDFFrontFPPropertyPopups = true; m_PDFBackFPPropertyPopups = true; + m_PDFMetadata = true; // This parameter controls if the NPTH pads will be plotted or not // it is a "local" parameter @@ -223,6 +224,9 @@ void PCB_PLOT_PARAMS::Format( OUTPUTFORMATTER* aFormatter, KICAD_FORMAT::FormatBool( aFormatter, aNestLevel + 1, getTokenName( T_pdf_back_fp_property_popups ), m_PDFBackFPPropertyPopups ); + KICAD_FORMAT::FormatBool( aFormatter, aNestLevel + 1, + getTokenName( T_pdf_metadata ), + m_PDFMetadata ); // DXF options KICAD_FORMAT::FormatBool( aFormatter, aNestLevel + 1, getTokenName( T_dxfpolygonmode ), @@ -334,6 +338,9 @@ bool PCB_PLOT_PARAMS::IsSameAs( const PCB_PLOT_PARAMS &aPcbPlotParams ) const if( m_PDFBackFPPropertyPopups != aPcbPlotParams.m_PDFBackFPPropertyPopups ) return false; + if( m_PDFMetadata != aPcbPlotParams.m_PDFMetadata ) + return false; + if( m_A4Output != aPcbPlotParams.m_A4Output ) return false; @@ -577,6 +584,10 @@ void PCB_PLOT_PARAMS_PARSER::Parse( PCB_PLOT_PARAMS* aPcbPlotParams ) aPcbPlotParams->m_PDFFrontFPPropertyPopups = parseBool(); break; + case T_pdf_metadata: + aPcbPlotParams->m_PDFMetadata = parseBool(); + break; + case T_dxfpolygonmode: aPcbPlotParams->m_DXFPolygonMode = parseBool(); break; diff --git a/pcbnew/pcb_plot_params.h b/pcbnew/pcb_plot_params.h index c79d36a64c..5efaa3faff 100644 --- a/pcbnew/pcb_plot_params.h +++ b/pcbnew/pcb_plot_params.h @@ -192,6 +192,7 @@ public: public: bool m_PDFFrontFPPropertyPopups; ///< Generate PDF property popup menus for footprints bool m_PDFBackFPPropertyPopups; ///< on front and/or back of board + bool m_PDFMetadata; ///< Generate PDF metadata for SUBJECT and AUTHOR private: friend class PCB_PLOT_PARAMS_PARSER;