Support for De Morgan variants in symbol plotting CLI.
This commit is contained in:
parent
4e420f3cf6
commit
8cd1f8d905
|
@ -475,8 +475,8 @@ int EESCHEMA_JOBS_HANDLER::doSymExportSvg( JOB_SYM_EXPORT_SVG* aSvgJob,
|
||||||
// iterate from unit 1, unit 0 would be "all units" which we don't want
|
// iterate from unit 1, unit 0 would be "all units" which we don't want
|
||||||
for( int unit = 1; unit < symbol->GetUnitCount() + 1; unit++ )
|
for( int unit = 1; unit < symbol->GetUnitCount() + 1; unit++ )
|
||||||
{
|
{
|
||||||
int convert = 0;
|
for( int convert = 1; convert < ( symbol->HasConversion() ? 2 : 1 ) + 1; ++convert )
|
||||||
|
{
|
||||||
wxFileName fn;
|
wxFileName fn;
|
||||||
|
|
||||||
fn.SetPath( aSvgJob->m_outputDirectory );
|
fn.SetPath( aSvgJob->m_outputDirectory );
|
||||||
|
@ -485,14 +485,25 @@ int EESCHEMA_JOBS_HANDLER::doSymExportSvg( JOB_SYM_EXPORT_SVG* aSvgJob,
|
||||||
//simplify the name if its single unit
|
//simplify the name if its single unit
|
||||||
if( symbol->IsMulti() )
|
if( symbol->IsMulti() )
|
||||||
{
|
{
|
||||||
fn.SetName( wxString::Format( "%s_%d", symbol->GetName().Lower(), unit ) );
|
fn.SetName( wxString::Format( wxS( "%s_%d%s" ),
|
||||||
wxPrintf( _( "Plotting symbol '%s' unit %d to '%s'\n" ), symbol->GetName(), unit,
|
symbol->GetName().Lower(),
|
||||||
|
unit,
|
||||||
|
convert == 2 ? wxS( "_demorgan" ) : wxS( "" ) ) );
|
||||||
|
wxPrintf( _( "Plotting symbol '%s' unit %d %sto '%s'\n" ),
|
||||||
|
symbol->GetName(),
|
||||||
|
unit,
|
||||||
|
convert == 2 ? _( "(De Morgan) " ) : _( "" ),
|
||||||
fn.GetFullPath() );
|
fn.GetFullPath() );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fn.SetName( symbol->GetName().Lower() );
|
fn.SetName( wxString::Format( wxS( "%s%s" ),
|
||||||
wxPrintf( _( "Plotting symbol '%s' to '%s'\n" ), symbol->GetName(), fn.GetFullPath() );
|
symbol->GetName().Lower(),
|
||||||
|
convert == 2 ? wxS( "_demorgan" ) : wxS( "" ) ) );
|
||||||
|
wxPrintf( _( "Plotting symbol '%s' %sto '%s'\n" ),
|
||||||
|
symbol->GetName(),
|
||||||
|
convert == 2 ? _( "(De Morgan) " ) : _( "" ),
|
||||||
|
fn.GetFullPath() );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get the symbol bounding box to fit the plot page to it
|
// Get the symbol bounding box to fit the plot page to it
|
||||||
|
@ -533,7 +544,7 @@ int EESCHEMA_JOBS_HANDLER::doSymExportSvg( JOB_SYM_EXPORT_SVG* aSvgJob,
|
||||||
plotPos.x = pageInfo.GetWidthIU( schIUScale.IU_PER_MILS ) / 2;
|
plotPos.x = pageInfo.GetWidthIU( schIUScale.IU_PER_MILS ) / 2;
|
||||||
plotPos.y = pageInfo.GetHeightIU( schIUScale.IU_PER_MILS ) / 2;
|
plotPos.y = pageInfo.GetHeightIU( schIUScale.IU_PER_MILS ) / 2;
|
||||||
|
|
||||||
// note, we want to use the fields from the original symbol pointer (in case of non-alias)
|
// note, we want the fields from the original symbol pointer (in case of non-alias)
|
||||||
symbolToPlot->Plot( plotter, unit, convert, background, plotPos, temp, false );
|
symbolToPlot->Plot( plotter, unit, convert, background, plotPos, temp, false );
|
||||||
symbol->PlotLibFields( plotter, unit, convert, background, plotPos, temp, false,
|
symbol->PlotLibFields( plotter, unit, convert, background, plotPos, temp, false,
|
||||||
aSvgJob->m_includeHiddenFields );
|
aSvgJob->m_includeHiddenFields );
|
||||||
|
@ -545,6 +556,7 @@ int EESCHEMA_JOBS_HANDLER::doSymExportSvg( JOB_SYM_EXPORT_SVG* aSvgJob,
|
||||||
plotter->EndPlot();
|
plotter->EndPlot();
|
||||||
delete plotter;
|
delete plotter;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return CLI::EXIT_CODES::OK;
|
return CLI::EXIT_CODES::OK;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue