23#include <api/board/board_types.pb.h> 
   24#include <api/board/board_commands.pb.h> 
   39using namespace kiapi::board::commands;
 
   52        wxCHECK_MSG( 
false, types::PadType::PT_UNKNOWN,
 
   53                     "Unhandled case in ToProtoEnum<PAD_ATTRIB>");
 
 
   63    case types::PadType::PT_UNKNOWN:
 
   71                     "Unhandled case in FromProtoEnum<types::PadType>" );
 
 
   84        wxCHECK_MSG( 
false, types::DrillShape::DS_UNKNOWN,
 
   85                     "Unhandled case in ToProtoEnum<PAD_DRILL_SHAPE>");
 
 
   96    case types::DrillShape::DS_UNKNOWN:
 
  100                     "Unhandled case in FromProtoEnum<types::DrillShape>" );
 
 
  118        wxCHECK_MSG( 
false, types::PadStackShape::PSS_UNKNOWN,
 
  119                     "Unhandled case in ToProtoEnum<PAD_SHAPE>");
 
 
  129    case types::PadStackShape::PSS_UNKNOWN:
 
  140                     "Unhandled case in FromProtoEnum<types::PadStackShape>" );
 
 
  155        wxCHECK_MSG( 
false, types::PadStackType::PST_UNKNOWN,
 
  156                     "Unhandled case in ToProtoEnum<PADSTACK::MODE>");
 
 
  166    case types::PadStackType::PST_UNKNOWN:
 
  173                     "Unhandled case in FromProtoEnum<types::PadStackType>" );
 
 
  189        wxCHECK_MSG( 
false, types::ViaType::VT_UNKNOWN,
 
  190                     "Unhandled case in ToProtoEnum<VIATYPE>");
 
 
  200    case types::ViaType::VT_UNKNOWN:
 
  209                     "Unhandled case in FromProtoEnum<types::ViaType>" );
 
 
  226        wxCHECK_MSG( 
false, types::ZoneConnectionStyle::ZCS_UNKNOWN,
 
  227                     "Unhandled case in ToProtoEnum<ZONE_CONNECTION>");
 
 
  246                     "Unhandled case in FromProtoEnum<types::ZoneConnectionStyle>" );
 
 
  257        return types::UnconnectedLayerRemoval::ULR_KEEP;
 
  260        return types::UnconnectedLayerRemoval::ULR_REMOVE;
 
  263        return types::UnconnectedLayerRemoval::ULR_REMOVE_EXCEPT_START_AND_END;
 
  266        return types::UnconnectedLayerRemoval::ULR_START_END_ONLY;
 
  269        wxCHECK_MSG( 
false, types::UnconnectedLayerRemoval::ULR_UNKNOWN,
 
  270                     "Unhandled case in ToProtoEnum<PADSTACK::UNCONNECTED_LAYER_MODE>");
 
 
  280    case types::UnconnectedLayerRemoval::ULR_UNKNOWN:
 
  281    case types::UnconnectedLayerRemoval::ULR_KEEP:
 
  284    case types::UnconnectedLayerRemoval::ULR_REMOVE:
 
  287    case types::UnconnectedLayerRemoval::ULR_REMOVE_EXCEPT_START_AND_END:
 
  290    case types::UnconnectedLayerRemoval::ULR_START_END_ONLY:
 
  295                     "Unhandled case in FromProtoEnum<types::UnconnectedLayerRemoval>");
 
 
  310        wxCHECK_MSG( 
false, types::IslandRemovalMode::IRM_UNKNOWN,
 
  311                     "Unhandled case in ToProtoEnum<ISLAND_REMOVAL_MODE>");
 
 
  321    case types::IslandRemovalMode::IRM_UNKNOWN:
 
  328                     "Unhandled case in FromProtoEnum<types::IslandRemovalMode>" );
 
 
  342        wxCHECK_MSG( 
false, types::ZoneFillMode::ZFM_UNKNOWN,
 
  343                     "Unhandled case in ToProtoEnum<ZONE_FILL_MODE>");
 
 
  353    case types::ZoneFillMode::ZFM_UNKNOWN:
 
  359                     "Unhandled case in FromProtoEnum<types::ZoneFillMode>" );
 
 
  375        wxCHECK_MSG( 
false, types::ZoneBorderStyle::ZBS_UNKNOWN,
 
  376                     "Unhandled case in ToProtoEnum<ZONE_BORDER_DISPLAY_STYLE>");
 
 
  388    case types::ZoneBorderStyle::ZBS_UNKNOWN:
 
  394                     "Unhandled case in FromProtoEnum<types::ZoneHatchBorderMode>" );
 
 
  405        return types::PlacementRuleSourceType::PRST_SHEET_NAME;
 
  408        return types::PlacementRuleSourceType::PRST_COMPONENT_CLASS;
 
  411        return types::PlacementRuleSourceType::PRST_GROUP;
 
  414        return types::PlacementRuleSourceType::PRST_DESIGN_BLOCK;
 
  417        wxCHECK_MSG( 
false, types::PlacementRuleSourceType::PRST_UNKNOWN,
 
  418                     "Unhandled case in ToProtoEnum<PLACEMENT_SOURCE_T>");
 
 
  428    case types::PlacementRuleSourceType::PRST_UNKNOWN:
 
  429    case types::PlacementRuleSourceType::PRST_SHEET_NAME:
 
  432    case types::PlacementRuleSourceType::PRST_COMPONENT_CLASS:
 
  435    case types::PlacementRuleSourceType::PRST_GROUP:
 
  438    case types::PlacementRuleSourceType::PRST_DESIGN_BLOCK:
 
  443                     "Unhandled case in FromProtoEnum<types::PlacementRuleSourceType>" );
 
 
  459        wxCHECK_MSG( 
false, types::TeardropType::TDT_UNKNOWN,
 
  460                     "Unhandled case in ToProtoEnum<TEARDROP_TYPE>");
 
 
  470    case types::TeardropType::TDT_UNKNOWN:
 
  478                     "Unhandled case in FromProtoEnum<types::ZoneHatchBorderMode>" );
 
 
  494        wxCHECK_MSG( 
false, types::DimensionTextBorderStyle::DTBS_UNKNOWN,
 
  495                     "Unhandled case in ToProtoEnum<DIM_TEXT_BORDER>");
 
 
  505    case types::DimensionTextBorderStyle::DTBS_UNKNOWN:
 
  513                     "Unhandled case in FromProtoEnum<types::DimensionTextBorderStyle>" );
 
 
  528        wxCHECK_MSG( 
false, types::DimensionUnitFormat::DUF_UNKNOWN,
 
  529                     "Unhandled case in ToProtoEnum<DIM_UNITS_FORMAT>");
 
 
  539    case types::DimensionUnitFormat::DUF_UNKNOWN:
 
  546                     "Unhandled case in FromProtoEnum<types::DimensionUnitFormat>" );
 
 
  560        wxCHECK_MSG( 
false, types::DimensionArrowDirection::DAD_UNKNOWN,
 
  561                     "Unhandled case in ToProtoEnum<DIM_ARROW_DIRECTION>");
 
 
  572    case types::DimensionArrowDirection::DAD_UNKNOWN:
 
  577                     "Unhandled case in FromProtoEnum<types::DimensionArrowDirection>" );
 
 
  599        wxCHECK_MSG( 
false, types::DimensionPrecision::DP_UNKNOWN,
 
  600                     "Unhandled case in ToProtoEnum<DIM_PRECISION>");
 
 
  616    case types::DimensionPrecision::DP_UNKNOWN:
 
  624                     "Unhandled case in FromProtoEnum<types::DimensionPrecision>" );
 
 
  639        wxCHECK_MSG( 
false, types::DimensionTextPosition::DTP_UNKNOWN,
 
  640                     "Unhandled case in ToProtoEnum<DIM_TEXT_POSITION>");
 
 
  650    case types::DimensionTextPosition::DTP_UNKNOWN:
 
  657                     "Unhandled case in FromProtoEnum<types::DimensionTextPosition>" );
 
 
  673        wxCHECK_MSG( 
false, types::DimensionUnit::DU_UNKNOWN,
 
  674                     "Unhandled case in ToProtoEnum<DIM_UNITS_MODE>");
 
 
  687    case types::DimensionUnit::DU_UNKNOWN:
 
  692                     "Unhandled case in FromProtoEnum<types::DimensionUnit>" );
 
 
  707        wxCHECK_MSG( 
false, commands::InactiveLayerDisplayMode::ILDM_NORMAL,
 
  708                     "Unhandled case in ToProtoEnum<HIGH_CONTRAST_MODE>");
 
 
  720    case commands::InactiveLayerDisplayMode::ILDM_UNKNOWN:
 
  725                     "Unhandled case in FromProtoEnum<commands::InactiveLayerDisplayMode>" );
 
 
  740        wxCHECK_MSG( 
false, commands::NetColorDisplayMode::NCDM_UNKNOWN,
 
  741                     "Unhandled case in ToProtoEnum<NET_COLOR_MODE>");
 
 
  753    case commands::NetColorDisplayMode::NCDM_UNKNOWN:
 
  758                     "Unhandled case in FromProtoEnum<commands::NetColorDisplayMode>" );
 
 
  772        wxCHECK_MSG( 
false, commands::RatsnestDisplayMode::RDM_UNKNOWN,
 
  773                     "Unhandled case in ToProtoEnum<RATSNEST_MODE>");
 
 
  784    case commands::RatsnestDisplayMode::RDM_UNKNOWN:
 
  789                     "Unhandled case in FromProtoEnum<commands::RatsnestDisplayMode>" );
 
 
  807        wxCHECK_MSG( 
false, BoardStackupLayerType::BSLT_UNKNOWN,
 
  808                     "Unhandled case in ToProtoEnum<BOARD_STACKUP_ITEM_TYPE>");
 
 
  827                     "Unhandled case in FromProtoEnum<BoardStackupLayerType>" );
 
 
  846        wxCHECK_MSG( 
false, DrcSeverity::DRS_UNDEFINED,
 
  847                     "Unhandled case in ToProtoEnum<SEVERITY>");
 
 
  864    case DrcSeverity::DRS_UNKNOWN:
 
 
