From 2de38f8d75931c3ecd35520444e0602eb10ccdaa Mon Sep 17 00:00:00 2001 From: Marek Roszko Date: Sat, 16 Sep 2023 21:02:33 -0400 Subject: [PATCH] Force jobs to be instantiated in kicommon This is important since these get passed between modules at runtime --- common/CMakeLists.txt | 19 ++++++++++ common/jobs/job.cpp | 28 ++++++++++++++ common/jobs/job.h | 10 ++--- common/jobs/job_export_pcb_3d.cpp | 47 ++++++++++++++++++++++++ common/jobs/job_export_pcb_3d.h | 28 ++------------ common/jobs/job_export_pcb_drill.cpp | 39 ++++++++++++++++++++ common/jobs/job_export_pcb_drill.h | 21 ++--------- common/jobs/job_export_pcb_dxf.cpp | 36 ++++++++++++++++++ common/jobs/job_export_pcb_dxf.h | 17 ++------- common/jobs/job_export_pcb_gerber.cpp | 47 ++++++++++++++++++++++++ common/jobs/job_export_pcb_gerber.h | 28 ++------------ common/jobs/job_export_pcb_gerbers.cpp | 30 +++++++++++++++ common/jobs/job_export_pcb_gerbers.h | 11 ++---- common/jobs/job_export_pcb_pdf.cpp | 39 ++++++++++++++++++++ common/jobs/job_export_pcb_pdf.h | 21 ++--------- common/jobs/job_export_pcb_pos.cpp | 38 +++++++++++++++++++ common/jobs/job_export_pcb_pos.h | 19 ++-------- common/jobs/job_export_pcb_svg.cpp | 38 +++++++++++++++++++ common/jobs/job_export_pcb_svg.h | 19 ++-------- common/jobs/job_export_sch_bom.cpp | 44 ++++++++++++++++++++++ common/jobs/job_export_sch_bom.h | 25 ++----------- common/jobs/job_export_sch_netlist.cpp | 30 +++++++++++++++ common/jobs/job_export_sch_netlist.h | 11 ++---- common/jobs/job_export_sch_pythonbom.cpp | 29 +++++++++++++++ common/jobs/job_export_sch_pythonbom.h | 10 ++--- common/jobs/job_fp_export_svg.cpp | 31 ++++++++++++++++ common/jobs/job_fp_export_svg.h | 13 ++----- common/jobs/job_fp_upgrade.cpp | 30 +++++++++++++++ common/jobs/job_fp_upgrade.h | 11 ++---- common/jobs/job_pcb_drc.cpp | 33 +++++++++++++++++ common/jobs/job_pcb_drc.h | 14 ++----- common/jobs/job_sch_erc.cpp | 32 ++++++++++++++++ common/jobs/job_sch_erc.h | 13 ++----- common/jobs/job_sym_export_svg.cpp | 33 +++++++++++++++++ common/jobs/job_sym_export_svg.h | 14 ++----- common/jobs/job_sym_upgrade.cpp | 30 +++++++++++++++ common/jobs/job_sym_upgrade.h | 11 ++---- 37 files changed, 710 insertions(+), 239 deletions(-) create mode 100644 common/jobs/job.cpp create mode 100644 common/jobs/job_export_pcb_3d.cpp create mode 100644 common/jobs/job_export_pcb_drill.cpp create mode 100644 common/jobs/job_export_pcb_dxf.cpp create mode 100644 common/jobs/job_export_pcb_gerber.cpp create mode 100644 common/jobs/job_export_pcb_gerbers.cpp create mode 100644 common/jobs/job_export_pcb_pdf.cpp create mode 100644 common/jobs/job_export_pcb_pos.cpp create mode 100644 common/jobs/job_export_pcb_svg.cpp create mode 100644 common/jobs/job_export_sch_bom.cpp create mode 100644 common/jobs/job_export_sch_netlist.cpp create mode 100644 common/jobs/job_export_sch_pythonbom.cpp create mode 100644 common/jobs/job_fp_export_svg.cpp create mode 100644 common/jobs/job_fp_upgrade.cpp create mode 100644 common/jobs/job_pcb_drc.cpp create mode 100644 common/jobs/job_sch_erc.cpp create mode 100644 common/jobs/job_sym_export_svg.cpp create mode 100644 common/jobs/job_sym_upgrade.cpp diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index d4eae7c06d..ebe33ebe6a 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -69,6 +69,25 @@ add_library( singletop STATIC EXCLUDE_FROM_ALL set( KICOMMON_SRCS gal/color4d.cpp + jobs/job.cpp + jobs/job_export_pcb_drill.cpp + jobs/job_export_pcb_dxf.cpp + jobs/job_export_pcb_gerber.cpp + jobs/job_export_pcb_gerbers.cpp + jobs/job_export_pcb_pdf.cpp + jobs/job_export_pcb_pos.cpp + jobs/job_export_pcb_svg.cpp + jobs/job_export_pcb_3d.cpp + jobs/job_export_sch_bom.cpp + jobs/job_export_sch_netlist.cpp + jobs/job_export_sch_pythonbom.cpp + jobs/job_fp_export_svg.cpp + jobs/job_fp_upgrade.cpp + jobs/job_pcb_drc.cpp + jobs/job_sch_erc.cpp + jobs/job_sym_export_svg.cpp + jobs/job_sym_upgrade.cpp + asset_archive.cpp array_axis.cpp array_options.cpp diff --git a/common/jobs/job.cpp b/common/jobs/job.cpp new file mode 100644 index 0000000000..fa3678f76c --- /dev/null +++ b/common/jobs/job.cpp @@ -0,0 +1,28 @@ +/* + * This program source code file is part of KiCad, a free EDA CAD application. + * + * Copyright (C) 2023 Mark Roszko + * Copyright (C) 2023 KiCad Developers, see AUTHORS.txt for contributors. + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#include + +JOB::JOB( const std::string& aType, bool aIsCli ) : + m_type( aType ), + m_isCli( aIsCli ), + m_varOverrides() +{ +} \ No newline at end of file diff --git a/common/jobs/job.h b/common/jobs/job.h index 8b13a44826..47e24e47f6 100644 --- a/common/jobs/job.h +++ b/common/jobs/job.h @@ -21,21 +21,17 @@ #ifndef JOB_H #define JOB_H +#include #include #include /** * An simple container class that lets us dispatch output jobs to kifaces */ -class JOB +class KICOMMON_API JOB { public: - JOB( const std::string& aType, bool aIsCli ) : - m_type( aType ), - m_isCli( aIsCli ), - m_varOverrides() - { - } + JOB( const std::string& aType, bool aIsCli ); virtual ~JOB() {} diff --git a/common/jobs/job_export_pcb_3d.cpp b/common/jobs/job_export_pcb_3d.cpp new file mode 100644 index 0000000000..ee8767c577 --- /dev/null +++ b/common/jobs/job_export_pcb_3d.cpp @@ -0,0 +1,47 @@ +/* + * This program source code file is part of KiCad, a free EDA CAD application. + * + * Copyright (C) 2023 Mark Roszko + * Copyright (C) 2023 KiCad Developers, see AUTHORS.txt for contributors. + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#include + + +JOB_EXPORT_PCB_3D::JOB_EXPORT_PCB_3D( bool aIsCli ) : + JOB( "3d", aIsCli ), + m_overwrite( false ), + m_useGridOrigin( false ), + m_useDrillOrigin( false ), + m_hasUserOrigin( false ), + m_boardOnly( false ), + m_includeUnspecified( false ), + m_includeDNP( false ), + m_substModels( false ), + m_filename(), + m_outputFile(), + m_xOrigin( 0.0 ), + m_yOrigin( 0.0 ), + // max dist to chain 2 items (lines or curves) to build the board outlines + m_BoardOutlinesChainingEpsilon( 0.01 ), // 0.01 mm is a good value + m_exportTracks( false ), // Extremely time consuming if true + m_exportZones( false ), // Extremely time consuming if true + m_format( JOB_EXPORT_PCB_3D::FORMAT::UNKNOWN ), + m_vrmlUnits( JOB_EXPORT_PCB_3D::VRML_UNITS::METERS ), + m_vrmlModelDir( wxEmptyString ), + m_vrmlRelativePaths( false ) +{ +} \ No newline at end of file diff --git a/common/jobs/job_export_pcb_3d.h b/common/jobs/job_export_pcb_3d.h index b94aa579ed..ba9f2c0cbc 100644 --- a/common/jobs/job_export_pcb_3d.h +++ b/common/jobs/job_export_pcb_3d.h @@ -21,36 +21,14 @@ #ifndef JOB_EXPORT_STEP_H #define JOB_EXPORT_STEP_H +#include #include #include "job.h" -class JOB_EXPORT_PCB_3D : public JOB +class KICOMMON_API JOB_EXPORT_PCB_3D : public JOB { public: - JOB_EXPORT_PCB_3D( bool aIsCli ) : - JOB( "3d", aIsCli ), - m_overwrite( false ), - m_useGridOrigin( false ), - m_useDrillOrigin( false ), - m_hasUserOrigin( false ), - m_boardOnly( false ), - m_includeUnspecified( false ), - m_includeDNP( false ), - m_substModels( false ), - m_filename(), - m_outputFile(), - m_xOrigin( 0.0 ), - m_yOrigin( 0.0 ), - // max dist to chain 2 items (lines or curves) to build the board outlines - m_BoardOutlinesChainingEpsilon( 0.01 ), // 0.01 mm is a good value - m_exportTracks( false ), // Extremely time consuming if true - m_exportZones( false ), // Extremely time consuming if true - m_format( JOB_EXPORT_PCB_3D::FORMAT::UNKNOWN ), - m_vrmlUnits( JOB_EXPORT_PCB_3D::VRML_UNITS::METERS ), - m_vrmlModelDir( wxEmptyString ), - m_vrmlRelativePaths( false ) - { - } + JOB_EXPORT_PCB_3D( bool aIsCli ); enum class FORMAT { diff --git a/common/jobs/job_export_pcb_drill.cpp b/common/jobs/job_export_pcb_drill.cpp new file mode 100644 index 0000000000..759fb53ef4 --- /dev/null +++ b/common/jobs/job_export_pcb_drill.cpp @@ -0,0 +1,39 @@ +/* + * This program source code file is part of KiCad, a free EDA CAD application. + * + * Copyright (C) 2023 Mark Roszko + * Copyright (C) 2023 KiCad Developers, see AUTHORS.txt for contributors. + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#include + +JOB_EXPORT_PCB_DRILL::JOB_EXPORT_PCB_DRILL( bool aIsCli ) : + JOB( "drill", aIsCli ), + m_filename(), + m_outputDir(), + m_excellonMirrorY( false ), + m_excellonMinimalHeader( false ), + m_excellonCombinePTHNPTH( true ), + m_excellonOvalDrillRoute( false ), + m_format( DRILL_FORMAT::EXCELLON ), + m_drillOrigin( DRILL_ORIGIN::ABS ), + m_drillUnits( DRILL_UNITS::INCHES ), + m_zeroFormat( ZEROS_FORMAT::DECIMAL ), + m_mapFormat( MAP_FORMAT::PDF ), + m_gerberPrecision( 5 ), + m_generateMap( false ) +{ +} \ No newline at end of file diff --git a/common/jobs/job_export_pcb_drill.h b/common/jobs/job_export_pcb_drill.h index e845d9b198..7423b2ea31 100644 --- a/common/jobs/job_export_pcb_drill.h +++ b/common/jobs/job_export_pcb_drill.h @@ -21,30 +21,15 @@ #ifndef JOB_EXPORT_PCB_DRILL_H #define JOB_EXPORT_PCB_DRILL_H +#include #include #include #include "job.h" -class JOB_EXPORT_PCB_DRILL : public JOB +class KICOMMON_API JOB_EXPORT_PCB_DRILL : public JOB { public: - JOB_EXPORT_PCB_DRILL( bool aIsCli ) : - JOB( "drill", aIsCli ), - m_filename(), - m_outputDir(), - m_excellonMirrorY( false ), - m_excellonMinimalHeader( false ), - m_excellonCombinePTHNPTH( true ), - m_excellonOvalDrillRoute( false ), - m_format( DRILL_FORMAT::EXCELLON ), - m_drillOrigin( DRILL_ORIGIN::ABS ), - m_drillUnits( DRILL_UNITS::INCHES ), - m_zeroFormat( ZEROS_FORMAT::DECIMAL ), - m_mapFormat( MAP_FORMAT::PDF ), - m_gerberPrecision( 5 ), - m_generateMap( false ) - { - } + JOB_EXPORT_PCB_DRILL( bool aIsCli ); wxString m_filename; wxString m_outputDir; diff --git a/common/jobs/job_export_pcb_dxf.cpp b/common/jobs/job_export_pcb_dxf.cpp new file mode 100644 index 0000000000..e920009f04 --- /dev/null +++ b/common/jobs/job_export_pcb_dxf.cpp @@ -0,0 +1,36 @@ +/* + * This program source code file is part of KiCad, a free EDA CAD application. + * + * Copyright (C) 2023 Mark Roszko + * Copyright (C) 2023 KiCad Developers, see AUTHORS.txt for contributors. + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#include + + +JOB_EXPORT_PCB_DXF::JOB_EXPORT_PCB_DXF( bool aIsCli ) : + JOB( "dxf", aIsCli ), + m_filename(), + m_outputFile(), + m_drawingSheet(), + m_plotFootprintValues( true ), + m_plotRefDes( true ), + m_plotGraphicItemsUsingContours( true ), + m_plotBorderTitleBlocks( false ), + m_dxfUnits( DXF_UNITS::INCHES ), + m_printMaskLayer() +{ +} \ No newline at end of file diff --git a/common/jobs/job_export_pcb_dxf.h b/common/jobs/job_export_pcb_dxf.h index 2d33a62cca..cc903e17d7 100644 --- a/common/jobs/job_export_pcb_dxf.h +++ b/common/jobs/job_export_pcb_dxf.h @@ -21,26 +21,15 @@ #ifndef JOB_EXPORT_PCB_DXF_H #define JOB_EXPORT_PCB_DXF_H +#include #include #include #include "job.h" -class JOB_EXPORT_PCB_DXF : public JOB +class KICOMMON_API JOB_EXPORT_PCB_DXF : public JOB { public: - JOB_EXPORT_PCB_DXF( bool aIsCli ) : - JOB( "dxf", aIsCli ), - m_filename(), - m_outputFile(), - m_drawingSheet(), - m_plotFootprintValues( true ), - m_plotRefDes( true ), - m_plotGraphicItemsUsingContours( true ), - m_plotBorderTitleBlocks( false ), - m_dxfUnits( DXF_UNITS::INCHES ), - m_printMaskLayer() - { - } + JOB_EXPORT_PCB_DXF( bool aIsCli ); enum class DXF_UNITS { diff --git a/common/jobs/job_export_pcb_gerber.cpp b/common/jobs/job_export_pcb_gerber.cpp new file mode 100644 index 0000000000..732e1a7f3e --- /dev/null +++ b/common/jobs/job_export_pcb_gerber.cpp @@ -0,0 +1,47 @@ +/* + * This program source code file is part of KiCad, a free EDA CAD application. + * + * Copyright (C) 2023 Mark Roszko + * Copyright (C) 2023 KiCad Developers, see AUTHORS.txt for contributors. + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#include + + +JOB_EXPORT_PCB_GERBER::JOB_EXPORT_PCB_GERBER( const std::string& aType, bool aIsCli ) : + JOB( aType, aIsCli ), + m_filename(), + m_outputFile(), + m_drawingSheet(), + m_plotFootprintValues( true ), + m_plotRefDes( true ), + m_plotBorderTitleBlocks( false ), + m_subtractSolderMaskFromSilk( false ), + m_includeNetlistAttributes( true ), + m_useX2Format( true ), + m_disableApertureMacros( false ), + m_useAuxOrigin( false ), + m_useProtelFileExtension( true ), + m_precision( 5 ), + m_printMaskLayer() +{ +} + + +JOB_EXPORT_PCB_GERBER::JOB_EXPORT_PCB_GERBER( bool aIsCli ) : + JOB_EXPORT_PCB_GERBER( "gerber", aIsCli ) +{ +} \ No newline at end of file diff --git a/common/jobs/job_export_pcb_gerber.h b/common/jobs/job_export_pcb_gerber.h index f38bf7a171..9ddf3b6155 100644 --- a/common/jobs/job_export_pcb_gerber.h +++ b/common/jobs/job_export_pcb_gerber.h @@ -21,36 +21,16 @@ #ifndef JOB_EXPORT_PCB_GERBER_H #define JOB_EXPORT_PCB_GERBER_H +#include #include #include #include "job.h" -class JOB_EXPORT_PCB_GERBER : public JOB +class KICOMMON_API JOB_EXPORT_PCB_GERBER : public JOB { public: - JOB_EXPORT_PCB_GERBER( const std::string& aType, bool aIsCli ) : - JOB( aType, aIsCli ), - m_filename(), - m_outputFile(), - m_drawingSheet(), - m_plotFootprintValues( true ), - m_plotRefDes( true ), - m_plotBorderTitleBlocks( false ), - m_subtractSolderMaskFromSilk( false ), - m_includeNetlistAttributes( true ), - m_useX2Format( true ), - m_disableApertureMacros( false ), - m_useAuxOrigin( false ), - m_useProtelFileExtension( true ), - m_precision( 5 ), - m_printMaskLayer() - { - } - - JOB_EXPORT_PCB_GERBER( bool aIsCli ) : - JOB_EXPORT_PCB_GERBER( "gerber", aIsCli ) - { - } + JOB_EXPORT_PCB_GERBER( const std::string& aType, bool aIsCli ); + JOB_EXPORT_PCB_GERBER( bool aIsCli ); wxString m_filename; wxString m_outputFile; diff --git a/common/jobs/job_export_pcb_gerbers.cpp b/common/jobs/job_export_pcb_gerbers.cpp new file mode 100644 index 0000000000..112b06877f --- /dev/null +++ b/common/jobs/job_export_pcb_gerbers.cpp @@ -0,0 +1,30 @@ +/* + * This program source code file is part of KiCad, a free EDA CAD application. + * + * Copyright (C) 2023 Mark Roszko + * Copyright (C) 2023 KiCad Developers, see AUTHORS.txt for contributors. + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#include + + +JOB_EXPORT_PCB_GERBERS::JOB_EXPORT_PCB_GERBERS( bool aIsCli ) : + JOB_EXPORT_PCB_GERBER( "gerbers", aIsCli ), + m_layersIncludeOnAll(), + m_layersIncludeOnAllSet( false ), + m_useBoardPlotParams( false ) +{ +} \ No newline at end of file diff --git a/common/jobs/job_export_pcb_gerbers.h b/common/jobs/job_export_pcb_gerbers.h index d5428cc550..8365e28027 100644 --- a/common/jobs/job_export_pcb_gerbers.h +++ b/common/jobs/job_export_pcb_gerbers.h @@ -21,21 +21,16 @@ #ifndef JOB_EXPORT_PCB_GERBERS_H #define JOB_EXPORT_PCB_GERBERS_H +#include #include "job_export_pcb_gerber.h" #include #include #include "job.h" -class JOB_EXPORT_PCB_GERBERS : public JOB_EXPORT_PCB_GERBER +class KICOMMON_API JOB_EXPORT_PCB_GERBERS : public JOB_EXPORT_PCB_GERBER { public: - JOB_EXPORT_PCB_GERBERS( bool aIsCli ) : - JOB_EXPORT_PCB_GERBER( "gerbers", aIsCli ), - m_layersIncludeOnAll(), - m_layersIncludeOnAllSet( false ), - m_useBoardPlotParams( false ) - { - } + JOB_EXPORT_PCB_GERBERS( bool aIsCli ); LSET m_layersIncludeOnAll; diff --git a/common/jobs/job_export_pcb_pdf.cpp b/common/jobs/job_export_pcb_pdf.cpp new file mode 100644 index 0000000000..c62e622e78 --- /dev/null +++ b/common/jobs/job_export_pcb_pdf.cpp @@ -0,0 +1,39 @@ +/* + * This program source code file is part of KiCad, a free EDA CAD application. + * + * Copyright (C) 2023 Mark Roszko + * Copyright (C) 2023 KiCad Developers, see AUTHORS.txt for contributors. + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#include + + +JOB_EXPORT_PCB_PDF::JOB_EXPORT_PCB_PDF( bool aIsCli ) : + JOB( "pdf", aIsCli ), + m_filename(), + m_outputFile(), + m_colorTheme(), + m_drawingSheet(), + m_mirror( false ), + m_blackAndWhite( false ), + m_negative( false ), + m_plotFootprintValues( true ), + m_plotRefDes( true ), + m_plotBorderTitleBlocks( false ), + m_printMaskLayer(), + m_drillShapeOption( 2 ) +{ +} \ No newline at end of file diff --git a/common/jobs/job_export_pcb_pdf.h b/common/jobs/job_export_pcb_pdf.h index 915a327cbf..e9c51e39be 100644 --- a/common/jobs/job_export_pcb_pdf.h +++ b/common/jobs/job_export_pcb_pdf.h @@ -21,29 +21,16 @@ #ifndef JOB_EXPORT_PCB_PDF_H #define JOB_EXPORT_PCB_PDF_H +#include +#include #include #include #include "job.h" -class JOB_EXPORT_PCB_PDF : public JOB +class KICOMMON_API JOB_EXPORT_PCB_PDF : public JOB { public: - JOB_EXPORT_PCB_PDF( bool aIsCli ) : - JOB( "pdf", aIsCli ), - m_filename(), - m_outputFile(), - m_colorTheme(), - m_drawingSheet(), - m_mirror( false ), - m_blackAndWhite( false ), - m_negative( false ), - m_plotFootprintValues( true ), - m_plotRefDes( true ), - m_plotBorderTitleBlocks( false ), - m_printMaskLayer(), - m_drillShapeOption( 2 ) - { - } + JOB_EXPORT_PCB_PDF( bool aIsCli ); wxString m_filename; wxString m_outputFile; diff --git a/common/jobs/job_export_pcb_pos.cpp b/common/jobs/job_export_pcb_pos.cpp new file mode 100644 index 0000000000..2cf82cddfa --- /dev/null +++ b/common/jobs/job_export_pcb_pos.cpp @@ -0,0 +1,38 @@ +/* + * This program source code file is part of KiCad, a free EDA CAD application. + * + * Copyright (C) 2023 Mark Roszko + * Copyright (C) 2023 KiCad Developers, see AUTHORS.txt for contributors. + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#include + + +JOB_EXPORT_PCB_POS::JOB_EXPORT_PCB_POS( bool aIsCli ) : + JOB( "pos", aIsCli ), + m_filename(), + m_outputFile(), + m_useDrillPlaceFileOrigin( true ), + m_smdOnly( false ), + m_excludeFootprintsWithTh( false ), + m_excludeDNP( false ), + m_negateBottomX( false ) +{ + m_side = SIDE::BOTH; + m_units = UNITS::MILLIMETERS; + m_format = FORMAT::ASCII; + m_gerberBoardEdge = true; +} \ No newline at end of file diff --git a/common/jobs/job_export_pcb_pos.h b/common/jobs/job_export_pcb_pos.h index d20b92ef7a..fe45a966ff 100644 --- a/common/jobs/job_export_pcb_pos.h +++ b/common/jobs/job_export_pcb_pos.h @@ -21,28 +21,15 @@ #ifndef JOB_EXPORT_PCB_POS_H #define JOB_EXPORT_PCB_POS_H +#include #include #include #include "job.h" -class JOB_EXPORT_PCB_POS : public JOB +class KICOMMON_API JOB_EXPORT_PCB_POS : public JOB { public: - JOB_EXPORT_PCB_POS( bool aIsCli ) : - JOB( "pos", aIsCli ), - m_filename(), - m_outputFile(), - m_useDrillPlaceFileOrigin( true ), - m_smdOnly( false ), - m_excludeFootprintsWithTh( false ), - m_excludeDNP( false ), - m_negateBottomX( false ) - { - m_side = SIDE::BOTH; - m_units = UNITS::MILLIMETERS; - m_format = FORMAT::ASCII; - m_gerberBoardEdge = true; - } + JOB_EXPORT_PCB_POS( bool aIsCli ); wxString m_filename; wxString m_outputFile; diff --git a/common/jobs/job_export_pcb_svg.cpp b/common/jobs/job_export_pcb_svg.cpp new file mode 100644 index 0000000000..081891e3cc --- /dev/null +++ b/common/jobs/job_export_pcb_svg.cpp @@ -0,0 +1,38 @@ +/* + * This program source code file is part of KiCad, a free EDA CAD application. + * + * Copyright (C) 2023 Mark Roszko + * Copyright (C) 2023 KiCad Developers, see AUTHORS.txt for contributors. + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#include + + +JOB_EXPORT_PCB_SVG::JOB_EXPORT_PCB_SVG( bool aIsCli ) : + JOB( "svg", aIsCli ), + m_filename(), + m_outputFile(), + m_colorTheme(), + m_drawingSheet(), + m_mirror( false ), + m_blackAndWhite( false ), + m_negative( false ), + m_plotDrawingSheet( true ), + m_pageSizeMode( 0 ), + m_printMaskLayer(), + m_drillShapeOption( 2 ) +{ +} \ No newline at end of file diff --git a/common/jobs/job_export_pcb_svg.h b/common/jobs/job_export_pcb_svg.h index b0a2d1a225..4ac99b5352 100644 --- a/common/jobs/job_export_pcb_svg.h +++ b/common/jobs/job_export_pcb_svg.h @@ -21,28 +21,15 @@ #ifndef JOB_EXPORT_PCB_SVG_H #define JOB_EXPORT_PCB_SVG_H +#include #include #include #include "job.h" -class JOB_EXPORT_PCB_SVG : public JOB +class KICOMMON_API JOB_EXPORT_PCB_SVG : public JOB { public: - JOB_EXPORT_PCB_SVG( bool aIsCli ) : - JOB( "svg", aIsCli ), - m_filename(), - m_outputFile(), - m_colorTheme(), - m_drawingSheet(), - m_mirror( false ), - m_blackAndWhite( false ), - m_negative( false ), - m_plotDrawingSheet( true ), - m_pageSizeMode( 0 ), - m_printMaskLayer(), - m_drillShapeOption( 2 ) - { - } + JOB_EXPORT_PCB_SVG( bool aIsCli ); wxString m_filename; wxString m_outputFile; diff --git a/common/jobs/job_export_sch_bom.cpp b/common/jobs/job_export_sch_bom.cpp new file mode 100644 index 0000000000..8eae1e7f47 --- /dev/null +++ b/common/jobs/job_export_sch_bom.cpp @@ -0,0 +1,44 @@ +/* + * This program source code file is part of KiCad, a free EDA CAD application. + * + * Copyright (C) 2023 Mark Roszko + * Copyright (C) 2023 KiCad Developers, see AUTHORS.txt for contributors. + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#include + + +JOB_EXPORT_SCH_BOM::JOB_EXPORT_SCH_BOM( bool aIsCli ) : + JOB( "bom", aIsCli ), + m_filename(), + m_outputFile(), + + m_fieldDelimiter(), + m_stringDelimiter(), + m_refDelimiter(), + m_refRangeDelimiter(), + m_keepTabs( false ), + m_keepLineBreaks( false ), + + m_fieldsOrdered(), + m_fieldsLabels(), + m_fieldsGroupBy(), + m_sortField(), + m_sortAsc( true ), + m_filterString(), + m_excludeDNP( false ) +{ +} \ No newline at end of file diff --git a/common/jobs/job_export_sch_bom.h b/common/jobs/job_export_sch_bom.h index af042158da..4af9d79015 100644 --- a/common/jobs/job_export_sch_bom.h +++ b/common/jobs/job_export_sch_bom.h @@ -21,33 +21,14 @@ #ifndef JOB_EXPORT_SCH_BOM_H #define JOB_EXPORT_SCH_BOM_H +#include #include #include "job.h" -class JOB_EXPORT_SCH_BOM : public JOB +class KICOMMON_API JOB_EXPORT_SCH_BOM : public JOB { public: - JOB_EXPORT_SCH_BOM( bool aIsCli ) : - JOB( "bom", aIsCli ), - m_filename(), - m_outputFile(), - - m_fieldDelimiter(), - m_stringDelimiter(), - m_refDelimiter(), - m_refRangeDelimiter(), - m_keepTabs( false ), - m_keepLineBreaks( false ), - - m_fieldsOrdered(), - m_fieldsLabels(), - m_fieldsGroupBy(), - m_sortField(), - m_sortAsc( true ), - m_filterString(), - m_excludeDNP( false ) - { - } + JOB_EXPORT_SCH_BOM( bool aIsCli ); // Basic options wxString m_filename; diff --git a/common/jobs/job_export_sch_netlist.cpp b/common/jobs/job_export_sch_netlist.cpp new file mode 100644 index 0000000000..16024b2535 --- /dev/null +++ b/common/jobs/job_export_sch_netlist.cpp @@ -0,0 +1,30 @@ +/* + * This program source code file is part of KiCad, a free EDA CAD application. + * + * Copyright (C) 2023 Mark Roszko + * Copyright (C) 2023 KiCad Developers, see AUTHORS.txt for contributors. + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#include + + +JOB_EXPORT_SCH_NETLIST::JOB_EXPORT_SCH_NETLIST( bool aIsCli ) : + JOB( "netlist", aIsCli ), + m_filename(), + m_outputFile() +{ + format = FORMAT::KICADSEXPR; +} \ No newline at end of file diff --git a/common/jobs/job_export_sch_netlist.h b/common/jobs/job_export_sch_netlist.h index eacb13aac5..655b2b3e1a 100644 --- a/common/jobs/job_export_sch_netlist.h +++ b/common/jobs/job_export_sch_netlist.h @@ -21,19 +21,14 @@ #ifndef JOB_EXPORT_SCH_NETLIST_H #define JOB_EXPORT_SCH_NETLIST_H +#include #include #include "job.h" -class JOB_EXPORT_SCH_NETLIST : public JOB +class KICOMMON_API JOB_EXPORT_SCH_NETLIST : public JOB { public: - JOB_EXPORT_SCH_NETLIST( bool aIsCli ) : - JOB( "netlist", aIsCli ), - m_filename(), - m_outputFile() - { - format = FORMAT::KICADSEXPR; - } + JOB_EXPORT_SCH_NETLIST( bool aIsCli ); wxString m_filename; wxString m_outputFile; diff --git a/common/jobs/job_export_sch_pythonbom.cpp b/common/jobs/job_export_sch_pythonbom.cpp new file mode 100644 index 0000000000..d98908cc96 --- /dev/null +++ b/common/jobs/job_export_sch_pythonbom.cpp @@ -0,0 +1,29 @@ +/* + * This program source code file is part of KiCad, a free EDA CAD application. + * + * Copyright (C) 2023 Mark Roszko + * Copyright (C) 2023 KiCad Developers, see AUTHORS.txt for contributors. + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#include + + +JOB_EXPORT_SCH_PYTHONBOM::JOB_EXPORT_SCH_PYTHONBOM( bool aIsCli ) : + JOB( "pythonbom", aIsCli ), + m_filename(), + m_outputFile() +{ +} \ No newline at end of file diff --git a/common/jobs/job_export_sch_pythonbom.h b/common/jobs/job_export_sch_pythonbom.h index c280e32444..888836766a 100644 --- a/common/jobs/job_export_sch_pythonbom.h +++ b/common/jobs/job_export_sch_pythonbom.h @@ -21,18 +21,14 @@ #ifndef JOB_EXPORT_SCH_PYTHONBOM_H #define JOB_EXPORT_SCH_PYTHONBOM_H +#include #include #include "job.h" -class JOB_EXPORT_SCH_PYTHONBOM : public JOB +class KICOMMON_API JOB_EXPORT_SCH_PYTHONBOM : public JOB { public: - JOB_EXPORT_SCH_PYTHONBOM( bool aIsCli ) : - JOB( "pythonbom", aIsCli ), - m_filename(), - m_outputFile() - { - } + JOB_EXPORT_SCH_PYTHONBOM( bool aIsCli ); wxString m_filename; wxString m_outputFile; diff --git a/common/jobs/job_fp_export_svg.cpp b/common/jobs/job_fp_export_svg.cpp new file mode 100644 index 0000000000..45e496caa8 --- /dev/null +++ b/common/jobs/job_fp_export_svg.cpp @@ -0,0 +1,31 @@ +/* + * This program source code file is part of KiCad, a free EDA CAD application. + * + * Copyright (C) 2023 Mark Roszko + * Copyright (C) 2023 KiCad Developers, see AUTHORS.txt for contributors. + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#include + + +JOB_FP_EXPORT_SVG::JOB_FP_EXPORT_SVG( bool aIsCli ) : + JOB( "fpsvg", aIsCli ), + m_libraryPath(), + m_footprint(), + m_outputDirectory(), + m_blackAndWhite( false ) +{ +} \ No newline at end of file diff --git a/common/jobs/job_fp_export_svg.h b/common/jobs/job_fp_export_svg.h index 5224427530..90a36d06e5 100644 --- a/common/jobs/job_fp_export_svg.h +++ b/common/jobs/job_fp_export_svg.h @@ -21,20 +21,15 @@ #ifndef JOB_FP_EXPORT_SVG_H #define JOB_FP_EXPORT_SVG_H +#include +#include #include #include "job.h" -class JOB_FP_EXPORT_SVG : public JOB +class KICOMMON_API JOB_FP_EXPORT_SVG : public JOB { public: - JOB_FP_EXPORT_SVG( bool aIsCli ) : - JOB( "fpsvg", aIsCli ), - m_libraryPath(), - m_footprint(), - m_outputDirectory(), - m_blackAndWhite( false ) - { - } + JOB_FP_EXPORT_SVG( bool aIsCli ); wxString m_libraryPath; wxString m_footprint; diff --git a/common/jobs/job_fp_upgrade.cpp b/common/jobs/job_fp_upgrade.cpp new file mode 100644 index 0000000000..10cfbc4ee0 --- /dev/null +++ b/common/jobs/job_fp_upgrade.cpp @@ -0,0 +1,30 @@ +/* + * This program source code file is part of KiCad, a free EDA CAD application. + * + * Copyright (C) 2023 Mark Roszko + * Copyright (C) 2023 KiCad Developers, see AUTHORS.txt for contributors. + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#include + + +JOB_FP_UPGRADE::JOB_FP_UPGRADE( bool aIsCli ) : + JOB( "fpupgrade", aIsCli ), + m_libraryPath(), + m_outputLibraryPath(), + m_force( false ) +{ +} \ No newline at end of file diff --git a/common/jobs/job_fp_upgrade.h b/common/jobs/job_fp_upgrade.h index 48f8c7a91b..0e96de0db9 100644 --- a/common/jobs/job_fp_upgrade.h +++ b/common/jobs/job_fp_upgrade.h @@ -21,19 +21,14 @@ #ifndef JOB_FP_UPGRADE_H #define JOB_FP_UPGRADE_H +#include #include #include "job.h" -class JOB_FP_UPGRADE : public JOB +class KICOMMON_API JOB_FP_UPGRADE : public JOB { public: - JOB_FP_UPGRADE( bool aIsCli ) : - JOB( "fpupgrade", aIsCli ), - m_libraryPath(), - m_outputLibraryPath(), - m_force( false ) - { - } + JOB_FP_UPGRADE( bool aIsCli ); wxString m_libraryPath; wxString m_outputLibraryPath; diff --git a/common/jobs/job_pcb_drc.cpp b/common/jobs/job_pcb_drc.cpp new file mode 100644 index 0000000000..7b8a3de56d --- /dev/null +++ b/common/jobs/job_pcb_drc.cpp @@ -0,0 +1,33 @@ +/* + * This program source code file is part of KiCad, a free EDA CAD application. + * + * Copyright (C) 2023 Mark Roszko + * Copyright (C) 2023 KiCad Developers, see AUTHORS.txt for contributors. + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#include + + +JOB_PCB_DRC::JOB_PCB_DRC( bool aIsCli ) : + JOB( "drc", aIsCli ), + m_filename(), + m_reportAllTrackErrors( false ), + m_units( JOB_PCB_DRC::UNITS::MILLIMETERS ), + m_severity( RPT_SEVERITY_ERROR | RPT_SEVERITY_WARNING ), + m_format( OUTPUT_FORMAT::REPORT ), + m_exitCodeViolations( false ) +{ +} \ No newline at end of file diff --git a/common/jobs/job_pcb_drc.h b/common/jobs/job_pcb_drc.h index 05bb13279a..c3526d6fc1 100644 --- a/common/jobs/job_pcb_drc.h +++ b/common/jobs/job_pcb_drc.h @@ -21,24 +21,16 @@ #ifndef JOB_PCB_DRC_H #define JOB_PCB_DRC_H +#include #include #include #include #include "job.h" -class JOB_PCB_DRC : public JOB +class KICOMMON_API JOB_PCB_DRC : public JOB { public: - JOB_PCB_DRC( bool aIsCli ) : - JOB( "drc", aIsCli ), - m_filename(), - m_reportAllTrackErrors( false ), - m_units( JOB_PCB_DRC::UNITS::MILLIMETERS ), - m_severity( RPT_SEVERITY_ERROR | RPT_SEVERITY_WARNING ), - m_format( OUTPUT_FORMAT::REPORT ), - m_exitCodeViolations( false ) - { - } + JOB_PCB_DRC( bool aIsCli ); wxString m_filename; wxString m_outputFile; diff --git a/common/jobs/job_sch_erc.cpp b/common/jobs/job_sch_erc.cpp new file mode 100644 index 0000000000..722b7dadd2 --- /dev/null +++ b/common/jobs/job_sch_erc.cpp @@ -0,0 +1,32 @@ +/* + * This program source code file is part of KiCad, a free EDA CAD application. + * + * Copyright (C) 2023 Mark Roszko + * Copyright (C) 2023 KiCad Developers, see AUTHORS.txt for contributors. + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#include + + +JOB_SCH_ERC::JOB_SCH_ERC( bool aIsCli ) : + JOB( "erc", aIsCli ), + m_filename(), + m_units( JOB_SCH_ERC::UNITS::MILLIMETERS ), + m_severity( RPT_SEVERITY_ERROR | RPT_SEVERITY_WARNING ), + m_format( OUTPUT_FORMAT::REPORT ), + m_exitCodeViolations( false ) +{ +} \ No newline at end of file diff --git a/common/jobs/job_sch_erc.h b/common/jobs/job_sch_erc.h index c58df4dcc1..ec00a186c4 100644 --- a/common/jobs/job_sch_erc.h +++ b/common/jobs/job_sch_erc.h @@ -21,23 +21,16 @@ #ifndef JOB_PCB_DRC_H #define JOB_PCB_DRC_H +#include #include #include #include #include "job.h" -class JOB_SCH_ERC : public JOB +class KICOMMON_API JOB_SCH_ERC : public JOB { public: - JOB_SCH_ERC( bool aIsCli ) : - JOB( "erc", aIsCli ), - m_filename(), - m_units( JOB_SCH_ERC::UNITS::MILLIMETERS ), - m_severity( RPT_SEVERITY_ERROR | RPT_SEVERITY_WARNING ), - m_format( OUTPUT_FORMAT::REPORT ), - m_exitCodeViolations( false ) - { - } + JOB_SCH_ERC( bool aIsCli ); wxString m_filename; wxString m_outputFile; diff --git a/common/jobs/job_sym_export_svg.cpp b/common/jobs/job_sym_export_svg.cpp new file mode 100644 index 0000000000..3bb5e31f38 --- /dev/null +++ b/common/jobs/job_sym_export_svg.cpp @@ -0,0 +1,33 @@ +/* + * This program source code file is part of KiCad, a free EDA CAD application. + * + * Copyright (C) 2023 Mark Roszko + * Copyright (C) 2023 KiCad Developers, see AUTHORS.txt for contributors. + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#include + + +JOB_SYM_EXPORT_SVG::JOB_SYM_EXPORT_SVG( bool aIsCli ) : + JOB( "symsvg", aIsCli ), + m_libraryPath(), + m_symbol(), + m_outputDirectory(), + m_blackAndWhite( false ), + m_includeHiddenPins( false ), + m_includeHiddenFields( false ) +{ +} \ No newline at end of file diff --git a/common/jobs/job_sym_export_svg.h b/common/jobs/job_sym_export_svg.h index 2d341c34f3..b508ae1ff8 100644 --- a/common/jobs/job_sym_export_svg.h +++ b/common/jobs/job_sym_export_svg.h @@ -21,22 +21,14 @@ #ifndef JOB_SYM_EXPORT_SVG_H #define JOB_SYM_EXPORT_SVG_H +#include #include #include "job.h" -class JOB_SYM_EXPORT_SVG : public JOB +class KICOMMON_API JOB_SYM_EXPORT_SVG : public JOB { public: - JOB_SYM_EXPORT_SVG( bool aIsCli ) : - JOB( "symsvg", aIsCli ), - m_libraryPath(), - m_symbol(), - m_outputDirectory(), - m_blackAndWhite( false ), - m_includeHiddenPins( false ), - m_includeHiddenFields( false ) - { - } + JOB_SYM_EXPORT_SVG( bool aIsCli ); wxString m_libraryPath; wxString m_symbol; diff --git a/common/jobs/job_sym_upgrade.cpp b/common/jobs/job_sym_upgrade.cpp new file mode 100644 index 0000000000..caefc60134 --- /dev/null +++ b/common/jobs/job_sym_upgrade.cpp @@ -0,0 +1,30 @@ +/* + * This program source code file is part of KiCad, a free EDA CAD application. + * + * Copyright (C) 2023 Mark Roszko + * Copyright (C) 2023 KiCad Developers, see AUTHORS.txt for contributors. + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#include + + +JOB_SYM_UPGRADE::JOB_SYM_UPGRADE( bool aIsCli ) : + JOB( "symupgrade", aIsCli ), + m_libraryPath(), + m_outputLibraryPath(), + m_force( false ) +{ +} \ No newline at end of file diff --git a/common/jobs/job_sym_upgrade.h b/common/jobs/job_sym_upgrade.h index 44884a3069..6f74937ec4 100644 --- a/common/jobs/job_sym_upgrade.h +++ b/common/jobs/job_sym_upgrade.h @@ -21,19 +21,14 @@ #ifndef JOB_SYM_UPGRADE_H #define JOB_SYM_UPGRADE_H +#include #include #include "job.h" -class JOB_SYM_UPGRADE : public JOB +class KICOMMON_API JOB_SYM_UPGRADE : public JOB { public: - JOB_SYM_UPGRADE( bool aIsCli ) : - JOB( "symupgrade", aIsCli ), - m_libraryPath(), - m_outputLibraryPath(), - m_force( false ) - { - } + JOB_SYM_UPGRADE( bool aIsCli ); wxString m_libraryPath; wxString m_outputLibraryPath;