7
mirror of https://gitlab.com/kicad/code/kicad.git synced 2025-04-02 00:26:45 +00:00

Fix SCH plot to PDF for jobsets.

(Fix for CLI bug  broke it for jobsets.)
This commit is contained in:
Jeff Young 2025-03-03 20:39:06 +00:00
parent 92b4b7187e
commit 3960480819
3 changed files with 10 additions and 11 deletions

View File

@ -129,8 +129,8 @@ JOB_EXPORT_SCH_PLOT::JOB_EXPORT_SCH_PLOT( bool aOutputIsDirectory ) :
}
JOB_EXPORT_SCH_PLOT_PDF::JOB_EXPORT_SCH_PLOT_PDF() :
JOB_EXPORT_SCH_PLOT( false )
JOB_EXPORT_SCH_PLOT_PDF::JOB_EXPORT_SCH_PLOT_PDF( bool aOutputIsDirectory ) :
JOB_EXPORT_SCH_PLOT( aOutputIsDirectory )
{
m_plotFormat = SCH_PLOT_FORMAT::PDF;
}

View File

@ -103,7 +103,7 @@ public:
class KICOMMON_API JOB_EXPORT_SCH_PLOT_PDF : public JOB_EXPORT_SCH_PLOT
{
public:
JOB_EXPORT_SCH_PLOT_PDF();
JOB_EXPORT_SCH_PLOT_PDF( bool aOutputIsDirectory = true );
wxString GetDefaultDescription() const override;
wxString GetSettingsDialogTitle() const override;
};

View File

@ -134,6 +134,7 @@ CLI::SCH_EXPORT_PLOT_COMMAND::SCH_EXPORT_PLOT_COMMAND( const std::string& aName,
int CLI::SCH_EXPORT_PLOT_COMMAND::doPerform( KIWAY& aKiway )
{
wxString filename = m_argInput;
if( !wxFile::Exists( filename ) )
{
wxFprintf( stderr, _( "Schematic file does not exist or is not accessible\n" ) );
@ -143,23 +144,21 @@ int CLI::SCH_EXPORT_PLOT_COMMAND::doPerform( KIWAY& aKiway )
std::vector<wxString> pages;
wxString pagesStr = From_UTF8( m_argParser.get<std::string>( ARG_PAGES ).c_str() );
wxStringTokenizer tokenizer( pagesStr, "," );
while( tokenizer.HasMoreTokens() )
{
pages.push_back( tokenizer.GetNextToken().Trim() );
}
std::unique_ptr<JOB_EXPORT_SCH_PLOT> plotJob;
switch( m_plotFormat )
{
case SCH_PLOT_FORMAT::PDF: plotJob = std::make_unique<JOB_EXPORT_SCH_PLOT_PDF>(); break;
case SCH_PLOT_FORMAT::DXF: plotJob = std::make_unique<JOB_EXPORT_SCH_PLOT_DXF>(); break;
case SCH_PLOT_FORMAT::SVG: plotJob = std::make_unique<JOB_EXPORT_SCH_PLOT_SVG>(); break;
case SCH_PLOT_FORMAT::POST: plotJob = std::make_unique<JOB_EXPORT_SCH_PLOT_PS>(); break;
case SCH_PLOT_FORMAT::HPGL: plotJob = std::make_unique<JOB_EXPORT_SCH_PLOT_HPGL>(); break;
case SCH_PLOT_FORMAT::PDF: plotJob = std::make_unique<JOB_EXPORT_SCH_PLOT_PDF>( false ); break;
case SCH_PLOT_FORMAT::DXF: plotJob = std::make_unique<JOB_EXPORT_SCH_PLOT_DXF>(); break;
case SCH_PLOT_FORMAT::SVG: plotJob = std::make_unique<JOB_EXPORT_SCH_PLOT_SVG>(); break;
case SCH_PLOT_FORMAT::POST: plotJob = std::make_unique<JOB_EXPORT_SCH_PLOT_PS>(); break;
case SCH_PLOT_FORMAT::HPGL: plotJob = std::make_unique<JOB_EXPORT_SCH_PLOT_HPGL>(); break;
}
plotJob->m_filename = filename;
plotJob->m_plotFormat = m_plotFormat;
plotJob->m_plotPages = pages;