types::PadType ToProtoEnum(PAD_ATTRIB aValue)
 
PAD_ATTRIB FromProtoEnum(types::PadType aValue)
 
HIGH_CONTRAST_MODE
Determine how inactive layers should be displayed.
 
@ NORMAL
Inactive layers are shown normally (no high-contrast mode)
 
@ HIDDEN
Inactive layers are hidden.
 
@ DIMMED
Inactive layers are dimmed (old high-contrast mode)
 
@ RATSNEST
Net/netclass colors are shown on ratsnest lines only.
 
@ ALL
Net/netclass colors are shown on all net copper.
 
@ OFF
Net (and netclass) colors are not shown.
 
@ VISIBLE
Ratsnest lines are drawn to items on visible layers only.
 
@ ALL
Ratsnest lines are drawn to items on all layers (default)
 
@ BS_ITEM_TYPE_SILKSCREEN
 
@ BS_ITEM_TYPE_DIELECTRIC
 
@ BS_ITEM_TYPE_SOLDERPASTE
 
@ BS_ITEM_TYPE_SOLDERMASK
 
MODE
! Copper geometry mode: controls how many unique copper layer shapes this padstack has
 
@ NORMAL
Shape is the same on all layers.
 
@ CUSTOM
Shapes can be defined on arbitrary layers.
 
