KiCad PCB EDA Suite
Loading...
Searching...
No Matches
job_sch_erc.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 (C) 2023 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_sch_erc.h
>
22
#include <
jobs/job_registry.h
>
23
#include <
i18n_utility.h
>
24
25
NLOHMANN_JSON_SERIALIZE_ENUM
(
JOB_SCH_ERC::UNITS
,
26
{
27
{
JOB_SCH_ERC::UNITS::INCHES
,
"in"
},
28
{
JOB_SCH_ERC::UNITS::MILLIMETERS
,
"mm"
},
29
{
JOB_SCH_ERC::UNITS::MILS
,
"mils"
},
30
} )
31
32
NLOHMANN_JSON_SERIALIZE_ENUM
(
JOB_SCH_ERC::OUTPUT_FORMAT
,
33
{
34
{
JOB_SCH_ERC::OUTPUT_FORMAT::REPORT
,
"report"
},
35
{
JOB_SCH_ERC::OUTPUT_FORMAT::JSON
,
"json"
},
36
} )
37
38
JOB_SCH_ERC::JOB_SCH_ERC
(
bool
aIsCli ) :
39
JOB
(
"erc"
,
false
, aIsCli ),
40
m_filename(),
41
m_units(
JOB_SCH_ERC::UNITS::MILLIMETERS
),
42
m_severity(
RPT_SEVERITY_ERROR
|
RPT_SEVERITY_WARNING
),
43
m_format( OUTPUT_FORMAT::REPORT ),
44
m_exitCodeViolations(
false
)
45
{
46
m_params.emplace_back(
new
JOB_PARAM<UNITS>
(
"units"
, &m_units, m_units ) );
47
m_params.emplace_back(
new
JOB_PARAM<int>
(
"severity"
, &m_severity, m_severity ) );
48
m_params.emplace_back(
new
JOB_PARAM<OUTPUT_FORMAT>
(
"format"
, &m_format, m_format ) );
49
}
50
51
52
wxString
JOB_SCH_ERC::GetDescription
()
53
{
54
return
wxString::Format(
_
(
"Perform Schematic ERC"
) );
55
}
56
57
58
REGISTER_JOB
( sch_erc,
_HKI
(
"Schematic: Perform ERC"
),
KIWAY::FACE_SCH
,
JOB_SCH_ERC
);
JOB_PARAM
Definition:
job.h:45
JOB_SCH_ERC
Definition:
job_sch_erc.h:31
JOB_SCH_ERC::UNITS
UNITS
Definition:
job_sch_erc.h:40
JOB_SCH_ERC::UNITS::INCHES
@ INCHES
JOB_SCH_ERC::UNITS::MILLIMETERS
@ MILLIMETERS
JOB_SCH_ERC::UNITS::MILS
@ MILS
JOB_SCH_ERC::JOB_SCH_ERC
JOB_SCH_ERC(bool aIsCli)
Definition:
job_sch_erc.cpp:38
JOB_SCH_ERC::GetDescription
wxString GetDescription() override
Definition:
job_sch_erc.cpp:52
JOB_SCH_ERC::OUTPUT_FORMAT
OUTPUT_FORMAT
Definition:
job_sch_erc.h:51
JOB_SCH_ERC::OUTPUT_FORMAT::JSON
@ JSON
JOB_SCH_ERC::OUTPUT_FORMAT::REPORT
@ REPORT
JOB
An simple container class that lets us dispatch output jobs to kifaces.
Definition:
job.h:79
KIWAY::FACE_SCH
@ FACE_SCH
eeschema DSO
Definition:
kiway.h:291
_HKI
#define _HKI(x)
Definition:
dialog_page_settings.cpp:60
_
#define _(s)
Definition:
eda_3d_actions.cpp:35
i18n_utility.h
Some functions to handle hotkeys in KiCad.
job_registry.h
REGISTER_JOB
#define REGISTER_JOB(job_name, title, face, T)
Definition:
job_registry.h:64
NLOHMANN_JSON_SERIALIZE_ENUM
NLOHMANN_JSON_SERIALIZE_ENUM(JOB_SCH_ERC::UNITS, { { JOB_SCH_ERC::UNITS::INCHES, "in" }, { JOB_SCH_ERC::UNITS::MILLIMETERS, "mm" }, { JOB_SCH_ERC::UNITS::MILS, "mils" }, }) NLOHMANN_JSON_SERIALIZE_ENUM(JOB_SCH_ERC
Definition:
job_sch_erc.cpp:25
job_sch_erc.h
RPT_SEVERITY_WARNING
@ RPT_SEVERITY_WARNING
Definition:
report_severity.h:31
RPT_SEVERITY_ERROR
@ RPT_SEVERITY_ERROR
Definition:
report_severity.h:32
src
common
jobs
job_sch_erc.cpp
Generated on Sun Oct 13 2024 00:05:03 for KiCad PCB EDA Suite by
1.9.6