KiCad PCB EDA Suite
Loading...
Searching...
No Matches
job_export_pcb_svg.cpp
Go to the documentation of this file.
1
/*
2
* This program source code file is part of KiCad, a free EDA CAD application.
3
*
4
* Copyright (C) 2023 Mark Roszko <
[email protected]
>
5
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
6
*
7
* This program is free software: you can redistribute it and/or modify it
8
* under the terms of the GNU General Public License as published by the
9
* Free Software Foundation, either version 3 of the License, or (at your
10
* option) any later version.
11
*
12
* This program is distributed in the hope that it will be useful, but
13
* WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* General Public License for more details.
16
*
17
* You should have received a copy of the GNU General Public License along
18
* with this program. If not, see <http://www.gnu.org/licenses/>.
19
*/
20
21
#include <
jobs/job_export_pcb_svg.h
>
22
#include <
jobs/job_registry.h
>
23
#include <
i18n_utility.h
>
24
25
NLOHMANN_JSON_SERIALIZE_ENUM
(
JOB_EXPORT_PCB_SVG::GEN_MODE
,
26
{
27
{
JOB_EXPORT_PCB_SVG::GEN_MODE::MULTI
,
"multi"
},
// intended gui behavior, first as default
28
{
JOB_EXPORT_PCB_SVG::GEN_MODE::SINGLE
,
"single"
},
29
} )
30
31
JOB_EXPORT_PCB_SVG::JOB_EXPORT_PCB_SVG
() :
32
JOB_EXPORT_PCB_PLOT
(
JOB_EXPORT_PCB_PLOT
::
PLOT_FORMAT
::
SVG
,
"svg"
, false ),
33
m_fitPageToBoard( false ),
34
m_precision( 4 ),
35
m_genMode( GEN_MODE::
SINGLE
)
// TODO change to MULTI for V10
36
{
37
m_plotDrawingSheet =
true
;
38
39
m_params.emplace_back(
new
JOB_PARAM<double>
(
"scale"
, &m_scale, m_scale ) );
40
m_params.emplace_back(
new
JOB_PARAM<wxString>
(
"color_theme"
, &m_colorTheme, m_colorTheme ) );
41
m_params.emplace_back(
42
new
JOB_PARAM<bool>
(
"fit_page_to_board"
, &m_fitPageToBoard, m_fitPageToBoard ) );
43
m_params.emplace_back(
new
JOB_PARAM<unsigned int>
(
"precision"
, &m_precision, m_precision ) );
44
m_params.emplace_back(
new
JOB_PARAM<GEN_MODE>
(
"gen_mode"
, &m_genMode, m_genMode ) );
45
}
46
47
48
wxString
JOB_EXPORT_PCB_SVG::GetDefaultDescription
()
const
49
{
50
return
_
(
"Export SVG"
);
51
}
52
53
54
wxString
JOB_EXPORT_PCB_SVG::GetSettingsDialogTitle
()
const
55
{
56
return
_
(
"Export SVG Job Settings"
);
57
}
58
59
60
REGISTER_JOB
( pcb_export_svg,
_HKI
(
"PCB: Export SVG"
),
KIWAY::FACE_PCB
,
JOB_EXPORT_PCB_SVG
);
JOB_EXPORT_PCB_PLOT
Definition
job_export_pcb_plot.h:30
JOB_EXPORT_PCB_SVG
Definition
job_export_pcb_svg.h:32
JOB_EXPORT_PCB_SVG::GetSettingsDialogTitle
wxString GetSettingsDialogTitle() const override
Definition
job_export_pcb_svg.cpp:54
JOB_EXPORT_PCB_SVG::GEN_MODE
GEN_MODE
Definition
job_export_pcb_svg.h:42
JOB_EXPORT_PCB_SVG::GEN_MODE::SINGLE
@ SINGLE
Definition
job_export_pcb_svg.h:43
JOB_EXPORT_PCB_SVG::GEN_MODE::MULTI
@ MULTI
Definition
job_export_pcb_svg.h:44
JOB_EXPORT_PCB_SVG::GetDefaultDescription
wxString GetDefaultDescription() const override
Definition
job_export_pcb_svg.cpp:48
JOB_EXPORT_PCB_SVG::JOB_EXPORT_PCB_SVG
JOB_EXPORT_PCB_SVG()
JOB_PARAM
Definition
job.h:51
KIWAY::FACE_PCB
@ FACE_PCB
pcbnew DSO
Definition
kiway.h:294
_
#define _(s)
Definition
eda_3d_actions.cpp:36
i18n_utility.h
Some functions to handle hotkeys in KiCad.
NLOHMANN_JSON_SERIALIZE_ENUM
NLOHMANN_JSON_SERIALIZE_ENUM(JOB_EXPORT_PCB_SVG::GEN_MODE, { { JOB_EXPORT_PCB_SVG::GEN_MODE::MULTI, "multi" }, { JOB_EXPORT_PCB_SVG::GEN_MODE::SINGLE, "single" }, }) JOB_EXPORT_PCB_SVG
Definition
job_export_pcb_svg.cpp:25
job_export_pcb_svg.h
SCH_PLOT_FORMAT::SVG
@ SVG
Definition
job_export_sch_plot.h:43
job_registry.h
REGISTER_JOB
#define REGISTER_JOB(job_name, title, face, T)
Definition
job_registry.h:64
_HKI
#define _HKI(x)
Definition
page_info.cpp:44
SINGLE
@ SINGLE
Definition
pcb_tuning_pattern.h:42
PLOT_FORMAT
PLOT_FORMAT
The set of supported output plot formats.
Definition
plotter.h:64
src
common
jobs
job_export_pcb_svg.cpp
Generated on Sun Sep 21 2025 01:05:21 for KiCad PCB EDA Suite by
1.13.2