@ FRONT_INNER_BACK
Up to three shapes can be defined (F_Cu, inner copper layers, B_Cu)
 
UNCONNECTED_LAYER_MODE
! Whether or not to remove the copper shape for unconnected layers
 
@ REMOVE_EXCEPT_START_AND_END
 
PAD_DRILL_SHAPE
The set of pad drill shapes, used with PAD::{Set,Get}DrillShape()
 
PAD_ATTRIB
The set of pad shapes, used with PAD::{Set,Get}Attribute().
 
@ NPTH
like PAD_PTH, but not plated mechanical use only, no connection allowed
 
@ SMD
Smd pad, appears on the solder paste layer (default)
 
@ PTH
Plated through hole pad.
 
@ CONN
Like smd, does not appear on the solder paste layer (default) Note: also has a special attribute in G...
 
PAD_SHAPE
The set of pad shapes, used with PAD::{Set,Get}Shape()
 
DIM_TEXT_POSITION
Where to place the text on a dimension.
 
@ OUTSIDE
Text appears outside the dimension line (default)
 
@ MANUAL
Text placement is manually set by the user.
 
@ INLINE
Text appears in line with the dimension line.
 
DIM_UNITS_FORMAT
How to display the units in a dimension's text.
 
DIM_UNITS_MODE
Used for storing the units selection in the file because EDA_UNITS alone doesn't cut it.
 
DIM_ARROW_DIRECTION
Used for dimension's arrow.
 
DIM_TEXT_BORDER
Frame to show around dimension text.
 
TEARDROP_TYPE
define the type of a teardrop: on a via or pad, or a track end
 
Class ZONE_SETTINGS used to handle zones parameters in dialogs.
 
ISLAND_REMOVAL_MODE
Whether or not to remove isolated islands from a zone.
 
ZONE_BORDER_DISPLAY_STYLE
Zone border styles.
 
ZONE_CONNECTION
How pads are covered by copper in zone.
 
@ THERMAL
Use thermal relief for pads.
 
@ THT_THERMAL
Thermal relief only for THT pads.
 
@ NONE
Pads are not covered.
 
@ FULL
pads are covered by copper