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
17 * along with this program. If not, see <https://www.gnu.org/licenses/>.
18 */
19
20#include <kicommon.h>
21#include <api/api_enums.h>
22#include <core/mirror.h>
23#include "pad.h"
24
25#include <api/common/types/base_types.pb.h>
26#include <api/common/types/embedded_files.pb.h>
27#include <api/common/types/enums.pb.h>
28#include <api/common/types/library_types.pb.h>
29#include <api/board/board_commands.pb.h>
30#include <api/board/board.pb.h>
31#include <api/board/board_rules.pb.h>
32#include <api/board/board_types.pb.h>
33#include <api/schematic/schematic_jobs.pb.h>
34#include <api/schematic/schematic_types.pb.h>
35
36#include <core/typeinfo.h>
39#include <line_ending.h>
40#include <eda_shape.h>
44#include <layer_ids.h>
45#include <page_info.h>
46#include <pin_type.h>
47#include <stroke_params.h>
49#include <embedded_files.h>
50
51using namespace kiapi;
52using namespace kiapi::common;
53
54template<> KICOMMON_API
55KICAD_T FromProtoEnum( types::KiCadObjectType aValue )
56{
57 switch( aValue )
58 {
59 case types::KiCadObjectType::KOT_PCB_FOOTPRINT: return PCB_FOOTPRINT_T;
60 case types::KiCadObjectType::KOT_PCB_PAD: return PCB_PAD_T;
61 case types::KiCadObjectType::KOT_PCB_SHAPE: return PCB_SHAPE_T;
62 case types::KiCadObjectType::KOT_PCB_BARCODE: return PCB_BARCODE_T;
63 case types::KiCadObjectType::KOT_PCB_REFERENCE_IMAGE: return PCB_REFERENCE_IMAGE_T;
64 case types::KiCadObjectType::KOT_PCB_GRIDITEM: return PCB_GRID_ITEM_T;
65 case types::KiCadObjectType::KOT_PCB_FIELD: return PCB_FIELD_T;
66 case types::KiCadObjectType::KOT_PCB_GENERATOR: return PCB_GENERATOR_T;
67 case types::KiCadObjectType::KOT_PCB_TEXT: return PCB_TEXT_T;
68 case types::KiCadObjectType::KOT_PCB_TEXTBOX: return PCB_TEXTBOX_T;
69 case types::KiCadObjectType::KOT_PCB_TABLE: return PCB_TABLE_T;
70 case types::KiCadObjectType::KOT_PCB_DRILL_CHART: return PCB_DRILL_CHART_T;
71 case types::KiCadObjectType::KOT_PCB_DRILL_MAP: return PCB_DRILL_MAP_T;
72 case types::KiCadObjectType::KOT_PCB_3D_BODY: return PCB_3D_BODY_T;
73 case types::KiCadObjectType::KOT_PCB_TABLECELL: return PCB_TABLECELL_T;
74 case types::KiCadObjectType::KOT_PCB_TRACE: return PCB_TRACE_T;
75 case types::KiCadObjectType::KOT_PCB_VIA: return PCB_VIA_T;
76 case types::KiCadObjectType::KOT_PCB_ARC: return PCB_ARC_T;
77 case types::KiCadObjectType::KOT_PCB_MARKER: return PCB_MARKER_T;
78 case types::KiCadObjectType::KOT_PCB_DIMENSION: return PCB_DIMENSION_T;
79 case types::KiCadObjectType::KOT_PCB_ZONE: return PCB_ZONE_T;
80 case types::KiCadObjectType::KOT_PCB_GROUP: return PCB_GROUP_T;
81 case types::KiCadObjectType::KOT_PCB_CONSTRAINT: return PCB_CONSTRAINT_T;
82 case types::KiCadObjectType::KOT_PCB_POINT: return PCB_POINT_T;
83 case types::KiCadObjectType::KOT_SCH_RULE_AREA: return SCH_RULE_AREA_T;
84 case types::KiCadObjectType::KOT_SCH_GROUP: return SCH_GROUP_T;
85 case types::KiCadObjectType::KOT_SCH_MARKER: return SCH_MARKER_T;
86 case types::KiCadObjectType::KOT_SCH_JUNCTION: return SCH_JUNCTION_T;
87 case types::KiCadObjectType::KOT_SCH_NO_CONNECT: return SCH_NO_CONNECT_T;
88 case types::KiCadObjectType::KOT_SCH_BUS_WIRE_ENTRY: return SCH_BUS_WIRE_ENTRY_T;
89 case types::KiCadObjectType::KOT_SCH_BUS_BUS_ENTRY: return SCH_BUS_BUS_ENTRY_T;
90 case types::KiCadObjectType::KOT_SCH_LINE: return SCH_LINE_T;
91 case types::KiCadObjectType::KOT_SCH_SHAPE: return SCH_SHAPE_T;
92 case types::KiCadObjectType::KOT_SCH_BITMAP: return SCH_BITMAP_T;
93 case types::KiCadObjectType::KOT_SCH_TEXTBOX: return SCH_TEXTBOX_T;
94 case types::KiCadObjectType::KOT_SCH_TEXT: return SCH_TEXT_T;
95 case types::KiCadObjectType::KOT_SCH_TABLE: return SCH_TABLE_T;
96 case types::KiCadObjectType::KOT_SCH_TABLECELL: return SCH_TABLECELL_T;
97 case types::KiCadObjectType::KOT_SCH_LABEL: return SCH_LABEL_T;
98 case types::KiCadObjectType::KOT_SCH_GLOBAL_LABEL: return SCH_GLOBAL_LABEL_T;
99 case types::KiCadObjectType::KOT_SCH_HIER_LABEL: return SCH_HIER_LABEL_T;
100 case types::KiCadObjectType::KOT_SCH_DIRECTIVE_LABEL: return SCH_DIRECTIVE_LABEL_T;
101 case types::KiCadObjectType::KOT_SCH_FIELD: return SCH_FIELD_T;
102 case types::KiCadObjectType::KOT_SCH_SYMBOL: return SCH_SYMBOL_T;
103 case types::KiCadObjectType::KOT_SCH_SHEET_PIN: return SCH_SHEET_PIN_T;
104 case types::KiCadObjectType::KOT_SCH_SHEET: return SCH_SHEET_T;
105 case types::KiCadObjectType::KOT_SCH_PIN: return SCH_PIN_T;
106 case types::KiCadObjectType::KOT_LIB_SYMBOL: return LIB_SYMBOL_T;
107 case types::KiCadObjectType::KOT_WSG_LINE: return WSG_LINE_T;
108 case types::KiCadObjectType::KOT_WSG_RECT: return WSG_RECT_T;
109 case types::KiCadObjectType::KOT_WSG_POLY: return WSG_POLY_T;
110 case types::KiCadObjectType::KOT_WSG_TEXT: return WSG_TEXT_T;
111 case types::KiCadObjectType::KOT_WSG_BITMAP: return WSG_BITMAP_T;
112 case types::KiCadObjectType::KOT_WSG_PAGE: return WSG_PAGE_T;
113
114 case types::KiCadObjectType::KOT_UNKNOWN: return TYPE_NOT_INIT;
115 default:
116 wxCHECK_MSG( false, TYPE_NOT_INIT,
117 "Unhandled case in FromProtoEnum<types::KiCadObjectType>" );
118 }
119}
120
121
122template<> KICOMMON_API
123types::KiCadObjectType ToProtoEnum( KICAD_T aValue )
124{
125 switch( aValue )
126 {
127 case PCB_FOOTPRINT_T: return types::KiCadObjectType::KOT_PCB_FOOTPRINT;
128 case PCB_PAD_T: return types::KiCadObjectType::KOT_PCB_PAD;
129 case PCB_SHAPE_T: return types::KiCadObjectType::KOT_PCB_SHAPE;
130 case PCB_BARCODE_T: return types::KiCadObjectType::KOT_PCB_BARCODE;
131 case PCB_REFERENCE_IMAGE_T: return types::KiCadObjectType::KOT_PCB_REFERENCE_IMAGE;
132 case PCB_GRID_ITEM_T: return types::KiCadObjectType::KOT_PCB_GRIDITEM;
133 case PCB_FIELD_T: return types::KiCadObjectType::KOT_PCB_FIELD;
134 case PCB_GENERATOR_T: return types::KiCadObjectType::KOT_PCB_GENERATOR;
135 case PCB_TEXT_T: return types::KiCadObjectType::KOT_PCB_TEXT;
136 case PCB_TEXTBOX_T: return types::KiCadObjectType::KOT_PCB_TEXTBOX;
137 case PCB_TABLE_T: return types::KiCadObjectType::KOT_PCB_TABLE;
138 case PCB_DRILL_CHART_T: return types::KiCadObjectType::KOT_PCB_DRILL_CHART;
139 case PCB_DRILL_MAP_T: return types::KiCadObjectType::KOT_PCB_DRILL_MAP;
140 case PCB_3D_BODY_T: return types::KiCadObjectType::KOT_PCB_3D_BODY;
141 case PCB_TABLECELL_T: return types::KiCadObjectType::KOT_PCB_TABLECELL;
142 case PCB_TRACE_T: return types::KiCadObjectType::KOT_PCB_TRACE;
143 case PCB_VIA_T: return types::KiCadObjectType::KOT_PCB_VIA;
144 case PCB_ARC_T: return types::KiCadObjectType::KOT_PCB_ARC;
145 case PCB_MARKER_T: return types::KiCadObjectType::KOT_PCB_MARKER;
146 case PCB_DIMENSION_T: return types::KiCadObjectType::KOT_PCB_DIMENSION;
147 case PCB_ZONE_T: return types::KiCadObjectType::KOT_PCB_ZONE;
148 case PCB_GROUP_T: return types::KiCadObjectType::KOT_PCB_GROUP;
149 case SCH_MARKER_T: return types::KiCadObjectType::KOT_SCH_MARKER;
150 case SCH_JUNCTION_T: return types::KiCadObjectType::KOT_SCH_JUNCTION;
151 case SCH_NO_CONNECT_T: return types::KiCadObjectType::KOT_SCH_NO_CONNECT;
152 case SCH_BUS_WIRE_ENTRY_T: return types::KiCadObjectType::KOT_SCH_BUS_WIRE_ENTRY;
153 case SCH_BUS_BUS_ENTRY_T: return types::KiCadObjectType::KOT_SCH_BUS_BUS_ENTRY;
154 case SCH_LINE_T: return types::KiCadObjectType::KOT_SCH_LINE;
155 case SCH_SHAPE_T: return types::KiCadObjectType::KOT_SCH_SHAPE;
156 case SCH_BITMAP_T: return types::KiCadObjectType::KOT_SCH_BITMAP;
157 case SCH_TEXTBOX_T: return types::KiCadObjectType::KOT_SCH_TEXTBOX;
158 case SCH_TEXT_T: return types::KiCadObjectType::KOT_SCH_TEXT;
159 case SCH_TABLE_T: return types::KiCadObjectType::KOT_SCH_TABLE;
160 case SCH_TABLECELL_T: return types::KiCadObjectType::KOT_SCH_TABLECELL;
161 case SCH_LABEL_T: return types::KiCadObjectType::KOT_SCH_LABEL;
162 case SCH_GLOBAL_LABEL_T: return types::KiCadObjectType::KOT_SCH_GLOBAL_LABEL;
163 case SCH_GROUP_T: return types::KiCadObjectType::KOT_SCH_GROUP;
164 case SCH_HIER_LABEL_T: return types::KiCadObjectType::KOT_SCH_HIER_LABEL;
165 case SCH_RULE_AREA_T: return types::KiCadObjectType::KOT_SCH_RULE_AREA;
166 case SCH_DIRECTIVE_LABEL_T: return types::KiCadObjectType::KOT_SCH_DIRECTIVE_LABEL;
167 case SCH_FIELD_T: return types::KiCadObjectType::KOT_SCH_FIELD;
168 case SCH_SYMBOL_T: return types::KiCadObjectType::KOT_SCH_SYMBOL;
169 case SCH_SHEET_PIN_T: return types::KiCadObjectType::KOT_SCH_SHEET_PIN;
170 case SCH_SHEET_T: return types::KiCadObjectType::KOT_SCH_SHEET;
171 case SCH_PIN_T: return types::KiCadObjectType::KOT_SCH_PIN;
172 case LIB_SYMBOL_T: return types::KiCadObjectType::KOT_LIB_SYMBOL;
173 case WSG_LINE_T: return types::KiCadObjectType::KOT_WSG_LINE;
174 case WSG_RECT_T: return types::KiCadObjectType::KOT_WSG_RECT;
175 case WSG_POLY_T: return types::KiCadObjectType::KOT_WSG_POLY;
176 case WSG_TEXT_T: return types::KiCadObjectType::KOT_WSG_TEXT;
177 case WSG_BITMAP_T: return types::KiCadObjectType::KOT_WSG_BITMAP;
178 case WSG_PAGE_T: return types::KiCadObjectType::KOT_WSG_PAGE;
179 case PCB_CONSTRAINT_T: return types::KiCadObjectType::KOT_PCB_CONSTRAINT;
180 case PCB_POINT_T: return types::KiCadObjectType::KOT_PCB_POINT;
181 default:
182 wxCHECK_MSG( false, types::KiCadObjectType::KOT_UNKNOWN,
183 "Unhandled case in ToProtoEnum<KICAD_T>");
184 }
185}
186
187
188template<> KICOMMON_API
189PCB_LAYER_ID FromProtoEnum( board::types::BoardLayer aValue )
190{
191 switch( aValue )
192 {
193 case board::types::BoardLayer::BL_UNDEFINED: return UNDEFINED_LAYER;
194 case board::types::BoardLayer::BL_UNSELECTED: return UNSELECTED_LAYER;
195 case board::types::BoardLayer::BL_F_Cu: return F_Cu;
196 case board::types::BoardLayer::BL_In1_Cu: return In1_Cu;
197 case board::types::BoardLayer::BL_In2_Cu: return In2_Cu;
198 case board::types::BoardLayer::BL_In3_Cu: return In3_Cu;
199 case board::types::BoardLayer::BL_In4_Cu: return In4_Cu;
200 case board::types::BoardLayer::BL_In5_Cu: return In5_Cu;
201 case board::types::BoardLayer::BL_In6_Cu: return In6_Cu;
202 case board::types::BoardLayer::BL_In7_Cu: return In7_Cu;
203 case board::types::BoardLayer::BL_In8_Cu: return In8_Cu;
204 case board::types::BoardLayer::BL_In9_Cu: return In9_Cu;
205 case board::types::BoardLayer::BL_In10_Cu: return In10_Cu;
206 case board::types::BoardLayer::BL_In11_Cu: return In11_Cu;
207 case board::types::BoardLayer::BL_In12_Cu: return In12_Cu;
208 case board::types::BoardLayer::BL_In13_Cu: return In13_Cu;
209 case board::types::BoardLayer::BL_In14_Cu: return In14_Cu;
210 case board::types::BoardLayer::BL_In15_Cu: return In15_Cu;
211 case board::types::BoardLayer::BL_In16_Cu: return In16_Cu;
212 case board::types::BoardLayer::BL_In17_Cu: return In17_Cu;
213 case board::types::BoardLayer::BL_In18_Cu: return In18_Cu;
214 case board::types::BoardLayer::BL_In19_Cu: return In19_Cu;
215 case board::types::BoardLayer::BL_In20_Cu: return In20_Cu;
216 case board::types::BoardLayer::BL_In21_Cu: return In21_Cu;
217 case board::types::BoardLayer::BL_In22_Cu: return In22_Cu;
218 case board::types::BoardLayer::BL_In23_Cu: return In23_Cu;
219 case board::types::BoardLayer::BL_In24_Cu: return In24_Cu;
220 case board::types::BoardLayer::BL_In25_Cu: return In25_Cu;
221 case board::types::BoardLayer::BL_In26_Cu: return In26_Cu;
222 case board::types::BoardLayer::BL_In27_Cu: return In27_Cu;
223 case board::types::BoardLayer::BL_In28_Cu: return In28_Cu;
224 case board::types::BoardLayer::BL_In29_Cu: return In29_Cu;
225 case board::types::BoardLayer::BL_In30_Cu: return In30_Cu;
226 case board::types::BoardLayer::BL_B_Cu: return B_Cu;
227 case board::types::BoardLayer::BL_B_Adhes: return B_Adhes;
228 case board::types::BoardLayer::BL_F_Adhes: return F_Adhes;
229 case board::types::BoardLayer::BL_B_Paste: return B_Paste;
230 case board::types::BoardLayer::BL_F_Paste: return F_Paste;
231 case board::types::BoardLayer::BL_B_SilkS: return B_SilkS;
232 case board::types::BoardLayer::BL_F_SilkS: return F_SilkS;
233 case board::types::BoardLayer::BL_B_Mask: return B_Mask;
234 case board::types::BoardLayer::BL_F_Mask: return F_Mask;
235 case board::types::BoardLayer::BL_Dwgs_User: return Dwgs_User;
236 case board::types::BoardLayer::BL_Cmts_User: return Cmts_User;
237 case board::types::BoardLayer::BL_Eco1_User: return Eco1_User;
238 case board::types::BoardLayer::BL_Eco2_User: return Eco2_User;
239 case board::types::BoardLayer::BL_Edge_Cuts: return Edge_Cuts;
240 case board::types::BoardLayer::BL_Margin: return Margin;
241 case board::types::BoardLayer::BL_B_CrtYd: return B_CrtYd;
242 case board::types::BoardLayer::BL_F_CrtYd: return F_CrtYd;
243 case board::types::BoardLayer::BL_B_Fab: return B_Fab;
244 case board::types::BoardLayer::BL_F_Fab: return F_Fab;
245 case board::types::BoardLayer::BL_User_1: return User_1;
246 case board::types::BoardLayer::BL_User_2: return User_2;
247 case board::types::BoardLayer::BL_User_3: return User_3;
248 case board::types::BoardLayer::BL_User_4: return User_4;
249 case board::types::BoardLayer::BL_User_5: return User_5;
250 case board::types::BoardLayer::BL_User_6: return User_6;
251 case board::types::BoardLayer::BL_User_7: return User_7;
252 case board::types::BoardLayer::BL_User_8: return User_8;
253 case board::types::BoardLayer::BL_User_9: return User_9;
254 case board::types::BoardLayer::BL_Rescue: return Rescue;
255 case board::types::BoardLayer::BL_User_10: return User_10;
256 case board::types::BoardLayer::BL_User_11: return User_11;
257 case board::types::BoardLayer::BL_User_12: return User_12;
258 case board::types::BoardLayer::BL_User_13: return User_13;
259 case board::types::BoardLayer::BL_User_14: return User_14;
260 case board::types::BoardLayer::BL_User_15: return User_15;
261 case board::types::BoardLayer::BL_User_16: return User_16;
262 case board::types::BoardLayer::BL_User_17: return User_17;
263 case board::types::BoardLayer::BL_User_18: return User_18;
264 case board::types::BoardLayer::BL_User_19: return User_19;
265 case board::types::BoardLayer::BL_User_20: return User_20;
266 case board::types::BoardLayer::BL_User_21: return User_21;
267 case board::types::BoardLayer::BL_User_22: return User_22;
268 case board::types::BoardLayer::BL_User_23: return User_23;
269 case board::types::BoardLayer::BL_User_24: return User_24;
270 case board::types::BoardLayer::BL_User_25: return User_25;
271 case board::types::BoardLayer::BL_User_26: return User_26;
272 case board::types::BoardLayer::BL_User_27: return User_27;
273 case board::types::BoardLayer::BL_User_28: return User_28;
274 case board::types::BoardLayer::BL_User_29: return User_29;
275 case board::types::BoardLayer::BL_User_30: return User_30;
276 case board::types::BoardLayer::BL_User_31: return User_31;
277 case board::types::BoardLayer::BL_User_32: return User_32;
278 case board::types::BoardLayer::BL_User_33: return User_33;
279 case board::types::BoardLayer::BL_User_34: return User_34;
280 case board::types::BoardLayer::BL_User_35: return User_35;
281 case board::types::BoardLayer::BL_User_36: return User_36;
282 case board::types::BoardLayer::BL_User_37: return User_37;
283 case board::types::BoardLayer::BL_User_38: return User_38;
284 case board::types::BoardLayer::BL_User_39: return User_39;
285 case board::types::BoardLayer::BL_User_40: return User_40;
286 case board::types::BoardLayer::BL_User_41: return User_41;
287 case board::types::BoardLayer::BL_User_42: return User_42;
288 case board::types::BoardLayer::BL_User_43: return User_43;
289 case board::types::BoardLayer::BL_User_44: return User_44;
290 case board::types::BoardLayer::BL_User_45: return User_45;
291
292 case board::types::BoardLayer::BL_UNKNOWN: return UNDEFINED_LAYER;
293 default:
294 wxCHECK_MSG( false, UNDEFINED_LAYER,
295 "Unhandled case in FromProtoEnum<board::types::BoardLayer>" );
296 }
297}
298
299
300template<> KICOMMON_API
301board::types::BoardLayer ToProtoEnum( PCB_LAYER_ID aValue )
302{
303 switch( aValue )
304 {
305 case UNDEFINED_LAYER: return board::types::BoardLayer::BL_UNDEFINED;
306 case UNSELECTED_LAYER: return board::types::BoardLayer::BL_UNSELECTED;
307 case F_Cu: return board::types::BoardLayer::BL_F_Cu;
308 case In1_Cu: return board::types::BoardLayer::BL_In1_Cu;
309 case In2_Cu: return board::types::BoardLayer::BL_In2_Cu;
310 case In3_Cu: return board::types::BoardLayer::BL_In3_Cu;
311 case In4_Cu: return board::types::BoardLayer::BL_In4_Cu;
312 case In5_Cu: return board::types::BoardLayer::BL_In5_Cu;
313 case In6_Cu: return board::types::BoardLayer::BL_In6_Cu;
314 case In7_Cu: return board::types::BoardLayer::BL_In7_Cu;
315 case In8_Cu: return board::types::BoardLayer::BL_In8_Cu;
316 case In9_Cu: return board::types::BoardLayer::BL_In9_Cu;
317 case In10_Cu: return board::types::BoardLayer::BL_In10_Cu;
318 case In11_Cu: return board::types::BoardLayer::BL_In11_Cu;
319 case In12_Cu: return board::types::BoardLayer::BL_In12_Cu;
320 case In13_Cu: return board::types::BoardLayer::BL_In13_Cu;
321 case In14_Cu: return board::types::BoardLayer::BL_In14_Cu;
322 case In15_Cu: return board::types::BoardLayer::BL_In15_Cu;
323 case In16_Cu: return board::types::BoardLayer::BL_In16_Cu;
324 case In17_Cu: return board::types::BoardLayer::BL_In17_Cu;
325 case In18_Cu: return board::types::BoardLayer::BL_In18_Cu;
326 case In19_Cu: return board::types::BoardLayer::BL_In19_Cu;
327 case In20_Cu: return board::types::BoardLayer::BL_In20_Cu;
328 case In21_Cu: return board::types::BoardLayer::BL_In21_Cu;
329 case In22_Cu: return board::types::BoardLayer::BL_In22_Cu;
330 case In23_Cu: return board::types::BoardLayer::BL_In23_Cu;
331 case In24_Cu: return board::types::BoardLayer::BL_In24_Cu;
332 case In25_Cu: return board::types::BoardLayer::BL_In25_Cu;
333 case In26_Cu: return board::types::BoardLayer::BL_In26_Cu;
334 case In27_Cu: return board::types::BoardLayer::BL_In27_Cu;
335 case In28_Cu: return board::types::BoardLayer::BL_In28_Cu;
336 case In29_Cu: return board::types::BoardLayer::BL_In29_Cu;
337 case In30_Cu: return board::types::BoardLayer::BL_In30_Cu;
338 case B_Cu: return board::types::BoardLayer::BL_B_Cu;
339 case B_Adhes: return board::types::BoardLayer::BL_B_Adhes;
340 case F_Adhes: return board::types::BoardLayer::BL_F_Adhes;
341 case B_Paste: return board::types::BoardLayer::BL_B_Paste;
342 case F_Paste: return board::types::BoardLayer::BL_F_Paste;
343 case B_SilkS: return board::types::BoardLayer::BL_B_SilkS;
344 case F_SilkS: return board::types::BoardLayer::BL_F_SilkS;
345 case B_Mask: return board::types::BoardLayer::BL_B_Mask;
346 case F_Mask: return board::types::BoardLayer::BL_F_Mask;
347 case Dwgs_User: return board::types::BoardLayer::BL_Dwgs_User;
348 case Cmts_User: return board::types::BoardLayer::BL_Cmts_User;
349 case Eco1_User: return board::types::BoardLayer::BL_Eco1_User;
350 case Eco2_User: return board::types::BoardLayer::BL_Eco2_User;
351 case Edge_Cuts: return board::types::BoardLayer::BL_Edge_Cuts;
352 case Margin: return board::types::BoardLayer::BL_Margin;
353 case B_CrtYd: return board::types::BoardLayer::BL_B_CrtYd;
354 case F_CrtYd: return board::types::BoardLayer::BL_F_CrtYd;
355 case B_Fab: return board::types::BoardLayer::BL_B_Fab;
356 case F_Fab: return board::types::BoardLayer::BL_F_Fab;
357 case User_1: return board::types::BoardLayer::BL_User_1;
358 case User_2: return board::types::BoardLayer::BL_User_2;
359 case User_3: return board::types::BoardLayer::BL_User_3;
360 case User_4: return board::types::BoardLayer::BL_User_4;
361 case User_5: return board::types::BoardLayer::BL_User_5;
362 case User_6: return board::types::BoardLayer::BL_User_6;
363 case User_7: return board::types::BoardLayer::BL_User_7;
364 case User_8: return board::types::BoardLayer::BL_User_8;
365 case User_9: return board::types::BoardLayer::BL_User_9;
366 case Rescue: return board::types::BoardLayer::BL_Rescue;
367 case User_10: return board::types::BoardLayer::BL_User_10;
368 case User_11: return board::types::BoardLayer::BL_User_11;
369 case User_12: return board::types::BoardLayer::BL_User_12;
370 case User_13: return board::types::BoardLayer::BL_User_13;
371 case User_14: return board::types::BoardLayer::BL_User_14;
372 case User_15: return board::types::BoardLayer::BL_User_15;
373 case User_16: return board::types::BoardLayer::BL_User_16;
374 case User_17: return board::types::BoardLayer::BL_User_17;
375 case User_18: return board::types::BoardLayer::BL_User_18;
376 case User_19: return board::types::BoardLayer::BL_User_19;
377 case User_20: return board::types::BoardLayer::BL_User_20;
378 case User_21: return board::types::BoardLayer::BL_User_21;
379 case User_22: return board::types::BoardLayer::BL_User_22;
380 case User_23: return board::types::BoardLayer::BL_User_23;
381 case User_24: return board::types::BoardLayer::BL_User_24;
382 case User_25: return board::types::BoardLayer::BL_User_25;
383 case User_26: return board::types::BoardLayer::BL_User_26;
384 case User_27: return board::types::BoardLayer::BL_User_27;
385 case User_28: return board::types::BoardLayer::BL_User_28;
386 case User_29: return board::types::BoardLayer::BL_User_29;
387 case User_30: return board::types::BoardLayer::BL_User_30;
388 case User_31: return board::types::BoardLayer::BL_User_31;
389 case User_32: return board::types::BoardLayer::BL_User_32;
390 case User_33: return board::types::BoardLayer::BL_User_33;
391 case User_34: return board::types::BoardLayer::BL_User_34;
392 case User_35: return board::types::BoardLayer::BL_User_35;
393 case User_36: return board::types::BoardLayer::BL_User_36;
394 case User_37: return board::types::BoardLayer::BL_User_37;
395 case User_38: return board::types::BoardLayer::BL_User_38;
396 case User_39: return board::types::BoardLayer::BL_User_39;
397 case User_40: return board::types::BoardLayer::BL_User_40;
398 case User_41: return board::types::BoardLayer::BL_User_41;
399 case User_42: return board::types::BoardLayer::BL_User_42;
400 case User_43: return board::types::BoardLayer::BL_User_43;
401 case User_44: return board::types::BoardLayer::BL_User_44;
402 case User_45: return board::types::BoardLayer::BL_User_45;
403 default:
404 wxCHECK_MSG( false, board::types::BoardLayer::BL_UNKNOWN,
405 "Unhandled case in ToProtoEnum<PCB_LAYER_ID>");
406 }
407}
408
409
410template<> KICOMMON_API
411JOB_PAGE_SIZE FromProtoEnum( schematic::jobs::SchematicJobPageSize aValue )
412{
413 switch( aValue )
414 {
415 case schematic::jobs::SchematicJobPageSize::SJPS_AUTO: return JOB_PAGE_SIZE::PAGE_SIZE_AUTO;
416 case schematic::jobs::SchematicJobPageSize::SJPS_A4: return JOB_PAGE_SIZE::PAGE_SIZE_A4;
417 case schematic::jobs::SchematicJobPageSize::SJPS_A: return JOB_PAGE_SIZE::PAGE_SIZE_A;
418 case schematic::jobs::SchematicJobPageSize::SJPS_UNKNOWN:
419 default:
420 wxCHECK_MSG( false, JOB_PAGE_SIZE::PAGE_SIZE_AUTO,
421 "Unhandled case in FromProtoEnum<schematic::jobs::SchematicJobPageSize>" );
422 }
423}
424
425
426template<> KICOMMON_API
427schematic::jobs::SchematicJobPageSize ToProtoEnum( JOB_PAGE_SIZE aValue )
428{
429 switch( aValue )
430 {
431 case JOB_PAGE_SIZE::PAGE_SIZE_AUTO: return schematic::jobs::SchematicJobPageSize::SJPS_AUTO;
432 case JOB_PAGE_SIZE::PAGE_SIZE_A4: return schematic::jobs::SchematicJobPageSize::SJPS_A4;
433 case JOB_PAGE_SIZE::PAGE_SIZE_A: return schematic::jobs::SchematicJobPageSize::SJPS_A;
434 default:
435 wxCHECK_MSG( false, schematic::jobs::SchematicJobPageSize::SJPS_UNKNOWN,
436 "Unhandled case in ToProtoEnum<JOB_PAGE_SIZE>" );
437 }
438}
439
440
441template<> KICOMMON_API
442JOB_EXPORT_SCH_NETLIST::FORMAT FromProtoEnum( schematic::jobs::SchematicNetlistFormat aValue )
443{
444 switch( aValue )
445 {
446 case schematic::jobs::SchematicNetlistFormat::SNF_KICAD_XML:
448 case schematic::jobs::SchematicNetlistFormat::SNF_KICAD_SEXPR:
450 case schematic::jobs::SchematicNetlistFormat::SNF_ORCAD_PCB2:
452 case schematic::jobs::SchematicNetlistFormat::SNF_CADSTAR:
454 case schematic::jobs::SchematicNetlistFormat::SNF_SPICE:
456 case schematic::jobs::SchematicNetlistFormat::SNF_SPICE_MODEL:
458 case schematic::jobs::SchematicNetlistFormat::SNF_PADS:
460 case schematic::jobs::SchematicNetlistFormat::SNF_ALLEGRO:
462 case schematic::jobs::SchematicNetlistFormat::SNF_UNKNOWN:
463 default:
465 "Unhandled case in FromProtoEnum<schematic::jobs::SchematicNetlistFormat>" );
466 }
467}
468
469
470template<> KICOMMON_API
471schematic::jobs::SchematicNetlistFormat ToProtoEnum( JOB_EXPORT_SCH_NETLIST::FORMAT aValue )
472{
473 switch( aValue )
474 {
476 return schematic::jobs::SchematicNetlistFormat::SNF_KICAD_XML;
478 return schematic::jobs::SchematicNetlistFormat::SNF_KICAD_SEXPR;
480 return schematic::jobs::SchematicNetlistFormat::SNF_ORCAD_PCB2;
482 return schematic::jobs::SchematicNetlistFormat::SNF_CADSTAR;
484 return schematic::jobs::SchematicNetlistFormat::SNF_SPICE;
486 return schematic::jobs::SchematicNetlistFormat::SNF_SPICE_MODEL;
488 return schematic::jobs::SchematicNetlistFormat::SNF_PADS;
490 return schematic::jobs::SchematicNetlistFormat::SNF_ALLEGRO;
491 default:
492 wxCHECK_MSG( false, schematic::jobs::SchematicNetlistFormat::SNF_UNKNOWN,
493 "Unhandled case in ToProtoEnum<JOB_EXPORT_SCH_NETLIST::FORMAT>" );
494 }
495}
496
497
498template<> KICOMMON_API
499GR_TEXT_H_ALIGN_T FromProtoEnum( types::HorizontalAlignment aValue )
500{
501 switch( aValue )
502 {
503 case types::HorizontalAlignment::HA_LEFT: return GR_TEXT_H_ALIGN_LEFT;
504 case types::HorizontalAlignment::HA_CENTER: return GR_TEXT_H_ALIGN_CENTER;
505 case types::HorizontalAlignment::HA_RIGHT: return GR_TEXT_H_ALIGN_RIGHT;
506 case types::HorizontalAlignment::HA_INDETERMINATE: return GR_TEXT_H_ALIGN_INDETERMINATE;
507
508 case types::HorizontalAlignment::HA_UNKNOWN: return GR_TEXT_H_ALIGN_CENTER;
509 default:
510 wxCHECK_MSG( false, GR_TEXT_H_ALIGN_CENTER,
511 "Unhandled case in FromProtoEnum<types::HorizontalAlignment>" );
512 }
513}
514
515
516template<> KICOMMON_API
517types::HorizontalAlignment ToProtoEnum( GR_TEXT_H_ALIGN_T aValue )
518{
519 switch( aValue )
520 {
521 case GR_TEXT_H_ALIGN_LEFT: return types::HorizontalAlignment::HA_LEFT;
522 case GR_TEXT_H_ALIGN_CENTER: return types::HorizontalAlignment::HA_CENTER;
523 case GR_TEXT_H_ALIGN_RIGHT: return types::HorizontalAlignment::HA_RIGHT;
524 case GR_TEXT_H_ALIGN_INDETERMINATE: return types::HorizontalAlignment::HA_INDETERMINATE;
525 default:
526 wxCHECK_MSG( false, types::HorizontalAlignment::HA_UNKNOWN,
527 "Unhandled case in ToProtoEnum<GR_TEXT_H_ALIGN_T>");
528 }
529}
530
531
532template<> KICOMMON_API
533GR_TEXT_V_ALIGN_T FromProtoEnum( types::VerticalAlignment aValue )
534{
535 switch( aValue )
536 {
537 case types::VerticalAlignment::VA_TOP: return GR_TEXT_V_ALIGN_TOP;
538 case types::VerticalAlignment::VA_CENTER: return GR_TEXT_V_ALIGN_CENTER;
539 case types::VerticalAlignment::VA_BOTTOM: return GR_TEXT_V_ALIGN_BOTTOM;
540 case types::VerticalAlignment::VA_INDETERMINATE: return GR_TEXT_V_ALIGN_INDETERMINATE;
541
542 case types::VerticalAlignment::VA_UNKNOWN: return GR_TEXT_V_ALIGN_CENTER;
543 default:
544 wxCHECK_MSG( false, GR_TEXT_V_ALIGN_CENTER,
545 "Unhandled case in FromProtoEnum<types::VerticalAlignment>" );
546 }
547}
548
549
550template<> KICOMMON_API
551types::VerticalAlignment ToProtoEnum( GR_TEXT_V_ALIGN_T aValue )
552{
553 switch( aValue )
554 {
555 case GR_TEXT_V_ALIGN_TOP: return types::VerticalAlignment::VA_TOP;
556 case GR_TEXT_V_ALIGN_CENTER: return types::VerticalAlignment::VA_CENTER;
557 case GR_TEXT_V_ALIGN_BOTTOM: return types::VerticalAlignment::VA_BOTTOM;
558 case GR_TEXT_V_ALIGN_INDETERMINATE: return types::VerticalAlignment::VA_INDETERMINATE;
559 default:
560 wxCHECK_MSG( false, types::VerticalAlignment::VA_UNKNOWN,
561 "Unhandled case in ToProtoEnum<GR_TEXT_V_ALIGN_T>");
562 }
563}
564
565
566template<> KICOMMON_API
567LINE_STYLE FromProtoEnum( types::StrokeLineStyle aValue )
568{
569 switch( aValue )
570 {
571 case types::StrokeLineStyle::SLS_UNKNOWN:
572 case types::StrokeLineStyle::SLS_DEFAULT: return LINE_STYLE::DEFAULT;
573 case types::StrokeLineStyle::SLS_SOLID: return LINE_STYLE::SOLID;
574 case types::StrokeLineStyle::SLS_DASH: return LINE_STYLE::DASH;
575 case types::StrokeLineStyle::SLS_DOT: return LINE_STYLE::DOT;
576 case types::StrokeLineStyle::SLS_DASHDOT: return LINE_STYLE::DASHDOT;
577 case types::StrokeLineStyle::SLS_DASHDOTDOT: return LINE_STYLE::DASHDOTDOT;
578
579 default:
580 wxCHECK_MSG( false, LINE_STYLE::DEFAULT,
581 "Unhandled case in FromProtoEnum<types::StrokeLineStyle>" );
582 }
583}
584
585
586template<> KICOMMON_API
587types::StrokeLineStyle ToProtoEnum( LINE_STYLE aValue )
588{
589 switch( aValue )
590 {
591 case LINE_STYLE::DEFAULT: return types::StrokeLineStyle::SLS_DEFAULT;
592 case LINE_STYLE::SOLID: return types::StrokeLineStyle::SLS_SOLID;
593 case LINE_STYLE::DASH: return types::StrokeLineStyle::SLS_DASH;
594 case LINE_STYLE::DOT: return types::StrokeLineStyle::SLS_DOT;
595 case LINE_STYLE::DASHDOT: return types::StrokeLineStyle::SLS_DASHDOT;
596 case LINE_STYLE::DASHDOTDOT: return types::StrokeLineStyle::SLS_DASHDOTDOT;
597 default:
598 wxCHECK_MSG( false, types::StrokeLineStyle::SLS_UNKNOWN,
599 "Unhandled case in ToProtoEnum<LINE_STYLE>");
600 }
601}
602
603
604template<> KICOMMON_API
605FILL_T FromProtoEnum( types::GraphicFillType aValue )
606{
607 switch( aValue )
608 {
609 case types::GraphicFillType::GFT_UNFILLED: return FILL_T::NO_FILL;
610 case types::GraphicFillType::GFT_FILLED: return FILL_T::FILLED_SHAPE;
611 case types::GraphicFillType::GFT_FILLED_WITH_COLOR: return FILL_T::FILLED_WITH_COLOR;
612 case types::GraphicFillType::GFT_FILLED_WITH_BACKGROUND_BODY_COLOR: return FILL_T::FILLED_WITH_BG_BODYCOLOR;
613 case types::GraphicFillType::GFT_HATCH: return FILL_T::HATCH;
614 case types::GraphicFillType::GFT_REVERSE_HATCH: return FILL_T::REVERSE_HATCH;
615 case types::GraphicFillType::GFT_CROSS_HATCH: return FILL_T::CROSS_HATCH;
616 case types::GraphicFillType::GFT_UNKNOWN:
617 default:
618 wxCHECK_MSG( false, FILL_T::NO_FILL,
619 "Unhandled case in FromProtoEnum<types::GraphicFillType>" );
620 }
621}
622
623
624template<> KICOMMON_API
625types::GraphicFillType ToProtoEnum( FILL_T aValue )
626{
627 switch( aValue )
628 {
629 case FILL_T::NO_FILL: return types::GraphicFillType::GFT_UNFILLED;
630 case FILL_T::FILLED_SHAPE: return types::GraphicFillType::GFT_FILLED;
631 case FILL_T::FILLED_WITH_COLOR: return types::GraphicFillType::GFT_FILLED_WITH_COLOR;
632 case FILL_T::FILLED_WITH_BG_BODYCOLOR: return types::GraphicFillType::GFT_FILLED_WITH_BACKGROUND_BODY_COLOR;
633 case FILL_T::HATCH: return types::GraphicFillType::GFT_HATCH;
634 case FILL_T::REVERSE_HATCH: return types::GraphicFillType::GFT_REVERSE_HATCH;
635 case FILL_T::CROSS_HATCH: return types::GraphicFillType::GFT_CROSS_HATCH;
636 default:
637 wxCHECK_MSG( false, types::GraphicFillType::GFT_UNKNOWN,
638 "Unhandled case in ToProtoEnum<FILL_T>" );
639 }
640}
641
642
643template<> KICOMMON_API
644types::LineEndingStyle ToProtoEnum( LINE_ENDING_STYLE aValue )
645{
646 switch( aValue )
647 {
648 case LINE_ENDING_STYLE::NONE: return types::LineEndingStyle::LES_NONE;
649 case LINE_ENDING_STYLE::ARROW: return types::LineEndingStyle::LES_ARROW;
650 case LINE_ENDING_STYLE::CIRCLE: return types::LineEndingStyle::LES_CIRCLE;
651 case LINE_ENDING_STYLE::SQUARE: return types::LineEndingStyle::LES_SQUARE;
652 case LINE_ENDING_STYLE::ARROW_OPEN: return types::LineEndingStyle::LES_ARROW_OPEN;
653 default:
654 wxCHECK_MSG( false, types::LineEndingStyle::LES_UNKNOWN,
655 "Unhandled case in ToProtoEnum<LINE_ENDING_STYLE>" );
656 }
657}
658
659
660template<> KICOMMON_API
661LINE_ENDING_STYLE FromProtoEnum( types::LineEndingStyle aValue )
662{
663 switch( aValue )
664 {
665 case types::LineEndingStyle::LES_NONE: return LINE_ENDING_STYLE::NONE;
666 case types::LineEndingStyle::LES_ARROW: return LINE_ENDING_STYLE::ARROW;
667 case types::LineEndingStyle::LES_CIRCLE: return LINE_ENDING_STYLE::CIRCLE;
668 case types::LineEndingStyle::LES_SQUARE: return LINE_ENDING_STYLE::SQUARE;
669 case types::LineEndingStyle::LES_ARROW_OPEN: return LINE_ENDING_STYLE::ARROW_OPEN;
670 case types::LineEndingStyle::LES_UNKNOWN:
671 default:
672 wxCHECK_MSG( false, LINE_ENDING_STYLE::NONE,
673 "Unhandled case in FromProtoEnum<types::LineEndingStyle>" );
674 }
675}
676
677
678template<> KICOMMON_API
679ELECTRICAL_PINTYPE FromProtoEnum( types::ElectricalPinType aValue )
680{
681 switch( aValue )
682 {
683 case types::ElectricalPinType::EPT_INPUT: return ELECTRICAL_PINTYPE::PT_INPUT;
684 case types::ElectricalPinType::EPT_OUTPUT: return ELECTRICAL_PINTYPE::PT_OUTPUT;
685 case types::ElectricalPinType::EPT_BIDIRECTIONAL: return ELECTRICAL_PINTYPE::PT_BIDI;
686 case types::ElectricalPinType::EPT_TRISTATE: return ELECTRICAL_PINTYPE::PT_TRISTATE;
687 case types::ElectricalPinType::EPT_PASSIVE: return ELECTRICAL_PINTYPE::PT_PASSIVE;
688 case types::ElectricalPinType::EPT_FREE: return ELECTRICAL_PINTYPE::PT_NIC;
689 case types::ElectricalPinType::EPT_UNSPECIFIED: return ELECTRICAL_PINTYPE::PT_UNSPECIFIED;
690 case types::ElectricalPinType::EPT_POWER_INPUT: return ELECTRICAL_PINTYPE::PT_POWER_IN;
691 case types::ElectricalPinType::EPT_POWER_OUTPUT: return ELECTRICAL_PINTYPE::PT_POWER_OUT;
692 case types::ElectricalPinType::EPT_OPEN_COLLECTOR: return ELECTRICAL_PINTYPE::PT_OPENCOLLECTOR;
693 case types::ElectricalPinType::EPT_OPEN_EMITTER: return ELECTRICAL_PINTYPE::PT_OPENEMITTER;
694 case types::ElectricalPinType::EPT_NO_CONNECT: return ELECTRICAL_PINTYPE::PT_NC;
695 case types::ElectricalPinType::EPT_UNKNOWN:
696 default:
697 wxCHECK_MSG( false, ELECTRICAL_PINTYPE::PT_UNSPECIFIED,
698 "Unhandled case in FromProtoEnum<types::ElectricalPinType>" );
699 }
700}
701
702
703template<> KICOMMON_API
704types::ElectricalPinType ToProtoEnum( ELECTRICAL_PINTYPE aValue )
705{
706 switch( aValue )
707 {
708 case ELECTRICAL_PINTYPE::PT_INPUT: return types::ElectricalPinType::EPT_INPUT;
709 case ELECTRICAL_PINTYPE::PT_OUTPUT: return types::ElectricalPinType::EPT_OUTPUT;
710 case ELECTRICAL_PINTYPE::PT_BIDI: return types::ElectricalPinType::EPT_BIDIRECTIONAL;
711 case ELECTRICAL_PINTYPE::PT_TRISTATE: return types::ElectricalPinType::EPT_TRISTATE;
712 case ELECTRICAL_PINTYPE::PT_PASSIVE: return types::ElectricalPinType::EPT_PASSIVE;
713 case ELECTRICAL_PINTYPE::PT_NIC: return types::ElectricalPinType::EPT_FREE;
714 case ELECTRICAL_PINTYPE::PT_UNSPECIFIED: return types::ElectricalPinType::EPT_UNSPECIFIED;
715 case ELECTRICAL_PINTYPE::PT_POWER_IN: return types::ElectricalPinType::EPT_POWER_INPUT;
716 case ELECTRICAL_PINTYPE::PT_POWER_OUT: return types::ElectricalPinType::EPT_POWER_OUTPUT;
717 case ELECTRICAL_PINTYPE::PT_OPENCOLLECTOR: return types::ElectricalPinType::EPT_OPEN_COLLECTOR;
718 case ELECTRICAL_PINTYPE::PT_OPENEMITTER: return types::ElectricalPinType::EPT_OPEN_EMITTER;
719 case ELECTRICAL_PINTYPE::PT_NC: return types::ElectricalPinType::EPT_NO_CONNECT;
720 // Inherit shouldn't be serialized, it's an internal flag
722 default:
723 wxCHECK_MSG( false, types::ElectricalPinType::EPT_UNKNOWN,
724 "Unhandled case in ToProtoEnum<ELECTRICAL_PINTYPE>");
725 }
726}
727
728
729template<> KICOMMON_API
730PAD_SIM_ELECTRICAL_TYPE FromProtoEnum( board::types::PadSimElectricalType aValue )
731{
732 switch( aValue )
733 {
734 case board::types::PadSimElectricalType::PSET_NONE: return PAD_SIM_ELECTRICAL_TYPE::NONE;
735 case board::types::PadSimElectricalType::PSET_SOURCE: return PAD_SIM_ELECTRICAL_TYPE::SOURCE;
736 case board::types::PadSimElectricalType::PSET_SINK: return PAD_SIM_ELECTRICAL_TYPE::SINK;
737
738 default:
739 wxCHECK_MSG( false, PAD_SIM_ELECTRICAL_TYPE::NONE,
740 "Unhandled case in FromProtoEnum<types::PadSimElectricalType>" );
741 }
742}
743
744
745template<> KICOMMON_API
746board::types::PadSimElectricalType ToProtoEnum( PAD_SIM_ELECTRICAL_TYPE aValue )
747{
748 switch( aValue )
749 {
750 case PAD_SIM_ELECTRICAL_TYPE::NONE: return board::types::PadSimElectricalType::PSET_NONE;
751 case PAD_SIM_ELECTRICAL_TYPE::SOURCE: return board::types::PadSimElectricalType::PSET_SOURCE;
752 case PAD_SIM_ELECTRICAL_TYPE::SINK: return board::types::PadSimElectricalType::PSET_SINK;
753
754 default:
755 wxCHECK_MSG( false, board::types::PadSimElectricalType::PSET_NONE,
756 "Unhandled case in ToProtoEnum<PAD_SIM_ELECTRICAL_TYPE>" );
757 }
758}
759
760
761template<> KICOMMON_API
762types::RuleSeverity ToProtoEnum( SEVERITY aValue )
763{
764 switch( aValue )
765 {
766 case RPT_SEVERITY_WARNING: return types::RuleSeverity::RS_WARNING;
767 case RPT_SEVERITY_ERROR: return types::RuleSeverity::RS_ERROR;
768 case RPT_SEVERITY_EXCLUSION: return types::RuleSeverity::RS_EXCLUSION;
769 case RPT_SEVERITY_IGNORE: return types::RuleSeverity::RS_IGNORE;
770 case RPT_SEVERITY_INFO: return types::RuleSeverity::RS_INFO;
771 case RPT_SEVERITY_ACTION: return types::RuleSeverity::RS_ACTION;
772 case RPT_SEVERITY_DEBUG: return types::RuleSeverity::RS_DEBUG;
773 case RPT_SEVERITY_UNDEFINED: return types::RuleSeverity::RS_UNDEFINED;
774 default:
775 wxCHECK_MSG( false, types::RuleSeverity::RS_UNDEFINED,
776 "Unhandled case in ToProtoEnum<SEVERITY>");
777 }
778}
779
780
781template<> KICOMMON_API
782SEVERITY FromProtoEnum( types::RuleSeverity aValue )
783{
784 switch( aValue )
785 {
786 case types::RuleSeverity::RS_WARNING: return RPT_SEVERITY_WARNING;
787 case types::RuleSeverity::RS_ERROR: return RPT_SEVERITY_ERROR;
788 case types::RuleSeverity::RS_EXCLUSION: return RPT_SEVERITY_EXCLUSION;
789 case types::RuleSeverity::RS_IGNORE: return RPT_SEVERITY_IGNORE;
790 case types::RuleSeverity::RS_INFO: return RPT_SEVERITY_INFO;
791 case types::RuleSeverity::RS_ACTION: return RPT_SEVERITY_ACTION;
792 case types::RuleSeverity::RS_DEBUG: return RPT_SEVERITY_DEBUG;
793 case types::RuleSeverity::RS_UNKNOWN:
794 default:
796 }
797}
798
799
800template<> KICOMMON_API
801PAGE_SIZE_TYPE FromProtoEnum( types::PageSize aValue )
802{
803 switch( aValue )
804 {
805 case types::PageSize::PS_A5: return PAGE_SIZE_TYPE::A5;
806 case types::PageSize::PS_A4: return PAGE_SIZE_TYPE::A4;
807 case types::PageSize::PS_A3: return PAGE_SIZE_TYPE::A3;
808 case types::PageSize::PS_A2: return PAGE_SIZE_TYPE::A2;
809 case types::PageSize::PS_A1: return PAGE_SIZE_TYPE::A1;
810 case types::PageSize::PS_A0: return PAGE_SIZE_TYPE::A0;
811 case types::PageSize::PS_ANSI_A: return PAGE_SIZE_TYPE::A;
812 case types::PageSize::PS_ANSI_B: return PAGE_SIZE_TYPE::B;
813 case types::PageSize::PS_ANSI_C: return PAGE_SIZE_TYPE::C;
814 case types::PageSize::PS_ANSI_D: return PAGE_SIZE_TYPE::D;
815 case types::PageSize::PS_ANSI_E: return PAGE_SIZE_TYPE::E;
816 case types::PageSize::PS_GERBER: return PAGE_SIZE_TYPE::GERBER;
817 case types::PageSize::PS_US_LETTER: return PAGE_SIZE_TYPE::USLetter;
818 case types::PageSize::PS_US_LEGAL: return PAGE_SIZE_TYPE::USLegal;
819 case types::PageSize::PS_US_LEDGER: return PAGE_SIZE_TYPE::USLedger;
820 case types::PageSize::PS_USER: return PAGE_SIZE_TYPE::User;
821
822 case types::PageSize::PS_UNKNOWN:
823 default:
824 wxCHECK_MSG( false, PAGE_SIZE_TYPE::A3,
825 "Unhandled case in FromProtoEnum<types::PageSize>" );
826 }
827}
828
829
830template<> KICOMMON_API
831types::PageSize ToProtoEnum( PAGE_SIZE_TYPE aValue )
832{
833 switch( aValue )
834 {
835 case PAGE_SIZE_TYPE::A5: return types::PageSize::PS_A5;
836 case PAGE_SIZE_TYPE::A4: return types::PageSize::PS_A4;
837 case PAGE_SIZE_TYPE::A3: return types::PageSize::PS_A3;
838 case PAGE_SIZE_TYPE::A2: return types::PageSize::PS_A2;
839 case PAGE_SIZE_TYPE::A1: return types::PageSize::PS_A1;
840 case PAGE_SIZE_TYPE::A0: return types::PageSize::PS_A0;
841 case PAGE_SIZE_TYPE::A: return types::PageSize::PS_ANSI_A;
842 case PAGE_SIZE_TYPE::B: return types::PageSize::PS_ANSI_B;
843 case PAGE_SIZE_TYPE::C: return types::PageSize::PS_ANSI_C;
844 case PAGE_SIZE_TYPE::D: return types::PageSize::PS_ANSI_D;
845 case PAGE_SIZE_TYPE::E: return types::PageSize::PS_ANSI_E;
846 case PAGE_SIZE_TYPE::GERBER: return types::PageSize::PS_GERBER;
847 case PAGE_SIZE_TYPE::USLetter: return types::PageSize::PS_US_LETTER;
848 case PAGE_SIZE_TYPE::USLegal: return types::PageSize::PS_US_LEGAL;
849 case PAGE_SIZE_TYPE::USLedger: return types::PageSize::PS_US_LEDGER;
850 case PAGE_SIZE_TYPE::User: return types::PageSize::PS_USER;
851 default:
852 wxCHECK_MSG( false, types::PageSize::PS_UNKNOWN,
853 "Unhandled case in ToProtoEnum<PAGE_SIZE_TYPE>" );
854 }
855}
856
857
858template<> KICOMMON_API
859FLIP_DIRECTION FromProtoEnum( board::commands::BoardFlipDirection aValue )
860{
861 switch( aValue )
862 {
863 case board::commands::BoardFlipDirection::BFD_LEFT_RIGHT: return FLIP_DIRECTION::LEFT_RIGHT;
864
865 default:
866 case board::commands::BoardFlipDirection::BFD_UNKNOWN:
867 case board::commands::BoardFlipDirection::BFD_TOP_BOTTOM: return FLIP_DIRECTION::TOP_BOTTOM;
868 }
869}
870
871
872template<> KICOMMON_API
873board::commands::BoardFlipDirection ToProtoEnum( FLIP_DIRECTION aValue )
874{
875 switch( aValue )
876 {
877 case FLIP_DIRECTION::LEFT_RIGHT: return board::commands::BoardFlipDirection::BFD_LEFT_RIGHT;
878 case FLIP_DIRECTION::TOP_BOTTOM: return board::commands::BoardFlipDirection::BFD_TOP_BOTTOM;
879 }
880
881 wxCHECK_MSG( false, board::commands::BoardFlipDirection::BFD_UNKNOWN,
882 "Unhandled case in ToProtoEnum<FLIP_DIRECTION>" );
883}
884
885
886template<> KICOMMON_API
887EMBEDDED_FILES::EMBEDDED_FILE::FILE_TYPE FromProtoEnum( common::types::EmbeddedFileType aValue )
888{
889 switch( aValue )
890 {
891 case common::types::EFT_FONT: return EMBEDDED_FILES::EMBEDDED_FILE::FILE_TYPE::FONT;
892 case common::types::EFT_MODEL: return EMBEDDED_FILES::EMBEDDED_FILE::FILE_TYPE::MODEL;
893 case common::types::EFT_WORKSHEET: return EMBEDDED_FILES::EMBEDDED_FILE::FILE_TYPE::WORKSHEET;
894 case common::types::EFT_DATASHEET: return EMBEDDED_FILES::EMBEDDED_FILE::FILE_TYPE::DATASHEET;
895 default:
896 case common::types::EFT_UNKNOWN:
897 case common::types::EFT_OTHER: return EMBEDDED_FILES::EMBEDDED_FILE::FILE_TYPE::OTHER;
898 }
899}
900
901
902template<> KICOMMON_API
903common::types::EmbeddedFileType ToProtoEnum( EMBEDDED_FILES::EMBEDDED_FILE::FILE_TYPE aValue )
904{
905 switch( aValue )
906 {
907 case EMBEDDED_FILES::EMBEDDED_FILE::FILE_TYPE::FONT: return common::types::EFT_FONT;
908 case EMBEDDED_FILES::EMBEDDED_FILE::FILE_TYPE::MODEL: return common::types::EFT_MODEL;
909 case EMBEDDED_FILES::EMBEDDED_FILE::FILE_TYPE::WORKSHEET: return common::types::EFT_WORKSHEET;
910 case EMBEDDED_FILES::EMBEDDED_FILE::FILE_TYPE::DATASHEET: return common::types::EFT_DATASHEET;
911 case EMBEDDED_FILES::EMBEDDED_FILE::FILE_TYPE::OTHER: return common::types::EFT_OTHER;
912 }
913
914 wxCHECK_MSG( false, common::types::EFT_UNKNOWN,
915 "Unhandled case in ToProtoEnum<EMBEDDED_FILES::EMBEDDED_FILE::FILE_TYPE>" );
916}
917
918
919template<> KICOMMON_API
920LIBRARY_TABLE_TYPE FromProtoEnum( types::LibraryType aType )
921{
922 switch( aType )
923 {
924 case types::LibraryType::LT_SYMBOL: return LIBRARY_TABLE_TYPE::SYMBOL;
925 case types::LibraryType::LT_FOOTPRINT: return LIBRARY_TABLE_TYPE::FOOTPRINT;
926 case types::LibraryType::LT_DESIGN_BLOCK: return LIBRARY_TABLE_TYPE::DESIGN_BLOCK;
927 default: return LIBRARY_TABLE_TYPE::UNINITIALIZED;
928 }
929
930 wxCHECK_MSG( false, LIBRARY_TABLE_TYPE::UNINITIALIZED,
931 "Unhandled case in ToProtoEnum<LibraryType>" );
932}
933
934
935template<> KICOMMON_API
936types::LibraryType ToProtoEnum( LIBRARY_TABLE_TYPE aType )
937{
938 switch( aType )
939 {
940 case LIBRARY_TABLE_TYPE::SYMBOL: return types::LibraryType::LT_SYMBOL;
941 case LIBRARY_TABLE_TYPE::FOOTPRINT: return types::LibraryType::LT_FOOTPRINT;
942 case LIBRARY_TABLE_TYPE::DESIGN_BLOCK: return types::LibraryType::LT_DESIGN_BLOCK;
943 default: return types::LibraryType::LT_UNKNOWN;
944 }
945
946 wxCHECK_MSG( false, common::types::LT_UNKNOWN,
947 "Unhandled case in ToProtoEnum<LIBRARY_TABLE_TYPE>" );
948}
949
950
951template<> KICOMMON_API
952LIBRARY_TABLE_SCOPE FromProtoEnum( types::LibraryTableScope aScope )
953{
954 switch( aScope )
955 {
956 case types::LibraryTableScope::LTS_GLOBAL: return LIBRARY_TABLE_SCOPE::GLOBAL;
957 case types::LibraryTableScope::LTS_PROJECT: return LIBRARY_TABLE_SCOPE::PROJECT;
958 case types::LibraryTableScope::LTS_BOTH: return LIBRARY_TABLE_SCOPE::BOTH;
960 }
961
962 wxCHECK_MSG( false, LIBRARY_TABLE_SCOPE::UNINITIALIZED,
963 "Unhandled case in FromProtoEnum<LibraryTableScope>" );
964}
965
966
967template<> KICOMMON_API
968types::LibraryTableScope ToProtoEnum( LIBRARY_TABLE_SCOPE aScope )
969{
970 switch( aScope )
971 {
972 case LIBRARY_TABLE_SCOPE::GLOBAL: return types::LibraryTableScope::LTS_GLOBAL;
973 case LIBRARY_TABLE_SCOPE::PROJECT: return types::LibraryTableScope::LTS_PROJECT;
974 case LIBRARY_TABLE_SCOPE::BOTH: return types::LibraryTableScope::LTS_BOTH;
975 case LIBRARY_TABLE_SCOPE::UNINITIALIZED: return types::LibraryTableScope::LTS_UNKNOWN;
976 default: break;
977 }
978
979 wxCHECK_MSG( false, common::types::LibraryTableScope::LTS_UNKNOWN,
980 "Unhandled case in ToProtoEnum<LIBRARY_TABLE_SCOPE>" );
981}
982
983
984template<> KICOMMON_API
985LOAD_STATUS FromProtoEnum( types::LibraryLoadStatus aStatus )
986{
987 switch( aStatus )
988 {
989 case types::LibraryLoadStatus::LLS_UNKNOWN:
990 case types::LibraryLoadStatus::LLS_INVALID: return LOAD_STATUS::INVALID;
991 case types::LibraryLoadStatus::LLS_LOADING: return LOAD_STATUS::LOADING;
992 case types::LibraryLoadStatus::LLS_LOADED: return LOAD_STATUS::LOADED;
993 case types::LibraryLoadStatus::LLS_ERROR: return LOAD_STATUS::LOAD_ERROR;
994 default: break;
995 }
996
997 wxCHECK_MSG( false, LOAD_STATUS::INVALID, "Unhandled case in FromProtoEnum<LibraryLoadStatus>" );
998}
999
1000
1001template<> KICOMMON_API
1002types::LibraryLoadStatus ToProtoEnum( LOAD_STATUS aStatus )
1003{
1004 switch( aStatus )
1005 {
1006 case LOAD_STATUS::INVALID: return types::LibraryLoadStatus::LLS_INVALID;
1007 case LOAD_STATUS::LOADING: return types::LibraryLoadStatus::LLS_LOADING;
1008 case LOAD_STATUS::LOADED: return types::LibraryLoadStatus::LLS_LOADED;
1009 case LOAD_STATUS::LOAD_ERROR: return types::LibraryLoadStatus::LLS_ERROR;
1010 default: break;
1011 }
1012
1013 wxCHECK_MSG( false, types::LibraryLoadStatus::LLS_UNKNOWN, "Unhandled case in ToProtoEnum<LOAD_STATUS>" );
1014}
KICOMMON_API types::KiCadObjectType ToProtoEnum(KICAD_T aValue)
KICOMMON_API KICAD_T FromProtoEnum(types::KiCadObjectType aValue)
Definition api_enums.cpp:55
FILL_T
Definition eda_fill.h:29
@ FILLED_WITH_COLOR
Definition eda_fill.h:33
@ NO_FILL
Definition eda_fill.h:30
@ REVERSE_HATCH
Definition eda_fill.h:35
@ HATCH
Definition eda_fill.h:34
@ FILLED_WITH_BG_BODYCOLOR
Definition eda_fill.h:32
@ FILLED_SHAPE
Fill with object color.
Definition eda_fill.h:31
@ CROSS_HATCH
Definition eda_fill.h:36
#define KICOMMON_API
Definition kicommon.h:27
PCB_LAYER_ID
A quick note on layer IDs:
Definition layer_ids.h:56
@ User_16
Definition layer_ids.h:135
@ In22_Cu
Definition layer_ids.h:83
@ In11_Cu
Definition layer_ids.h:72
@ User_29
Definition layer_ids.h:148
@ In29_Cu
Definition layer_ids.h:90
@ In30_Cu
Definition layer_ids.h:91
@ User_40
Definition layer_ids.h:159
@ User_15
Definition layer_ids.h:134
@ User_8
Definition layer_ids.h:127
@ F_CrtYd
Definition layer_ids.h:112
@ User_11
Definition layer_ids.h:130
@ User_25
Definition layer_ids.h:144
@ In17_Cu
Definition layer_ids.h:78
@ User_34
Definition layer_ids.h:153
@ User_45
Definition layer_ids.h:164
@ B_Adhes
Definition layer_ids.h:99
@ User_36
Definition layer_ids.h:155
@ Edge_Cuts
Definition layer_ids.h:108
@ Dwgs_User
Definition layer_ids.h:103
@ F_Paste
Definition layer_ids.h:100
@ In9_Cu
Definition layer_ids.h:70
@ Cmts_User
Definition layer_ids.h:104
@ User_6
Definition layer_ids.h:125
@ User_7
Definition layer_ids.h:126
@ In19_Cu
Definition layer_ids.h:80
@ User_19
Definition layer_ids.h:138
@ User_23
Definition layer_ids.h:142
@ In7_Cu
Definition layer_ids.h:68
@ In28_Cu
Definition layer_ids.h:89
@ In26_Cu
Definition layer_ids.h:87
@ F_Adhes
Definition layer_ids.h:98
@ User_41
Definition layer_ids.h:160
@ B_Mask
Definition layer_ids.h:94
@ B_Cu
Definition layer_ids.h:61
@ User_14
Definition layer_ids.h:133
@ User_39
Definition layer_ids.h:158
@ User_5
Definition layer_ids.h:124
@ User_20
Definition layer_ids.h:139
@ Eco1_User
Definition layer_ids.h:105
@ F_Mask
Definition layer_ids.h:93
@ In21_Cu
Definition layer_ids.h:82
@ User_42
Definition layer_ids.h:161
@ User_43
Definition layer_ids.h:162
@ In23_Cu
Definition layer_ids.h:84
@ B_Paste
Definition layer_ids.h:101
@ In15_Cu
Definition layer_ids.h:76
@ In2_Cu
Definition layer_ids.h:63
@ User_10
Definition layer_ids.h:129
@ User_9
Definition layer_ids.h:128
@ User_27
Definition layer_ids.h:146
@ User_28
Definition layer_ids.h:147
@ UNSELECTED_LAYER
Definition layer_ids.h:58
@ F_Fab
Definition layer_ids.h:115
@ In10_Cu
Definition layer_ids.h:71
@ Margin
Definition layer_ids.h:109
@ F_SilkS
Definition layer_ids.h:96
@ In4_Cu
Definition layer_ids.h:65
@ B_CrtYd
Definition layer_ids.h:111
@ UNDEFINED_LAYER
Definition layer_ids.h:57
@ Eco2_User
Definition layer_ids.h:106
@ In16_Cu
Definition layer_ids.h:77
@ In24_Cu
Definition layer_ids.h:85
@ In1_Cu
Definition layer_ids.h:62
@ User_35
Definition layer_ids.h:154
@ Rescue
Definition layer_ids.h:117
@ User_31
Definition layer_ids.h:150
@ User_3
Definition layer_ids.h:122
@ User_1
Definition layer_ids.h:120
@ User_12
Definition layer_ids.h:131
@ B_SilkS
Definition layer_ids.h:97
@ User_30
Definition layer_ids.h:149
@ User_37
Definition layer_ids.h:156
@ User_22
Definition layer_ids.h:141
@ User_38
Definition layer_ids.h:157
@ In13_Cu
Definition layer_ids.h:74
@ User_4
Definition layer_ids.h:123
@ In8_Cu
Definition layer_ids.h:69
@ User_21
Definition layer_ids.h:140
@ In14_Cu
Definition layer_ids.h:75
@ User_24
Definition layer_ids.h:143
@ User_13
Definition layer_ids.h:132
@ User_2
Definition layer_ids.h:121
@ In12_Cu
Definition layer_ids.h:73
@ User_17
Definition layer_ids.h:136
@ In27_Cu
Definition layer_ids.h:88
@ In6_Cu
Definition layer_ids.h:67
@ In5_Cu
Definition layer_ids.h:66
@ User_33
Definition layer_ids.h:152
@ User_26
Definition layer_ids.h:145
@ In3_Cu
Definition layer_ids.h:64
@ User_32
Definition layer_ids.h:151
@ In20_Cu
Definition layer_ids.h:81
@ User_18
Definition layer_ids.h:137
@ User_44
Definition layer_ids.h:163
@ F_Cu
Definition layer_ids.h:60
@ In18_Cu
Definition layer_ids.h:79
@ In25_Cu
Definition layer_ids.h:86
@ B_Fab
Definition layer_ids.h:114
LOAD_STATUS
Status of a library load managed by a library adapter.
LIBRARY_TABLE_TYPE
LIBRARY_TABLE_SCOPE
LINE_ENDING_STYLE
Line ending styles for graphic lines, arcs, and beziers.
Definition line_ending.h:44
FLIP_DIRECTION
Definition mirror.h:23
@ LEFT_RIGHT
Flip left to right (around the Y axis)
Definition mirror.h:24
@ TOP_BOTTOM
Flip top to bottom (around the X axis)
Definition mirror.h:25
PAD_SIM_ELECTRICAL_TYPE
The electrical type of a pad.
Definition pad.h:53
PAGE_SIZE_TYPE
Definition page_info.h:46
ELECTRICAL_PINTYPE
The symbol library pin object electrical types used in ERC tests.
Definition pin_type.h:32
@ PT_INPUT
usual pin input: must be connected
Definition pin_type.h:33
@ PT_NC
not connected (must be left open)
Definition pin_type.h:46
@ PT_OUTPUT
usual output
Definition pin_type.h:34
@ PT_TRISTATE
tri state bus pin
Definition pin_type.h:36
@ PT_NIC
not internally connected (may be connected to anything)
Definition pin_type.h:40
@ PT_BIDI
input or output (like port for a microprocessor)
Definition pin_type.h:35
@ PT_OPENEMITTER
pin type open emitter
Definition pin_type.h:45
@ PT_POWER_OUT
output of a regulator: intended to be connected to power input pins
Definition pin_type.h:43
@ PT_OPENCOLLECTOR
pin type open collector
Definition pin_type.h:44
@ PT_POWER_IN
power input (GND, VCC for ICs). Must be connected to a power output.
Definition pin_type.h:42
@ PT_UNSPECIFIED
unknown electrical properties: creates always a warning when connected
Definition pin_type.h:41
@ PT_PASSIVE
pin for passive symbols: must be connected, and can be connected to any pin.
Definition pin_type.h:39
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:70
@ SCH_GROUP_T
Definition typeinfo.h:169
@ SCH_TABLE_T
Definition typeinfo.h:161
@ PCB_CONSTRAINT_T
a geometric constraint between board items
Definition typeinfo.h:237
@ PCB_SHAPE_T
class PCB_SHAPE, a segment not on copper layers
Definition typeinfo.h:80
@ SCH_LINE_T
Definition typeinfo.h:159
@ LIB_SYMBOL_T
Definition typeinfo.h:144
@ SCH_NO_CONNECT_T
Definition typeinfo.h:156
@ PCB_GENERATOR_T
class PCB_GENERATOR, generator on a layer
Definition typeinfo.h:83
@ PCB_VIA_T
class PCB_VIA, a via (like a track segment on a copper layer)
Definition typeinfo.h:89
@ TYPE_NOT_INIT
Definition typeinfo.h:73
@ SCH_SYMBOL_T
Definition typeinfo.h:168
@ PCB_DRILL_MAP_T
class PCB_DRILL_MAP, drill symbols drawn at the holes
Definition typeinfo.h:240
@ PCB_GROUP_T
class PCB_GROUP, a set of BOARD_ITEMs
Definition typeinfo.h:103
@ SCH_TABLECELL_T
Definition typeinfo.h:162
@ PCB_TEXTBOX_T
class PCB_TEXTBOX, wrapped text on a layer
Definition typeinfo.h:85
@ PCB_ZONE_T
class ZONE, a copper pour area
Definition typeinfo.h:100
@ SCH_FIELD_T
Definition typeinfo.h:146
@ PCB_TEXT_T
class PCB_TEXT, text on a layer
Definition typeinfo.h:84
@ SCH_DIRECTIVE_LABEL_T
Definition typeinfo.h:167
@ SCH_LABEL_T
Definition typeinfo.h:163
@ SCH_SHEET_T
Definition typeinfo.h:171
@ PCB_3D_BODY_T
class PCB_3D_BODY, a 3D body (extruded or model) on a footprint
Definition typeinfo.h:241
@ PCB_REFERENCE_IMAGE_T
class PCB_REFERENCE_IMAGE, bitmap on a layer
Definition typeinfo.h:81
@ SCH_MARKER_T
Definition typeinfo.h:154
@ SCH_SHAPE_T
Definition typeinfo.h:145
@ WSG_POLY_T
Definition typeinfo.h:214
@ SCH_RULE_AREA_T
Definition typeinfo.h:166
@ PCB_FIELD_T
class PCB_FIELD, text associated with a footprint property
Definition typeinfo.h:82
@ SCH_HIER_LABEL_T
Definition typeinfo.h:165
@ PCB_MARKER_T
class PCB_MARKER, a marker used to show something
Definition typeinfo.h:91
@ WSG_LINE_T
Definition typeinfo.h:212
@ SCH_BUS_BUS_ENTRY_T
Definition typeinfo.h:158
@ PCB_BARCODE_T
class PCB_BARCODE, a barcode (graphic item)
Definition typeinfo.h:93
@ WSG_TEXT_T
Definition typeinfo.h:215
@ PCB_TABLECELL_T
class PCB_TABLECELL, PCB_TEXTBOX for use in tables
Definition typeinfo.h:87
@ PCB_FOOTPRINT_T
class FOOTPRINT, a footprint
Definition typeinfo.h:78
@ SCH_SHEET_PIN_T
Definition typeinfo.h:170
@ PCB_GRID_ITEM_T
a subgrid placed on a board
Definition typeinfo.h:238
@ SCH_TEXT_T
Definition typeinfo.h:147
@ WSG_PAGE_T
Definition typeinfo.h:217
@ PCB_PAD_T
class PAD, a pad in a footprint
Definition typeinfo.h:79
@ WSG_RECT_T
Definition typeinfo.h:213
@ SCH_BUS_WIRE_ENTRY_T
Definition typeinfo.h:157
@ SCH_BITMAP_T
Definition typeinfo.h:160
@ PCB_ARC_T
class PCB_ARC, an arc track segment on a copper layer
Definition typeinfo.h:90
@ PCB_DIMENSION_T
class PCB_DIMENSION_BASE: abstract dimension meta-type
Definition typeinfo.h:92
@ PCB_TABLE_T
class PCB_TABLE, table of PCB_TABLECELLs
Definition typeinfo.h:86
@ SCH_TEXTBOX_T
Definition typeinfo.h:148
@ WSG_BITMAP_T
Definition typeinfo.h:216
@ PCB_POINT_T
class PCB_POINT, a 0-dimensional point
Definition typeinfo.h:105
@ PCB_TRACE_T
class PCB_TRACK, a track segment (segment on a copper layer)
Definition typeinfo.h:88
@ PCB_DRILL_CHART_T
class PCB_DRILL_CHART, a live drill chart derived from PCB_TABLE
Definition typeinfo.h:239
@ SCH_GLOBAL_LABEL_T
Definition typeinfo.h:164
@ SCH_JUNCTION_T
Definition typeinfo.h:155
@ SCH_PIN_T
Definition typeinfo.h:149