KiCad PCB EDA Suite
Loading...
Searching...
No Matches
drc_rule_editor_enums.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_RULE_EDITOR_ENUMS_H_
21#define DRC_RULE_EDITOR_ENUMS_H_
22
23#include <wx/string.h>
24#include <vector>
25
26
32{
33 bool isValid = true;
34 std::vector<wxString> errors;
35
36 void AddError( const wxString& aError )
37 {
38 isValid = false;
39 errors.push_back( aError );
40 }
41
42 void Merge( const VALIDATION_RESULT& aOther )
43 {
44 if( !aOther.isValid )
45 {
46 isValid = false;
47 errors.insert( errors.end(), aOther.errors.begin(), aOther.errors.end() );
48 }
49 }
50};
51
52
54{
55 wxString ruleName;
56 wxString comment;
58 wxString layerClause;
60};
61
62
71
104
105
120
121
135
136
137#endif // DRC_RULE_EDITOR_ENUMS_H_
SIM_MODEL::PARAM::CATEGORY CATEGORY
DRC_RULE_EDITOR_CONSTRAINT_NAME
@ ALLOWED_ORIENTATION
@ SILK_TO_SILK_CLEARANCE
@ ROUTING_DIFF_PAIR
@ SOLDERPASTE_EXPANSION
@ SILK_TO_SOLDERMASK_CLEARANCE
@ COURTYARD_CLEARANCE
@ MINIMUM_CONNECTION_WIDTH
@ SOLDERMASK_EXPANSION
@ MAXIMUM_VIA_COUNT
@ MINIMUM_ANNULAR_WIDTH
@ PHYSICAL_CLEARANCE
@ CREEPAGE_DISTANCE
@ ABSOLUTE_LENGTH
@ MINIMUM_CLEARANCE
@ MINIMUM_THERMAL_RELIEF_SPOKE_COUNT
@ PERMITTED_LAYERS
@ MINIMUM_TEXT_HEIGHT_AND_THICKNESS
@ COPPER_TO_HOLE_CLEARANCE
@ HOLE_TO_HOLE_DISTANCE
@ ROUTING_WIDTH
@ MINIMUM_DRILL_SIZE
@ MATCHED_LENGTH_DIFF_PAIR
@ COPPER_TO_EDGE_CLEARANCE
@ MINIMUM_SOLDERMASK_SLIVER
@ MINIMUM_VIA_DIAMETER
DRC_LAYER_CATEGORY
Layer categories for filtering the layer selector dropdown.
@ NO_LAYER_SELECTOR
Hide layer selector entirely.
@ TOP_BOTTOM_ANY
Simplified top/bottom/any selector with custom translation.
@ SOLDERMASK_ONLY
F_Mask, B_Mask.
@ GENERAL_ANY_LAYER
All layers + inner/outer synthetic.
@ SOLDERPASTE_ONLY
F_Paste, B_Paste.
@ COPPER_ONLY
Copper layers + inner/outer synthetic.
@ SILKSCREEN_ONLY
F_SilkS, B_SilkS.
DRC_RULE_EDITOR_ITEM_TYPE
DRC_LAYER_SELECTOR_ID
Synthetic layer pseudo-IDs for the layer selector.
@ LAYER_SEL_BOTTOM
Context-dependent back/bottom layer.
@ LAYER_SEL_OUTER
External copper layers (F_Cu + B_Cu)
@ LAYER_SEL_TOP
Context-dependent front/top layer.
@ LAYER_SEL_ANY
No layer filter (default "Any" selection)
@ LAYER_SEL_INNER
Internal copper layers (In1_Cu through In30_Cu)
Result of a validation operation.
void AddError(const wxString &aError)
void Merge(const VALIDATION_RESULT &aOther)
std::vector< wxString > errors