KiCad PCB EDA Suite
Loading...
Searching...
No Matches
api_enums.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 The KiCad Developers, see AUTHORS.txt for contributors.
5 *
6 * This program is free software: you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation, either version 3 of the License, or (at your
9 * option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License along
17 * with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#include <api/api_enums.h>
21#include <import_export.h>
22#include <api/common/types/enums.pb.h>
23#include <api/board/board.pb.h>
24#include <api/board/board_types.pb.h>
25#include <api/schematic/schematic_jobs.pb.h>
26#include <api/schematic/schematic_types.pb.h>
27
28#include <core/typeinfo.h>
32#include <layer_ids.h>
33#include <pin_type.h>
34#include <stroke_params.h>
36
37using namespace kiapi;
38using namespace kiapi::common;
39
40template<>
41KICAD_T FromProtoEnum( types::KiCadObjectType aValue )
42{
43 switch( aValue )
44 {
45 case types::KiCadObjectType::KOT_PCB_FOOTPRINT: return PCB_FOOTPRINT_T;
46 case types::KiCadObjectType::KOT_PCB_PAD: return PCB_PAD_T;
47 case types::KiCadObjectType::KOT_PCB_SHAPE: return PCB_SHAPE_T;
48 case types::KiCadObjectType::KOT_PCB_BARCODE: return PCB_BARCODE_T;
49 case types::KiCadObjectType::KOT_PCB_REFERENCE_IMAGE: return PCB_REFERENCE_IMAGE_T;
50 case types::KiCadObjectType::KOT_PCB_FIELD: return PCB_FIELD_T;
51 case types::KiCadObjectType::KOT_PCB_GENERATOR: return PCB_GENERATOR_T;
52 case types::KiCadObjectType::KOT_PCB_TEXT: return PCB_TEXT_T;
53 case types::KiCadObjectType::KOT_PCB_TEXTBOX: return PCB_TEXTBOX_T;
54 case types::KiCadObjectType::KOT_PCB_TABLE: return PCB_TABLE_T;
55 case types::KiCadObjectType::KOT_PCB_TABLECELL: return PCB_TABLECELL_T;
56 case types::KiCadObjectType::KOT_PCB_TRACE: return PCB_TRACE_T;
57 case types::KiCadObjectType::KOT_PCB_VIA: return PCB_VIA_T;
58 case types::KiCadObjectType::KOT_PCB_ARC: return PCB_ARC_T;
59 case types::KiCadObjectType::KOT_PCB_MARKER: return PCB_MARKER_T;
60 case types::KiCadObjectType::KOT_PCB_DIMENSION: return PCB_DIMENSION_T;
61 case types::KiCadObjectType::KOT_PCB_ZONE: return PCB_ZONE_T;
62 case types::KiCadObjectType::KOT_PCB_GROUP: return PCB_GROUP_T;
63 case types::KiCadObjectType::KOT_SCH_GROUP: return SCH_GROUP_T;
64 case types::KiCadObjectType::KOT_SCH_MARKER: return SCH_MARKER_T;
65 case types::KiCadObjectType::KOT_SCH_JUNCTION: return SCH_JUNCTION_T;
66 case types::KiCadObjectType::KOT_SCH_NO_CONNECT: return SCH_NO_CONNECT_T;
67 case types::KiCadObjectType::KOT_SCH_BUS_WIRE_ENTRY: return SCH_BUS_WIRE_ENTRY_T;
68 case types::KiCadObjectType::KOT_SCH_BUS_BUS_ENTRY: return SCH_BUS_BUS_ENTRY_T;
69 case types::KiCadObjectType::KOT_SCH_LINE: return SCH_LINE_T;
70 case types::KiCadObjectType::KOT_SCH_SHAPE: return SCH_SHAPE_T;
71 case types::KiCadObjectType::KOT_SCH_BITMAP: return SCH_BITMAP_T;
72 case types::KiCadObjectType::KOT_SCH_TEXTBOX: return SCH_TEXTBOX_T;
73 case types::KiCadObjectType::KOT_SCH_TEXT: return SCH_TEXT_T;
74 case types::KiCadObjectType::KOT_SCH_TABLE: return SCH_TABLE_T;
75 case types::KiCadObjectType::KOT_SCH_TABLECELL: return SCH_TABLECELL_T;
76 case types::KiCadObjectType::KOT_SCH_LABEL: return SCH_LABEL_T;
77 case types::KiCadObjectType::KOT_SCH_GLOBAL_LABEL: return SCH_GLOBAL_LABEL_T;
78 case types::KiCadObjectType::KOT_SCH_HIER_LABEL: return SCH_HIER_LABEL_T;
79 case types::KiCadObjectType::KOT_SCH_DIRECTIVE_LABEL: return SCH_DIRECTIVE_LABEL_T;
80 case types::KiCadObjectType::KOT_SCH_FIELD: return SCH_FIELD_T;
81 case types::KiCadObjectType::KOT_SCH_SYMBOL: return SCH_SYMBOL_T;
82 case types::KiCadObjectType::KOT_SCH_SHEET_PIN: return SCH_SHEET_PIN_T;
83 case types::KiCadObjectType::KOT_SCH_SHEET: return SCH_SHEET_T;
84 case types::KiCadObjectType::KOT_SCH_PIN: return SCH_PIN_T;
85 case types::KiCadObjectType::KOT_LIB_SYMBOL: return LIB_SYMBOL_T;
86 case types::KiCadObjectType::KOT_WSG_LINE: return WSG_LINE_T;
87 case types::KiCadObjectType::KOT_WSG_RECT: return WSG_RECT_T;
88 case types::KiCadObjectType::KOT_WSG_POLY: return WSG_POLY_T;
89 case types::KiCadObjectType::KOT_WSG_TEXT: return WSG_TEXT_T;
90 case types::KiCadObjectType::KOT_WSG_BITMAP: return WSG_BITMAP_T;
91 case types::KiCadObjectType::KOT_WSG_PAGE: return WSG_PAGE_T;
92
93 case types::KiCadObjectType::KOT_UNKNOWN: return TYPE_NOT_INIT;
94 default:
95 wxCHECK_MSG( false, TYPE_NOT_INIT,
96 "Unhandled case in FromProtoEnum<types::KiCadObjectType>" );
97 }
98}
99
100
101template<>
102types::KiCadObjectType ToProtoEnum( KICAD_T aValue )
103{
104 switch( aValue )
105 {
106 case PCB_FOOTPRINT_T: return types::KiCadObjectType::KOT_PCB_FOOTPRINT;
107 case PCB_PAD_T: return types::KiCadObjectType::KOT_PCB_PAD;
108 case PCB_SHAPE_T: return types::KiCadObjectType::KOT_PCB_SHAPE;
109 case PCB_BARCODE_T: return types::KiCadObjectType::KOT_PCB_BARCODE;
110 case PCB_REFERENCE_IMAGE_T: return types::KiCadObjectType::KOT_PCB_REFERENCE_IMAGE;
111 case PCB_FIELD_T: return types::KiCadObjectType::KOT_PCB_FIELD;
112 case PCB_GENERATOR_T: return types::KiCadObjectType::KOT_PCB_GENERATOR;
113 case PCB_TEXT_T: return types::KiCadObjectType::KOT_PCB_TEXT;
114 case PCB_TEXTBOX_T: return types::KiCadObjectType::KOT_PCB_TEXTBOX;
115 case PCB_TABLE_T: return types::KiCadObjectType::KOT_PCB_TABLE;
116 case PCB_TABLECELL_T: return types::KiCadObjectType::KOT_PCB_TABLECELL;
117 case PCB_TRACE_T: return types::KiCadObjectType::KOT_PCB_TRACE;
118 case PCB_VIA_T: return types::KiCadObjectType::KOT_PCB_VIA;
119 case PCB_ARC_T: return types::KiCadObjectType::KOT_PCB_ARC;
120 case PCB_MARKER_T: return types::KiCadObjectType::KOT_PCB_MARKER;
121 case PCB_DIMENSION_T: return types::KiCadObjectType::KOT_PCB_DIMENSION;
122 case PCB_ZONE_T: return types::KiCadObjectType::KOT_PCB_ZONE;
123 case PCB_GROUP_T: return types::KiCadObjectType::KOT_PCB_GROUP;
124 case SCH_MARKER_T: return types::KiCadObjectType::KOT_SCH_MARKER;
125 case SCH_JUNCTION_T: return types::KiCadObjectType::KOT_SCH_JUNCTION;
126 case SCH_NO_CONNECT_T: return types::KiCadObjectType::KOT_SCH_NO_CONNECT;
127 case SCH_BUS_WIRE_ENTRY_T: return types::KiCadObjectType::KOT_SCH_BUS_WIRE_ENTRY;
128 case SCH_BUS_BUS_ENTRY_T: return types::KiCadObjectType::KOT_SCH_BUS_BUS_ENTRY;
129 case SCH_LINE_T: return types::KiCadObjectType::KOT_SCH_LINE;
130 case SCH_SHAPE_T: return types::KiCadObjectType::KOT_SCH_SHAPE;
131 case SCH_BITMAP_T: return types::KiCadObjectType::KOT_SCH_BITMAP;
132 case SCH_TEXTBOX_T: return types::KiCadObjectType::KOT_SCH_TEXTBOX;
133 case SCH_TEXT_T: return types::KiCadObjectType::KOT_SCH_TEXT;
134 case SCH_TABLE_T: return types::KiCadObjectType::KOT_SCH_TABLE;
135 case SCH_TABLECELL_T: return types::KiCadObjectType::KOT_SCH_TABLECELL;
136 case SCH_LABEL_T: return types::KiCadObjectType::KOT_SCH_LABEL;
137 case SCH_GLOBAL_LABEL_T: return types::KiCadObjectType::KOT_SCH_GLOBAL_LABEL;
138 case SCH_GROUP_T: return types::KiCadObjectType::KOT_SCH_GROUP;
139 case SCH_HIER_LABEL_T: return types::KiCadObjectType::KOT_SCH_HIER_LABEL;
140 case SCH_DIRECTIVE_LABEL_T: return types::KiCadObjectType::KOT_SCH_DIRECTIVE_LABEL;
141 case SCH_FIELD_T: return types::KiCadObjectType::KOT_SCH_FIELD;
142 case SCH_SYMBOL_T: return types::KiCadObjectType::KOT_SCH_SYMBOL;
143 case SCH_SHEET_PIN_T: return types::KiCadObjectType::KOT_SCH_SHEET_PIN;
144 case SCH_SHEET_T: return types::KiCadObjectType::KOT_SCH_SHEET;
145 case SCH_PIN_T: return types::KiCadObjectType::KOT_SCH_PIN;
146 case LIB_SYMBOL_T: return types::KiCadObjectType::KOT_LIB_SYMBOL;
147 case WSG_LINE_T: return types::KiCadObjectType::KOT_WSG_LINE;
148 case WSG_RECT_T: return types::KiCadObjectType::KOT_WSG_RECT;
149 case WSG_POLY_T: return types::KiCadObjectType::KOT_WSG_POLY;
150 case WSG_TEXT_T: return types::KiCadObjectType::KOT_WSG_TEXT;
151 case WSG_BITMAP_T: return types::KiCadObjectType::KOT_WSG_BITMAP;
152 case WSG_PAGE_T: return types::KiCadObjectType::KOT_WSG_PAGE;
153 default:
154 wxCHECK_MSG( false, types::KiCadObjectType::KOT_UNKNOWN,
155 "Unhandled case in ToProtoEnum<KICAD_T>");
156 }
157}
158
159
160template<>
161PCB_LAYER_ID FromProtoEnum( board::types::BoardLayer aValue )
162{
163 switch( aValue )
164 {
165 case board::types::BoardLayer::BL_UNDEFINED: return UNDEFINED_LAYER;
166 case board::types::BoardLayer::BL_UNSELECTED: return UNSELECTED_LAYER;
167 case board::types::BoardLayer::BL_F_Cu: return F_Cu;
168 case board::types::BoardLayer::BL_In1_Cu: return In1_Cu;
169 case board::types::BoardLayer::BL_In2_Cu: return In2_Cu;
170 case board::types::BoardLayer::BL_In3_Cu: return In3_Cu;
171 case board::types::BoardLayer::BL_In4_Cu: return In4_Cu;
172 case board::types::BoardLayer::BL_In5_Cu: return In5_Cu;
173 case board::types::BoardLayer::BL_In6_Cu: return In6_Cu;
174 case board::types::BoardLayer::BL_In7_Cu: return In7_Cu;
175 case board::types::BoardLayer::BL_In8_Cu: return In8_Cu;
176 case board::types::BoardLayer::BL_In9_Cu: return In9_Cu;
177 case board::types::BoardLayer::BL_In10_Cu: return In10_Cu;
178 case board::types::BoardLayer::BL_In11_Cu: return In11_Cu;
179 case board::types::BoardLayer::BL_In12_Cu: return In12_Cu;
180 case board::types::BoardLayer::BL_In13_Cu: return In13_Cu;
181 case board::types::BoardLayer::BL_In14_Cu: return In14_Cu;
182 case board::types::BoardLayer::BL_In15_Cu: return In15_Cu;
183 case board::types::BoardLayer::BL_In16_Cu: return In16_Cu;
184 case board::types::BoardLayer::BL_In17_Cu: return In17_Cu;
185 case board::types::BoardLayer::BL_In18_Cu: return In18_Cu;
186 case board::types::BoardLayer::BL_In19_Cu: return In19_Cu;
187 case board::types::BoardLayer::BL_In20_Cu: return In20_Cu;
188 case board::types::BoardLayer::BL_In21_Cu: return In21_Cu;
189 case board::types::BoardLayer::BL_In22_Cu: return In22_Cu;
190 case board::types::BoardLayer::BL_In23_Cu: return In23_Cu;
191 case board::types::BoardLayer::BL_In24_Cu: return In24_Cu;
192 case board::types::BoardLayer::BL_In25_Cu: return In25_Cu;
193 case board::types::BoardLayer::BL_In26_Cu: return In26_Cu;
194 case board::types::BoardLayer::BL_In27_Cu: return In27_Cu;
195 case board::types::BoardLayer::BL_In28_Cu: return In28_Cu;
196 case board::types::BoardLayer::BL_In29_Cu: return In29_Cu;
197 case board::types::BoardLayer::BL_In30_Cu: return In30_Cu;
198 case board::types::BoardLayer::BL_B_Cu: return B_Cu;
199 case board::types::BoardLayer::BL_B_Adhes: return B_Adhes;
200 case board::types::BoardLayer::BL_F_Adhes: return F_Adhes;
201 case board::types::BoardLayer::BL_B_Paste: return B_Paste;
202 case board::types::BoardLayer::BL_F_Paste: return F_Paste;
203 case board::types::BoardLayer::BL_B_SilkS: return B_SilkS;
204 case board::types::BoardLayer::BL_F_SilkS: return F_SilkS;
205 case board::types::BoardLayer::BL_B_Mask: return B_Mask;
206 case board::types::BoardLayer::BL_F_Mask: return F_Mask;
207 case board::types::BoardLayer::BL_Dwgs_User: return Dwgs_User;
208 case board::types::BoardLayer::BL_Cmts_User: return Cmts_User;
209 case board::types::BoardLayer::BL_Eco1_User: return Eco1_User;
210 case board::types::BoardLayer::BL_Eco2_User: return Eco2_User;
211 case board::types::BoardLayer::BL_Edge_Cuts: return Edge_Cuts;
212 case board::types::BoardLayer::BL_Margin: return Margin;
213 case board::types::BoardLayer::BL_B_CrtYd: return B_CrtYd;
214 case board::types::BoardLayer::BL_F_CrtYd: return F_CrtYd;
215 case board::types::BoardLayer::BL_B_Fab: return B_Fab;
216 case board::types::BoardLayer::BL_F_Fab: return F_Fab;
217 case board::types::BoardLayer::BL_User_1: return User_1;
218 case board::types::BoardLayer::BL_User_2: return User_2;
219 case board::types::BoardLayer::BL_User_3: return User_3;
220 case board::types::BoardLayer::BL_User_4: return User_4;
221 case board::types::BoardLayer::BL_User_5: return User_5;
222 case board::types::BoardLayer::BL_User_6: return User_6;
223 case board::types::BoardLayer::BL_User_7: return User_7;
224 case board::types::BoardLayer::BL_User_8: return User_8;
225 case board::types::BoardLayer::BL_User_9: return User_9;
226 case board::types::BoardLayer::BL_Rescue: return Rescue;
227 case board::types::BoardLayer::BL_User_10: return User_10;
228 case board::types::BoardLayer::BL_User_11: return User_11;
229 case board::types::BoardLayer::BL_User_12: return User_12;
230 case board::types::BoardLayer::BL_User_13: return User_13;
231 case board::types::BoardLayer::BL_User_14: return User_14;
232 case board::types::BoardLayer::BL_User_15: return User_15;
233 case board::types::BoardLayer::BL_User_16: return User_16;
234 case board::types::BoardLayer::BL_User_17: return User_17;
235 case board::types::BoardLayer::BL_User_18: return User_18;
236 case board::types::BoardLayer::BL_User_19: return User_19;
237 case board::types::BoardLayer::BL_User_20: return User_20;
238 case board::types::BoardLayer::BL_User_21: return User_21;
239 case board::types::BoardLayer::BL_User_22: return User_22;
240 case board::types::BoardLayer::BL_User_23: return User_23;
241 case board::types::BoardLayer::BL_User_24: return User_24;
242 case board::types::BoardLayer::BL_User_25: return User_25;
243 case board::types::BoardLayer::BL_User_26: return User_26;
244 case board::types::BoardLayer::BL_User_27: return User_27;
245 case board::types::BoardLayer::BL_User_28: return User_28;
246 case board::types::BoardLayer::BL_User_29: return User_29;
247 case board::types::BoardLayer::BL_User_30: return User_30;
248 case board::types::BoardLayer::BL_User_31: return User_31;
249 case board::types::BoardLayer::BL_User_32: return User_32;
250 case board::types::BoardLayer::BL_User_33: return User_33;
251 case board::types::BoardLayer::BL_User_34: return User_34;
252 case board::types::BoardLayer::BL_User_35: return User_35;
253 case board::types::BoardLayer::BL_User_36: return User_36;
254 case board::types::BoardLayer::BL_User_37: return User_37;
255 case board::types::BoardLayer::BL_User_38: return User_38;
256 case board::types::BoardLayer::BL_User_39: return User_39;
257 case board::types::BoardLayer::BL_User_40: return User_40;
258 case board::types::BoardLayer::BL_User_41: return User_41;
259 case board::types::BoardLayer::BL_User_42: return User_42;
260 case board::types::BoardLayer::BL_User_43: return User_43;
261 case board::types::BoardLayer::BL_User_44: return User_44;
262 case board::types::BoardLayer::BL_User_45: return User_45;
263
264 case board::types::BoardLayer::BL_UNKNOWN: return UNDEFINED_LAYER;
265 default:
266 wxCHECK_MSG( false, UNDEFINED_LAYER,
267 "Unhandled case in FromProtoEnum<board::types::BoardLayer>" );
268 }
269}
270
271
272template<>
273board::types::BoardLayer ToProtoEnum( PCB_LAYER_ID aValue )
274{
275 switch( aValue )
276 {
277 case UNDEFINED_LAYER: return board::types::BoardLayer::BL_UNDEFINED;
278 case UNSELECTED_LAYER: return board::types::BoardLayer::BL_UNSELECTED;
279 case F_Cu: return board::types::BoardLayer::BL_F_Cu;
280 case In1_Cu: return board::types::BoardLayer::BL_In1_Cu;
281 case In2_Cu: return board::types::BoardLayer::BL_In2_Cu;
282 case In3_Cu: return board::types::BoardLayer::BL_In3_Cu;
283 case In4_Cu: return board::types::BoardLayer::BL_In4_Cu;
284 case In5_Cu: return board::types::BoardLayer::BL_In5_Cu;
285 case In6_Cu: return board::types::BoardLayer::BL_In6_Cu;
286 case In7_Cu: return board::types::BoardLayer::BL_In7_Cu;
287 case In8_Cu: return board::types::BoardLayer::BL_In8_Cu;
288 case In9_Cu: return board::types::BoardLayer::BL_In9_Cu;
289 case In10_Cu: return board::types::BoardLayer::BL_In10_Cu;
290 case In11_Cu: return board::types::BoardLayer::BL_In11_Cu;
291 case In12_Cu: return board::types::BoardLayer::BL_In12_Cu;
292 case In13_Cu: return board::types::BoardLayer::BL_In13_Cu;
293 case In14_Cu: return board::types::BoardLayer::BL_In14_Cu;
294 case In15_Cu: return board::types::BoardLayer::BL_In15_Cu;
295 case In16_Cu: return board::types::BoardLayer::BL_In16_Cu;
296 case In17_Cu: return board::types::BoardLayer::BL_In17_Cu;
297 case In18_Cu: return board::types::BoardLayer::BL_In18_Cu;
298 case In19_Cu: return board::types::BoardLayer::BL_In19_Cu;
299 case In20_Cu: return board::types::BoardLayer::BL_In20_Cu;
300 case In21_Cu: return board::types::BoardLayer::BL_In21_Cu;
301 case In22_Cu: return board::types::BoardLayer::BL_In22_Cu;
302 case In23_Cu: return board::types::BoardLayer::BL_In23_Cu;
303 case In24_Cu: return board::types::BoardLayer::BL_In24_Cu;
304 case In25_Cu: return board::types::BoardLayer::BL_In25_Cu;
305 case In26_Cu: return board::types::BoardLayer::BL_In26_Cu;
306 case In27_Cu: return board::types::BoardLayer::BL_In27_Cu;
307 case In28_Cu: return board::types::BoardLayer::BL_In28_Cu;
308 case In29_Cu: return board::types::BoardLayer::BL_In29_Cu;
309 case In30_Cu: return board::types::BoardLayer::BL_In30_Cu;
310 case B_Cu: return board::types::BoardLayer::BL_B_Cu;
311 case B_Adhes: return board::types::BoardLayer::BL_B_Adhes;
312 case F_Adhes: return board::types::BoardLayer::BL_F_Adhes;
313 case B_Paste: return board::types::BoardLayer::BL_B_Paste;
314 case F_Paste: return board::types::BoardLayer::BL_F_Paste;
315 case B_SilkS: return board::types::BoardLayer::BL_B_SilkS;
316 case F_SilkS: return board::types::BoardLayer::BL_F_SilkS;
317 case B_Mask: return board::types::BoardLayer::BL_B_Mask;
318 case F_Mask: return board::types::BoardLayer::BL_F_Mask;
319 case Dwgs_User: return board::types::BoardLayer::BL_Dwgs_User;
320 case Cmts_User: return board::types::BoardLayer::BL_Cmts_User;
321 case Eco1_User: return board::types::BoardLayer::BL_Eco1_User;
322 case Eco2_User: return board::types::BoardLayer::BL_Eco2_User;
323 case Edge_Cuts: return board::types::BoardLayer::BL_Edge_Cuts;
324 case Margin: return board::types::BoardLayer::BL_Margin;
325 case B_CrtYd: return board::types::BoardLayer::BL_B_CrtYd;
326 case F_CrtYd: return board::types::BoardLayer::BL_F_CrtYd;
327 case B_Fab: return board::types::BoardLayer::BL_B_Fab;
328 case F_Fab: return board::types::BoardLayer::BL_F_Fab;
329 case User_1: return board::types::BoardLayer::BL_User_1;
330 case User_2: return board::types::BoardLayer::BL_User_2;
331 case User_3: return board::types::BoardLayer::BL_User_3;
332 case User_4: return board::types::BoardLayer::BL_User_4;
333 case User_5: return board::types::BoardLayer::BL_User_5;
334 case User_6: return board::types::BoardLayer::BL_User_6;
335 case User_7: return board::types::BoardLayer::BL_User_7;
336 case User_8: return board::types::BoardLayer::BL_User_8;
337 case User_9: return board::types::BoardLayer::BL_User_9;
338 case Rescue: return board::types::BoardLayer::BL_Rescue;
339 case User_10: return board::types::BoardLayer::BL_User_10;
340 case User_11: return board::types::BoardLayer::BL_User_11;
341 case User_12: return board::types::BoardLayer::BL_User_12;
342 case User_13: return board::types::BoardLayer::BL_User_13;
343 case User_14: return board::types::BoardLayer::BL_User_14;
344 case User_15: return board::types::BoardLayer::BL_User_15;
345 case User_16: return board::types::BoardLayer::BL_User_16;
346 case User_17: return board::types::BoardLayer::BL_User_17;
347 case User_18: return board::types::BoardLayer::BL_User_18;
348 case User_19: return board::types::BoardLayer::BL_User_19;
349 case User_20: return board::types::BoardLayer::BL_User_20;
350 case User_21: return board::types::BoardLayer::BL_User_21;
351 case User_22: return board::types::BoardLayer::BL_User_22;
352 case User_23: return board::types::BoardLayer::BL_User_23;
353 case User_24: return board::types::BoardLayer::BL_User_24;
354 case User_25: return board::types::BoardLayer::BL_User_25;
355 case User_26: return board::types::BoardLayer::BL_User_26;
356 case User_27: return board::types::BoardLayer::BL_User_27;
357 case User_28: return board::types::BoardLayer::BL_User_28;
358 case User_29: return board::types::BoardLayer::BL_User_29;
359 case User_30: return board::types::BoardLayer::BL_User_30;
360 case User_31: return board::types::BoardLayer::BL_User_31;
361 case User_32: return board::types::BoardLayer::BL_User_32;
362 case User_33: return board::types::BoardLayer::BL_User_33;
363 case User_34: return board::types::BoardLayer::BL_User_34;
364 case User_35: return board::types::BoardLayer::BL_User_35;
365 case User_36: return board::types::BoardLayer::BL_User_36;
366 case User_37: return board::types::BoardLayer::BL_User_37;
367 case User_38: return board::types::BoardLayer::BL_User_38;
368 case User_39: return board::types::BoardLayer::BL_User_39;
369 case User_40: return board::types::BoardLayer::BL_User_40;
370 case User_41: return board::types::BoardLayer::BL_User_41;
371 case User_42: return board::types::BoardLayer::BL_User_42;
372 case User_43: return board::types::BoardLayer::BL_User_43;
373 case User_44: return board::types::BoardLayer::BL_User_44;
374 case User_45: return board::types::BoardLayer::BL_User_45;
375 default:
376 wxCHECK_MSG( false, board::types::BoardLayer::BL_UNKNOWN,
377 "Unhandled case in ToProtoEnum<PCB_LAYER_ID>");
378 }
379}
380
381
382template<>
383SCH_LAYER_ID FromProtoEnum( schematic::types::SchematicLayer aValue )
384{
385 switch( aValue )
386 {
387
388 default:
389 wxCHECK_MSG( false, SCH_LAYER_ID_START,
390 "Unhandled case in FromProtoEnum<schematic::types::SchematicLayer>" );
391 }
392}
393
394
395template<>
396schematic::types::SchematicLayer ToProtoEnum( SCH_LAYER_ID aValue )
397{
398 switch( aValue )
399 {
400
401 default:
402 wxCHECK_MSG( false, schematic::types::SchematicLayer::SL_UNKNOWN,
403 "Unhandled case in ToProtoEnum<SCH_LAYER_ID>");
404 }
405}
406
407
408template<>
409JOB_PAGE_SIZE FromProtoEnum( schematic::jobs::SchematicJobPageSize aValue )
410{
411 switch( aValue )
412 {
413 case schematic::jobs::SchematicJobPageSize::SJPS_AUTO: return JOB_PAGE_SIZE::PAGE_SIZE_AUTO;
414 case schematic::jobs::SchematicJobPageSize::SJPS_A4: return JOB_PAGE_SIZE::PAGE_SIZE_A4;
415 case schematic::jobs::SchematicJobPageSize::SJPS_A: return JOB_PAGE_SIZE::PAGE_SIZE_A;
416 case schematic::jobs::SchematicJobPageSize::SJPS_UNKNOWN:
417 default:
418 wxCHECK_MSG( false, JOB_PAGE_SIZE::PAGE_SIZE_AUTO,
419 "Unhandled case in FromProtoEnum<schematic::jobs::SchematicJobPageSize>" );
420 }
421}
422
423
424template<>
425schematic::jobs::SchematicJobPageSize ToProtoEnum( JOB_PAGE_SIZE aValue )
426{
427 switch( aValue )
428 {
429 case JOB_PAGE_SIZE::PAGE_SIZE_AUTO: return schematic::jobs::SchematicJobPageSize::SJPS_AUTO;
430 case JOB_PAGE_SIZE::PAGE_SIZE_A4: return schematic::jobs::SchematicJobPageSize::SJPS_A4;
431 case JOB_PAGE_SIZE::PAGE_SIZE_A: return schematic::jobs::SchematicJobPageSize::SJPS_A;
432 default:
433 wxCHECK_MSG( false, schematic::jobs::SchematicJobPageSize::SJPS_UNKNOWN,
434 "Unhandled case in ToProtoEnum<JOB_PAGE_SIZE>" );
435 }
436}
437
438
439template<>
440JOB_EXPORT_SCH_NETLIST::FORMAT FromProtoEnum( schematic::jobs::SchematicNetlistFormat aValue )
441{
442 switch( aValue )
443 {
444 case schematic::jobs::SchematicNetlistFormat::SNF_KICAD_XML:
446 case schematic::jobs::SchematicNetlistFormat::SNF_KICAD_SEXPR:
448 case schematic::jobs::SchematicNetlistFormat::SNF_ORCAD_PCB2:
450 case schematic::jobs::SchematicNetlistFormat::SNF_CADSTAR:
452 case schematic::jobs::SchematicNetlistFormat::SNF_SPICE:
454 case schematic::jobs::SchematicNetlistFormat::SNF_SPICE_MODEL:
456 case schematic::jobs::SchematicNetlistFormat::SNF_PADS:
458 case schematic::jobs::SchematicNetlistFormat::SNF_ALLEGRO:
460 case schematic::jobs::SchematicNetlistFormat::SNF_UNKNOWN:
461 default:
463 "Unhandled case in FromProtoEnum<schematic::jobs::SchematicNetlistFormat>" );
464 }
465}
466
467
468template<>
469schematic::jobs::SchematicNetlistFormat ToProtoEnum( JOB_EXPORT_SCH_NETLIST::FORMAT aValue )
470{
471 switch( aValue )
472 {
474 return schematic::jobs::SchematicNetlistFormat::SNF_KICAD_XML;
476 return schematic::jobs::SchematicNetlistFormat::SNF_KICAD_SEXPR;
478 return schematic::jobs::SchematicNetlistFormat::SNF_ORCAD_PCB2;
480 return schematic::jobs::SchematicNetlistFormat::SNF_CADSTAR;
482 return schematic::jobs::SchematicNetlistFormat::SNF_SPICE;
484 return schematic::jobs::SchematicNetlistFormat::SNF_SPICE_MODEL;
486 return schematic::jobs::SchematicNetlistFormat::SNF_PADS;
488 return schematic::jobs::SchematicNetlistFormat::SNF_ALLEGRO;
489 default:
490 wxCHECK_MSG( false, schematic::jobs::SchematicNetlistFormat::SNF_UNKNOWN,
491 "Unhandled case in ToProtoEnum<JOB_EXPORT_SCH_NETLIST::FORMAT>" );
492 }
493}
494
495
496template<>
497GR_TEXT_H_ALIGN_T FromProtoEnum( types::HorizontalAlignment aValue )
498{
499 switch( aValue )
500 {
501 case types::HorizontalAlignment::HA_LEFT: return GR_TEXT_H_ALIGN_LEFT;
502 case types::HorizontalAlignment::HA_CENTER: return GR_TEXT_H_ALIGN_CENTER;
503 case types::HorizontalAlignment::HA_RIGHT: return GR_TEXT_H_ALIGN_RIGHT;
504 case types::HorizontalAlignment::HA_INDETERMINATE: return GR_TEXT_H_ALIGN_INDETERMINATE;
505
506 case types::HorizontalAlignment::HA_UNKNOWN: return GR_TEXT_H_ALIGN_CENTER;
507 default:
508 wxCHECK_MSG( false, GR_TEXT_H_ALIGN_CENTER,
509 "Unhandled case in FromProtoEnum<types::HorizontalAlignment>" );
510 }
511}
512
513
514template<>
515types::HorizontalAlignment ToProtoEnum( GR_TEXT_H_ALIGN_T aValue )
516{
517 switch( aValue )
518 {
519 case GR_TEXT_H_ALIGN_LEFT: return types::HorizontalAlignment::HA_LEFT;
520 case GR_TEXT_H_ALIGN_CENTER: return types::HorizontalAlignment::HA_CENTER;
521 case GR_TEXT_H_ALIGN_RIGHT: return types::HorizontalAlignment::HA_RIGHT;
522 case GR_TEXT_H_ALIGN_INDETERMINATE: return types::HorizontalAlignment::HA_INDETERMINATE;
523 default:
524 wxCHECK_MSG( false, types::HorizontalAlignment::HA_UNKNOWN,
525 "Unhandled case in ToProtoEnum<GR_TEXT_H_ALIGN_T>");
526 }
527}
528
529
530template<>
531GR_TEXT_V_ALIGN_T FromProtoEnum( types::VerticalAlignment aValue )
532{
533 switch( aValue )
534 {
535 case types::VerticalAlignment::VA_TOP: return GR_TEXT_V_ALIGN_TOP;
536 case types::VerticalAlignment::VA_CENTER: return GR_TEXT_V_ALIGN_CENTER;
537 case types::VerticalAlignment::VA_BOTTOM: return GR_TEXT_V_ALIGN_BOTTOM;
538 case types::VerticalAlignment::VA_INDETERMINATE: return GR_TEXT_V_ALIGN_INDETERMINATE;
539
540 case types::VerticalAlignment::VA_UNKNOWN: return GR_TEXT_V_ALIGN_CENTER;
541 default:
542 wxCHECK_MSG( false, GR_TEXT_V_ALIGN_CENTER,
543 "Unhandled case in FromProtoEnum<types::VerticalAlignment>" );
544 }
545}
546
547
548template<>
549types::VerticalAlignment ToProtoEnum( GR_TEXT_V_ALIGN_T aValue )
550{
551 switch( aValue )
552 {
553 case GR_TEXT_V_ALIGN_TOP: return types::VerticalAlignment::VA_TOP;
554 case GR_TEXT_V_ALIGN_CENTER: return types::VerticalAlignment::VA_CENTER;
555 case GR_TEXT_V_ALIGN_BOTTOM: return types::VerticalAlignment::VA_BOTTOM;
556 case GR_TEXT_V_ALIGN_INDETERMINATE: return types::VerticalAlignment::VA_INDETERMINATE;
557 default:
558 wxCHECK_MSG( false, types::VerticalAlignment::VA_UNKNOWN,
559 "Unhandled case in ToProtoEnum<GR_TEXT_V_ALIGN_T>");
560 }
561}
562
563
564template<>
565LINE_STYLE FromProtoEnum( types::StrokeLineStyle aValue )
566{
567 switch( aValue )
568 {
569 case types::StrokeLineStyle::SLS_DEFAULT: return LINE_STYLE::DEFAULT;
570 case types::StrokeLineStyle::SLS_SOLID: return LINE_STYLE::SOLID;
571 case types::StrokeLineStyle::SLS_DASH: return LINE_STYLE::DASH;
572 case types::StrokeLineStyle::SLS_DOT: return LINE_STYLE::DOT;
573 case types::StrokeLineStyle::SLS_DASHDOT: return LINE_STYLE::DASHDOT;
574 case types::StrokeLineStyle::SLS_DASHDOTDOT: return LINE_STYLE::DASHDOTDOT;
575 case types::StrokeLineStyle::SLS_UNKNOWN:
576 default:
577 wxCHECK_MSG( false, LINE_STYLE::DEFAULT,
578 "Unhandled case in FromProtoEnum<types::StrokeLineStyle>" );
579 }
580}
581
582
583template<>
584types::StrokeLineStyle ToProtoEnum( LINE_STYLE aValue )
585{
586 switch( aValue )
587 {
588 case LINE_STYLE::DEFAULT: return types::StrokeLineStyle::SLS_DEFAULT;
589 case LINE_STYLE::SOLID: return types::StrokeLineStyle::SLS_SOLID;
590 case LINE_STYLE::DASH: return types::StrokeLineStyle::SLS_DASH;
591 case LINE_STYLE::DOT: return types::StrokeLineStyle::SLS_DOT;
592 case LINE_STYLE::DASHDOT: return types::StrokeLineStyle::SLS_DASHDOT;
593 case LINE_STYLE::DASHDOTDOT: return types::StrokeLineStyle::SLS_DASHDOTDOT;
594 default:
595 wxCHECK_MSG( false, types::StrokeLineStyle::SLS_UNKNOWN,
596 "Unhandled case in ToProtoEnum<LINE_STYLE>");
597 }
598}
599
600
601template<>
602ELECTRICAL_PINTYPE FromProtoEnum( types::ElectricalPinType aValue )
603{
604 switch( aValue )
605 {
606 case types::ElectricalPinType::EPT_INPUT: return ELECTRICAL_PINTYPE::PT_INPUT;
607 case types::ElectricalPinType::EPT_OUTPUT: return ELECTRICAL_PINTYPE::PT_OUTPUT;
608 case types::ElectricalPinType::EPT_BIDIRECTIONAL: return ELECTRICAL_PINTYPE::PT_BIDI;
609 case types::ElectricalPinType::EPT_TRISTATE: return ELECTRICAL_PINTYPE::PT_TRISTATE;
610 case types::ElectricalPinType::EPT_PASSIVE: return ELECTRICAL_PINTYPE::PT_PASSIVE;
611 case types::ElectricalPinType::EPT_FREE: return ELECTRICAL_PINTYPE::PT_NIC;
612 case types::ElectricalPinType::EPT_UNSPECIFIED: return ELECTRICAL_PINTYPE::PT_UNSPECIFIED;
613 case types::ElectricalPinType::EPT_POWER_INPUT: return ELECTRICAL_PINTYPE::PT_POWER_IN;
614 case types::ElectricalPinType::EPT_POWER_OUTPUT: return ELECTRICAL_PINTYPE::PT_POWER_OUT;
615 case types::ElectricalPinType::EPT_OPEN_COLLECTOR: return ELECTRICAL_PINTYPE::PT_OPENCOLLECTOR;
616 case types::ElectricalPinType::EPT_OPEN_EMITTER: return ELECTRICAL_PINTYPE::PT_OPENEMITTER;
617 case types::ElectricalPinType::EPT_NO_CONNECT: return ELECTRICAL_PINTYPE::PT_NC;
618 case types::ElectricalPinType::EPT_UNKNOWN:
619 default:
620 wxCHECK_MSG( false, ELECTRICAL_PINTYPE::PT_UNSPECIFIED,
621 "Unhandled case in FromProtoEnum<types::ElectricalPinType>" );
622 }
623}
624
625
626template<>
627types::ElectricalPinType ToProtoEnum( ELECTRICAL_PINTYPE aValue )
628{
629 switch( aValue )
630 {
631 case ELECTRICAL_PINTYPE::PT_INPUT: return types::ElectricalPinType::EPT_INPUT;
632 case ELECTRICAL_PINTYPE::PT_OUTPUT: return types::ElectricalPinType::EPT_OUTPUT;
633 case ELECTRICAL_PINTYPE::PT_BIDI: return types::ElectricalPinType::EPT_BIDIRECTIONAL;
634 case ELECTRICAL_PINTYPE::PT_TRISTATE: return types::ElectricalPinType::EPT_TRISTATE;
635 case ELECTRICAL_PINTYPE::PT_PASSIVE: return types::ElectricalPinType::EPT_PASSIVE;
636 case ELECTRICAL_PINTYPE::PT_NIC: return types::ElectricalPinType::EPT_FREE;
637 case ELECTRICAL_PINTYPE::PT_UNSPECIFIED: return types::ElectricalPinType::EPT_UNSPECIFIED;
638 case ELECTRICAL_PINTYPE::PT_POWER_IN: return types::ElectricalPinType::EPT_POWER_INPUT;
639 case ELECTRICAL_PINTYPE::PT_POWER_OUT: return types::ElectricalPinType::EPT_POWER_OUTPUT;
640 case ELECTRICAL_PINTYPE::PT_OPENCOLLECTOR: return types::ElectricalPinType::EPT_OPEN_COLLECTOR;
641 case ELECTRICAL_PINTYPE::PT_OPENEMITTER: return types::ElectricalPinType::EPT_OPEN_EMITTER;
642 case ELECTRICAL_PINTYPE::PT_NC: return types::ElectricalPinType::EPT_NO_CONNECT;
643 // Inherit shouldn't be serialized, it's an internal flag
645 default:
646 wxCHECK_MSG( false, types::ElectricalPinType::EPT_UNKNOWN,
647 "Unhandled case in ToProtoEnum<ELECTRICAL_PINTYPE>");
648 }
649}
650
651
652template<>
653types::RuleSeverity ToProtoEnum( SEVERITY aValue )
654{
655 switch( aValue )
656 {
657 case RPT_SEVERITY_WARNING: return types::RuleSeverity::RS_WARNING;
658 case RPT_SEVERITY_ERROR: return types::RuleSeverity::RS_ERROR;
659 case RPT_SEVERITY_EXCLUSION: return types::RuleSeverity::RS_EXCLUSION;
660 case RPT_SEVERITY_IGNORE: return types::RuleSeverity::RS_IGNORE;
661 case RPT_SEVERITY_INFO: return types::RuleSeverity::RS_INFO;
662 case RPT_SEVERITY_ACTION: return types::RuleSeverity::RS_ACTION;
663 case RPT_SEVERITY_DEBUG: return types::RuleSeverity::RS_DEBUG;
664 case RPT_SEVERITY_UNDEFINED: return types::RuleSeverity::RS_UNDEFINED;
665 default:
666 wxCHECK_MSG( false, types::RuleSeverity::RS_UNDEFINED,
667 "Unhandled case in ToProtoEnum<SEVERITY>");
668 }
669}
670
671
672template<>
673SEVERITY FromProtoEnum( types::RuleSeverity aValue )
674{
675 switch( aValue )
676 {
677 case types::RuleSeverity::RS_WARNING: return RPT_SEVERITY_WARNING;
678 case types::RuleSeverity::RS_ERROR: return RPT_SEVERITY_ERROR;
679 case types::RuleSeverity::RS_EXCLUSION: return RPT_SEVERITY_EXCLUSION;
680 case types::RuleSeverity::RS_IGNORE: return RPT_SEVERITY_IGNORE;
681 case types::RuleSeverity::RS_INFO: return RPT_SEVERITY_INFO;
682 case types::RuleSeverity::RS_ACTION: return RPT_SEVERITY_ACTION;
683 case types::RuleSeverity::RS_DEBUG: return RPT_SEVERITY_DEBUG;
684 case types::RuleSeverity::RS_UNKNOWN:
685 default:
687 }
688}
types::KiCadObjectType ToProtoEnum(KICAD_T aValue)
KICAD_T FromProtoEnum(types::KiCadObjectType aValue)
Definition api_enums.cpp:41
SCH_LAYER_ID
Eeschema drawing layers.
Definition layer_ids.h:451
@ SCH_LAYER_ID_START
Definition layer_ids.h:452
PCB_LAYER_ID
A quick note on layer IDs:
Definition layer_ids.h:60
@ User_16
Definition layer_ids.h:139
@ In22_Cu
Definition layer_ids.h:87
@ In11_Cu
Definition layer_ids.h:76
@ User_29
Definition layer_ids.h:152
@ In29_Cu
Definition layer_ids.h:94
@ In30_Cu
Definition layer_ids.h:95
@ User_40
Definition layer_ids.h:163
@ User_15
Definition layer_ids.h:138
@ User_8
Definition layer_ids.h:131
@ F_CrtYd
Definition layer_ids.h:116
@ User_11
Definition layer_ids.h:134
@ User_25
Definition layer_ids.h:148
@ In17_Cu
Definition layer_ids.h:82
@ User_34
Definition layer_ids.h:157
@ User_45
Definition layer_ids.h:168
@ B_Adhes
Definition layer_ids.h:103
@ User_36
Definition layer_ids.h:159
@ Edge_Cuts
Definition layer_ids.h:112
@ Dwgs_User
Definition layer_ids.h:107
@ F_Paste
Definition layer_ids.h:104
@ In9_Cu
Definition layer_ids.h:74
@ Cmts_User
Definition layer_ids.h:108
@ User_6
Definition layer_ids.h:129
@ User_7
Definition layer_ids.h:130
@ In19_Cu
Definition layer_ids.h:84
@ User_19
Definition layer_ids.h:142
@ User_23
Definition layer_ids.h:146
@ In7_Cu
Definition layer_ids.h:72
@ In28_Cu
Definition layer_ids.h:93
@ In26_Cu
Definition layer_ids.h:91
@ F_Adhes
Definition layer_ids.h:102
@ User_41
Definition layer_ids.h:164
@ B_Mask
Definition layer_ids.h:98
@ B_Cu
Definition layer_ids.h:65
@ User_14
Definition layer_ids.h:137
@ User_39
Definition layer_ids.h:162
@ User_5
Definition layer_ids.h:128
@ User_20
Definition layer_ids.h:143
@ Eco1_User
Definition layer_ids.h:109
@ F_Mask
Definition layer_ids.h:97
@ In21_Cu
Definition layer_ids.h:86
@ User_42
Definition layer_ids.h:165
@ User_43
Definition layer_ids.h:166
@ In23_Cu
Definition layer_ids.h:88
@ B_Paste
Definition layer_ids.h:105
@ In15_Cu
Definition layer_ids.h:80
@ In2_Cu
Definition layer_ids.h:67
@ User_10
Definition layer_ids.h:133
@ User_9
Definition layer_ids.h:132
@ User_27
Definition layer_ids.h:150
@ User_28
Definition layer_ids.h:151
@ UNSELECTED_LAYER
Definition layer_ids.h:62
@ F_Fab
Definition layer_ids.h:119
@ In10_Cu
Definition layer_ids.h:75
@ Margin
Definition layer_ids.h:113
@ F_SilkS
Definition layer_ids.h:100
@ In4_Cu
Definition layer_ids.h:69
@ B_CrtYd
Definition layer_ids.h:115
@ UNDEFINED_LAYER
Definition layer_ids.h:61
@ Eco2_User
Definition layer_ids.h:110
@ In16_Cu
Definition layer_ids.h:81
@ In24_Cu
Definition layer_ids.h:89
@ In1_Cu
Definition layer_ids.h:66
@ User_35
Definition layer_ids.h:158
@ Rescue
Definition layer_ids.h:121
@ User_31
Definition layer_ids.h:154
@ User_3
Definition layer_ids.h:126
@ User_1
Definition layer_ids.h:124
@ User_12
Definition layer_ids.h:135
@ B_SilkS
Definition layer_ids.h:101
@ User_30
Definition layer_ids.h:153
@ User_37
Definition layer_ids.h:160
@ User_22
Definition layer_ids.h:145
@ User_38
Definition layer_ids.h:161
@ In13_Cu
Definition layer_ids.h:78
@ User_4
Definition layer_ids.h:127
@ In8_Cu
Definition layer_ids.h:73
@ User_21
Definition layer_ids.h:144
@ In14_Cu
Definition layer_ids.h:79
@ User_24
Definition layer_ids.h:147
@ User_13
Definition layer_ids.h:136
@ User_2
Definition layer_ids.h:125
@ In12_Cu
Definition layer_ids.h:77
@ User_17
Definition layer_ids.h:140
@ In27_Cu
Definition layer_ids.h:92
@ In6_Cu
Definition layer_ids.h:71
@ In5_Cu
Definition layer_ids.h:70
@ User_33
Definition layer_ids.h:156
@ User_26
Definition layer_ids.h:149
@ In3_Cu
Definition layer_ids.h:68
@ User_32
Definition layer_ids.h:155
@ In20_Cu
Definition layer_ids.h:85
@ User_18
Definition layer_ids.h:141
@ User_44
Definition layer_ids.h:167
@ F_Cu
Definition layer_ids.h:64
@ In18_Cu
Definition layer_ids.h:83
@ In25_Cu
Definition layer_ids.h:90
@ B_Fab
Definition layer_ids.h:118
ELECTRICAL_PINTYPE
The symbol library pin object electrical types used in ERC tests.
Definition pin_type.h:36
@ PT_INPUT
usual pin input: must be connected
Definition pin_type.h:37
@ PT_NC
not connected (must be left open)
Definition pin_type.h:50
@ PT_OUTPUT
usual output
Definition pin_type.h:38
@ PT_TRISTATE
tri state bus pin
Definition pin_type.h:40
@ PT_NIC
not internally connected (may be connected to anything)
Definition pin_type.h:44
@ PT_BIDI
input or output (like port for a microprocessor)
Definition pin_type.h:39
@ PT_OPENEMITTER
pin type open emitter
Definition pin_type.h:49
@ PT_POWER_OUT
output of a regulator: intended to be connected to power input pins
Definition pin_type.h:47
@ PT_OPENCOLLECTOR
pin type open collector
Definition pin_type.h:48
@ PT_POWER_IN
power input (GND, VCC for ICs). Must be connected to a power output.
Definition pin_type.h:46
@ PT_UNSPECIFIED
unknown electrical properties: creates always a warning when connected
Definition pin_type.h:45
@ PT_PASSIVE
pin for passive symbols: must be connected, and can be connected to any pin.
Definition pin_type.h:43
SEVERITY
@ RPT_SEVERITY_WARNING
@ RPT_SEVERITY_ERROR
@ RPT_SEVERITY_UNDEFINED
@ RPT_SEVERITY_EXCLUSION
@ RPT_SEVERITY_IGNORE
@ RPT_SEVERITY_DEBUG
@ RPT_SEVERITY_INFO
@ RPT_SEVERITY_ACTION
LINE_STYLE
Dashed line types.
GR_TEXT_H_ALIGN_T
This is API surface mapped to common.types.HorizontalAlignment.
@ GR_TEXT_H_ALIGN_CENTER
@ GR_TEXT_H_ALIGN_RIGHT
@ GR_TEXT_H_ALIGN_LEFT
@ GR_TEXT_H_ALIGN_INDETERMINATE
GR_TEXT_V_ALIGN_T
This is API surface mapped to common.types.VertialAlignment.
@ GR_TEXT_V_ALIGN_BOTTOM
@ GR_TEXT_V_ALIGN_INDETERMINATE
@ GR_TEXT_V_ALIGN_CENTER
@ GR_TEXT_V_ALIGN_TOP
KICAD_T
The set of class identification values stored in EDA_ITEM::m_structType.
Definition typeinfo.h:75
@ SCH_GROUP_T
Definition typeinfo.h:174
@ SCH_TABLE_T
Definition typeinfo.h:166
@ PCB_SHAPE_T
class PCB_SHAPE, a segment not on copper layers
Definition typeinfo.h:85
@ SCH_LINE_T
Definition typeinfo.h:164
@ LIB_SYMBOL_T
Definition typeinfo.h:149
@ SCH_NO_CONNECT_T
Definition typeinfo.h:161
@ PCB_GENERATOR_T
class PCB_GENERATOR, generator on a layer
Definition typeinfo.h:88
@ PCB_VIA_T
class PCB_VIA, a via (like a track segment on a copper layer)
Definition typeinfo.h:94
@ TYPE_NOT_INIT
Definition typeinfo.h:78
@ SCH_SYMBOL_T
Definition typeinfo.h:173
@ PCB_GROUP_T
class PCB_GROUP, a set of BOARD_ITEMs
Definition typeinfo.h:108
@ SCH_TABLECELL_T
Definition typeinfo.h:167
@ PCB_TEXTBOX_T
class PCB_TEXTBOX, wrapped text on a layer
Definition typeinfo.h:90
@ PCB_ZONE_T
class ZONE, a copper pour area
Definition typeinfo.h:105
@ SCH_FIELD_T
Definition typeinfo.h:151
@ PCB_TEXT_T
class PCB_TEXT, text on a layer
Definition typeinfo.h:89
@ SCH_DIRECTIVE_LABEL_T
Definition typeinfo.h:172
@ SCH_LABEL_T
Definition typeinfo.h:168
@ SCH_SHEET_T
Definition typeinfo.h:176
@ PCB_REFERENCE_IMAGE_T
class PCB_REFERENCE_IMAGE, bitmap on a layer
Definition typeinfo.h:86
@ SCH_MARKER_T
Definition typeinfo.h:159
@ SCH_SHAPE_T
Definition typeinfo.h:150
@ WSG_POLY_T
Definition typeinfo.h:219
@ PCB_FIELD_T
class PCB_FIELD, text associated with a footprint property
Definition typeinfo.h:87
@ SCH_HIER_LABEL_T
Definition typeinfo.h:170
@ PCB_MARKER_T
class PCB_MARKER, a marker used to show something
Definition typeinfo.h:96
@ WSG_LINE_T
Definition typeinfo.h:217
@ SCH_BUS_BUS_ENTRY_T
Definition typeinfo.h:163
@ PCB_BARCODE_T
class PCB_BARCODE, a barcode (graphic item)
Definition typeinfo.h:98
@ WSG_TEXT_T
Definition typeinfo.h:220
@ PCB_TABLECELL_T
class PCB_TABLECELL, PCB_TEXTBOX for use in tables
Definition typeinfo.h:92
@ PCB_FOOTPRINT_T
class FOOTPRINT, a footprint
Definition typeinfo.h:83
@ SCH_SHEET_PIN_T
Definition typeinfo.h:175
@ SCH_TEXT_T
Definition typeinfo.h:152
@ WSG_PAGE_T
Definition typeinfo.h:222
@ PCB_PAD_T
class PAD, a pad in a footprint
Definition typeinfo.h:84
@ WSG_RECT_T
Definition typeinfo.h:218
@ SCH_BUS_WIRE_ENTRY_T
Definition typeinfo.h:162
@ SCH_BITMAP_T
Definition typeinfo.h:165
@ PCB_ARC_T
class PCB_ARC, an arc track segment on a copper layer
Definition typeinfo.h:95
@ PCB_DIMENSION_T
class PCB_DIMENSION_BASE: abstract dimension meta-type
Definition typeinfo.h:97
@ PCB_TABLE_T
class PCB_TABLE, table of PCB_TABLECELLs
Definition typeinfo.h:91
@ SCH_TEXTBOX_T
Definition typeinfo.h:153
@ WSG_BITMAP_T
Definition typeinfo.h:221
@ PCB_TRACE_T
class PCB_TRACK, a track segment (segment on a copper layer)
Definition typeinfo.h:93
@ SCH_GLOBAL_LABEL_T
Definition typeinfo.h:169
@ SCH_JUNCTION_T
Definition typeinfo.h:160
@ SCH_PIN_T
Definition typeinfo.h:154