KiCad PCB EDA Suite
Loading...
Searching...
No Matches
drc_re_rule_saver.h
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) 2024 KiCad Developers, see AUTHORS.txt for contributors.
5
*
6
* This program is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU General Public License
8
* as published by the Free Software Foundation; either version 2
9
* of the License, or (at your option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program. If not, see <https://www.gnu.org/licenses/>.
18
*/
19
20
#ifndef DRC_RE_RULE_SAVER_H_
21
#define DRC_RE_RULE_SAVER_H_
22
23
#include <map>
24
#include <vector>
25
26
#include <wx/string.h>
27
28
#include "
drc_re_loaded_rule.h
"
29
30
class
BOARD
;
31
32
40
class
DRC_RULE_SAVER
41
{
42
public
:
43
DRC_RULE_SAVER
();
44
53
bool
SaveFile
(
const
wxString& aPath,
54
const
std::vector<DRC_RE_LOADED_PANEL_ENTRY>& aEntries,
55
const
BOARD
* aBoard =
nullptr
);
56
64
wxString
GenerateRulesText
(
const
std::vector<DRC_RE_LOADED_PANEL_ENTRY>& aEntries,
65
const
BOARD
* aBoard =
nullptr
);
66
67
private
:
79
wxString
generateRuleText
(
const
DRC_RE_LOADED_PANEL_ENTRY
& aEntry,
80
const
BOARD
* aBoard );
81
89
wxString
generateLayerClause
(
const
LSET
& aLayers,
const
BOARD
* aBoard );
90
97
wxString
generateSeverityClause
(
SEVERITY
aSeverity );
98
108
wxString
generateMergedRuleText
(
const
std::vector<const DRC_RE_LOADED_PANEL_ENTRY*>& aEntries,
109
const
BOARD
* aBoard );
110
};
111
112
113
#endif
// DRC_RE_RULE_SAVER_H_
BOARD
Information pertinent to a Pcbnew printed circuit board.
Definition
board.h:372
DRC_RULE_SAVER::SaveFile
bool SaveFile(const wxString &aPath, const std::vector< DRC_RE_LOADED_PANEL_ENTRY > &aEntries, const BOARD *aBoard=nullptr)
Save all panel entries to a file.
Definition
drc_re_rule_saver.cpp:56
DRC_RULE_SAVER::generateLayerClause
wxString generateLayerClause(const LSET &aLayers, const BOARD *aBoard)
Generate a layer clause from an LSET.
Definition
drc_re_rule_saver.cpp:208
DRC_RULE_SAVER::generateRuleText
wxString generateRuleText(const DRC_RE_LOADED_PANEL_ENTRY &aEntry, const BOARD *aBoard)
Generate the rule text for a single panel entry.
Definition
drc_re_rule_saver.cpp:121
DRC_RULE_SAVER::GenerateRulesText
wxString GenerateRulesText(const std::vector< DRC_RE_LOADED_PANEL_ENTRY > &aEntries, const BOARD *aBoard=nullptr)
Generate rule text from panel entries.
Definition
drc_re_rule_saver.cpp:67
DRC_RULE_SAVER::generateMergedRuleText
wxString generateMergedRuleText(const std::vector< const DRC_RE_LOADED_PANEL_ENTRY * > &aEntries, const BOARD *aBoard)
Generate a merged rule text from multiple panel entries with the same name/condition.
Definition
drc_re_rule_saver.cpp:241
DRC_RULE_SAVER::DRC_RULE_SAVER
DRC_RULE_SAVER()
Definition
drc_re_rule_saver.cpp:51
DRC_RULE_SAVER::generateSeverityClause
wxString generateSeverityClause(SEVERITY aSeverity)
Generate a severity clause.
Definition
drc_re_rule_saver.cpp:228
LSET
LSET is a set of PCB_LAYER_IDs.
Definition
lset.h:37
drc_re_loaded_rule.h
SEVERITY
SEVERITY
Definition
report_severity.h:29
DRC_RE_LOADED_PANEL_ENTRY
Represents a rule loaded from a .kicad_dru file and mapped to a panel.
Definition
drc_re_loaded_rule.h:42
src
pcbnew
drc
rule_editor
drc_re_rule_saver.h
Generated on Fri Jun 26 2026 00:05:39 for KiCad PCB EDA Suite by
1.13.2