KiCad PCB EDA Suite
Loading...
Searching...
No Matches
idf_helpers.h File Reference
#include <wx/string.h>
#include <iostream>
#include <string>
#include <io/idf/idf_common.h>

Go to the source code of this file.

Namespaces

namespace  IDF3
 

Macros

#define TO_UTF8(wxstring)
 Convert a wxString to a UTF8 encoded C string for all wxWidgets build modes.
 
#define ERROR_IDF   std::cerr << "* " << __FILE__ << ":" << __LINE__ << ":" << __FUNCTION__ << "(): "
 
#define IDF_MIN_DIA_MM   ( 0.001 )
 
#define IDF_MIN_DIA_THOU   ( 0.00039 )
 
#define IDF_MIN_DIA_TNM   ( 100 )
 
#define IDF_THOU_TO_MM   0.0254
 
#define IDF_TNM_TO_MM   0.00001
 

Functions

static wxString From_UTF8 (const char *cstring)
 Convert a UTF8 encoded C string to a wxString for all wxWidgets build modes.
 
bool IDF3::FetchIDFLine (std::istream &aModel, std::string &aLine, bool &isComment, std::streampos &aFilePos)
 Retrieve a single line from an IDF file and performs minimal processing.
 
bool IDF3::GetIDFString (const std::string &aLine, std::string &aIDFString, bool &hasQuotes, int &aIndex)
 Parse a line retrieved via FetchIDFLine() and returns the first IDF string found from the starting point aIndex.
 
bool IDF3::CompareToken (const char *aTokenString, const std::string &aInputString)
 Perform a case-insensitive comparison of a token string and an input string.
 
bool IDF3::ParseOwner (const std::string &aToken, IDF3::KEY_OWNER &aOwner)
 Parse the input string for a valid IDF Owner type.
 
bool IDF3::ParseIDFLayer (const std::string &aToken, IDF3::IDF_LAYER &aLayer)
 Parse an input string for a valid IDF layer specification.
 
bool IDF3::WriteLayersText (std::ostream &aBoardFile, IDF3::IDF_LAYER aLayer)
 Write out text corresponding to the given IDF Layer type.
 
std::string IDF3::GetPlacementString (IDF3::IDF_PLACEMENT aPlacement)
 Return a string representing the given IDF Placement type.
 
std::string IDF3::GetLayerString (IDF3::IDF_LAYER aLayer)
 Return a string representing the given IDF Layer type.
 
std::string IDF3::GetOwnerString (IDF3::KEY_OWNER aOwner)
 

Macro Definition Documentation

◆ ERROR_IDF

◆ IDF_MIN_DIA_MM

#define IDF_MIN_DIA_MM   ( 0.001 )

Definition at line 58 of file idf_helpers.h.

Referenced by IDF3_BOARD::AddSlot(), and IDF_DRILL_DATA::read().

◆ IDF_MIN_DIA_THOU

#define IDF_MIN_DIA_THOU   ( 0.00039 )

Definition at line 59 of file idf_helpers.h.

Referenced by IDF_DRILL_DATA::read().

◆ IDF_MIN_DIA_TNM

#define IDF_MIN_DIA_TNM   ( 100 )

Definition at line 60 of file idf_helpers.h.

Referenced by IDF_DRILL_DATA::read().

◆ IDF_THOU_TO_MM

◆ IDF_TNM_TO_MM

◆ TO_UTF8

#define TO_UTF8 ( wxstring)
Value:
( (const char*) (wxstring).utf8_str() )

Convert a wxString to a UTF8 encoded C string for all wxWidgets build modes.

wxstring is a wxString, not a wxT() or _(). The scope of the return value is very limited and volatile, but can be used with printf() style functions well.

NOTE: Taken from KiCad include/macros.h

Definition at line 37 of file idf_helpers.h.

Referenced by IMPORT_PROJ_HELPER::addLocalLibraries(), TEMPLATES::AddTemplateFieldNames(), SCH_REFERENCE::Annotate(), DXF_PLOTTER::Arc(), DSN::SPECCTRA_DB::buildLayerMaps(), DXF_PLOTTER::Circle(), DRC_ENGINE::compileRules(), EDA_TEXT::containsURL(), CONVERT_SETTINGS_DIALOG::CONVERT_SETTINGS_DIALOG(), PCBNEW_JOBS_HANDLER::convertLayerArg(), PL_EDIT_TOOL::Copy(), CopySexprFile(), GENCAD_EXPORTER::createComponentsSection(), GENCAD_EXPORTER::createDevicesSection(), EXCELLON_WRITER::createDrillFile(), ODB_FILE_WRITER::CreateODBFile(), GENCAD_EXPORTER::createShapesSection(), GENCAD_EXPORTER::createSignalsSection(), DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS(), DIALOG_EXCHANGE_FOOTPRINTS::DIALOG_EXCHANGE_FOOTPRINTS(), DIALOG_EXPORT_2581::DIALOG_EXPORT_2581(), DIALOG_EXPORT_2581::DIALOG_EXPORT_2581(), DIALOG_EXPORT_NETLIST::DIALOG_EXPORT_NETLIST(), DIALOG_EXPORT_ODBPP::DIALOG_EXPORT_ODBPP(), DIALOG_EXPORT_ODBPP::DIALOG_EXPORT_ODBPP(), DIALOG_EXPORT_STEP::DIALOG_EXPORT_STEP(), DIALOG_FOOTPRINT_FIELDS_TABLE::DIALOG_FOOTPRINT_FIELDS_TABLE(), DIALOG_GEN_FOOTPRINT_POSITION::DIALOG_GEN_FOOTPRINT_POSITION(), DIALOG_GEN_FOOTPRINT_POSITION::DIALOG_GEN_FOOTPRINT_POSITION(), DIALOG_GENCAD_EXPORT_OPTIONS::DIALOG_GENCAD_EXPORT_OPTIONS(), DIALOG_GENDRILL::DIALOG_GENDRILL(), DIALOG_GENDRILL::DIALOG_GENDRILL(), DIALOG_GRID_ITEM_PROPERTIES::DIALOG_GRID_ITEM_PROPERTIES(), DIALOG_LABEL_PROPERTIES::DIALOG_LABEL_PROPERTIES(), DIALOG_PAGES_SETTINGS::DIALOG_PAGES_SETTINGS(), DIALOG_PLOT::DIALOG_PLOT(), DIALOG_PLOT_SCHEMATIC::DIALOG_PLOT_SCHEMATIC(), DIALOG_SHAPE_PROPERTIES::DIALOG_SHAPE_PROPERTIES(), DIALOG_SHAPE_PROPERTIES::DIALOG_SHAPE_PROPERTIES(), DIALOG_SYMBOL_FIELDS_TABLE::DIALOG_SYMBOL_FIELDS_TABLE(), DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), PCB_DRAW_PANEL_GAL::DisplayBoard(), SCH_EDIT_FRAME::DisplayCurrentSheet(), KIGFX::SCH_VIEW::DisplaySheet(), IMPORT_PROJ_HELPER::doImport(), KIFONT::FONT::drawMarkup(), EDA_LIST_DIALOG::EDA_LIST_DIALOG(), EDA_REORDERABLE_LIST_DIALOG::EDA_REORDERABLE_LIST_DIALOG(), EscapedUTF8(), GERBER_FILE_IMAGE::ExecuteRS274XCommand(), IDF_EXPORTER::Export(), IDF_EXPORTER::exportFootprint(), IDF_EXPORTER::exportFootprintIdfModels(), EXPORTER_PCB_VRML::ExportFp3DModelsAsLinkedFile(), DSN::SPECCTRA_DB::exportNETCLASS(), DSN::SPECCTRA_DB::ExportPCB(), SIMULATOR_CONTROL::ExportPlotToSchematic(), EXPORTER_PCB_VRML::ExportVRML_File(), EXPORTER_PCB_VRML::ExportVrmlFootprint(), PROJECT_TREE_PANE::FileWatcherReset(), PCB_IO_KICAD_LEGACY::FootprintLoad(), GENCAD_EXPORTER::footprintWriteShape(), LINE_ENDING::Format(), SCH_IO_KICAD_LEGACY::Format(), STROKE_PARAMS::Format(), XNODE::Format(), PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), XNODE::FormatContents(), NETLIST_EXPORTER_ALLEGRO::formatFunction(), GERBER_PLOTTER::formatNetAttribute(), KICAD_FORMAT::FormatStreamData(), DSN::SPECCTRA_DB::FromBOARD(), BOARD_EDITOR_CONTROL::GenBOMFileFromBoard(), GENDRILL_WRITER_BASE::GenDrillReportFile(), PCB_IO_IPC2581::generateAuxilliaryLayers(), PCB_IO_IPC2581::generateLayerSetAuxilliary(), PLACE_FILE_EXPORTER::GenPositionData(), PLACE_FILE_EXPORTER::GenReportData(), IDF3_BOARD::GetComponentOutline(), KIGIT::PROJECT_GIT_UTILS::GetCurrentHash(), EESCHEMA_JOBS_HANDLER::getDrawingSheetProxyView(), PCBNEW_JOBS_HANDLER::getDrawingSheetProxyView(), PCB_IO_GEDA::getFootprint(), LIBRARY_TABLE_ROW::GetOptionsMap(), PCB_IO_KICAD_SEXPR_PARSER::init(), PCBNEW_JOBS_HANDLER::JobExportStackup(), PCBNEW_JOBS_HANDLER::JobExportStats(), SCH_EDIT_FRAME::KiwayMailIn(), GPCB_FPL_CACHE::Load(), LEGACY_SYMBOL_LIBS::LoadAllLibraries(), KICAD_API_SERVER::log(), main(), DSN::SPECCTRA_DB::makeIMAGE(), EESCHEMA_SETTINGS::migrateBomSettings(), DIALOG_PLUGIN_OPTIONS::onListBoxItemSelected(), SCH_PRINTOUT::OnPrintPage(), padShapeName(), PCB_IO_KICAD_SEXPR::Parse(), DSN::PARSER::PARSER(), DXF_PLOTTER::PenTo(), DXF_PLOTTER::plotOneLineOfText(), IDF3_BOARD::ReadFile(), GERBER_JOBFILE_READER::ReadGerberJobFile(), RecreateCmpFile(), DXF_PLOTTER::Rect(), GPCB_FPL_CACHE::Remove(), PDF_PLOTTER::renderWord(), WX_FILENAME::ResolvePossibleSymlinks(), DS_PROXY_UNDO_ITEM::Restore(), DSN::sanitizeForDSNString(), SCH_IO_KICAD_LEGACY::saveBusAlias(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveDocFile(), GERBV::IFACE::SaveFileAs(), SCH_IO_KICAD_LEGACY::saveLine(), SCH_IO_KICAD_SEXPR::saveLine(), SCH_IO_KICAD_LEGACY_LIB_CACHE::savePin(), DIALOG_BOARD_STATISTICS::saveReportClicked(), SCH_IO_KICAD_LEGACY_LIB_CACHE::SaveSymbol(), SCH_IO_KICAD_LEGACY::saveSymbol(), SCH_IO_KICAD_LEGACY::saveText(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveText(), PCB_EDIT_FRAME::SetPageSettings(), PROJECT::setProjectFullName(), DIALOG_EXPORT_IDF3::setupDialog(), DXF_PLOTTER::StartPlot(), GERBER_PLOTTER::StartPlot(), PS_PLOTTER::StartPlot(), SVG_PLOTTER::StartPlot(), KIGFX::SCH_VIEW::syncDrawingSheetToCurrentSheet(), ERC_TESTER::TestPinToPin(), SVG_PLOTTER::Text(), NETLIST_EXPORTER_ALLEGRO::toAllegroNets(), NETLIST_EXPORTER_ALLEGRO::toAllegroPackageProperties(), NETLIST_EXPORTER_ALLEGRO::toAllegroPackages(), toUTFTildaText(), DIALOG_PLUGIN_OPTIONS::TransferDataFromWindow(), DIALOG_PRINT::TransferDataFromWindow(), DIALOG_PLUGIN_OPTIONS::TransferDataToWindow(), KIFONT::FONT::wordbreakMarkup(), EDA_DATA::Write(), IPC356D_WRITER::Write(), IPC356D_WRITER::write_D356_records(), EXCELLON_WRITER::writeCoordinates(), SPICE_CIRCUIT_MODEL::WriteDirectives(), EXCELLON_WRITER::writeEXCELLONHeader(), IDF3_BOARD::WriteFile(), NETLIST_EXPORTER_SPICE_MODEL::WriteHead(), NETLIST_EXPORTER_SPICE::writeInclude(), NETLIST_EXPORTER_CADSTAR::writeListOfNets(), NETLIST_EXPORTER_PADS::writeListOfNets(), NETLIST_EXPORTER_ALLEGRO::writeNetlist(), NETLIST_EXPORTER_CADSTAR::writeNetlist(), NETLIST_EXPORTER_ORCADPCB2::writeNetlist(), NETLIST_EXPORTER_PADS::writeNetlist(), EXCELLON_WRITER::writePostMachiningComment(), HYPERLYNX_EXPORTER::writeStackupInfo(), DRC_REPORT::WriteTextReport(), WX_MULTI_ENTRY_DIALOG::WX_MULTI_ENTRY_DIALOG(), WX_PT_ENTRY_DIALOG::WX_PT_ENTRY_DIALOG(), WX_TEXT_ENTRY_DIALOG::WX_TEXT_ENTRY_DIALOG(), and WX_UNIT_ENTRY_DIALOG::WX_UNIT_ENTRY_DIALOG().

Function Documentation

◆ From_UTF8()

static wxString From_UTF8 ( const char * cstring)
inlinestatic

Convert a UTF8 encoded C string to a wxString for all wxWidgets build modes.

NOTE: Taken from KiCad include/macros.h

Definition at line 44 of file idf_helpers.h.

Referenced by CLI::DIFF_COMMAND< JOB_FP_DIFF >::addCommonArgs(), DXF_IMPORT_PLUGIN::addLinetype(), SCH_REFERENCE::Annotate(), CLI::PCB_EXPORT_BASE_COMMAND::applyFabExportArgs(), SCH_EDITOR_CONTROL::AssignFootprints(), MARKUP::NODE::asWxString(), CVPCB_MAINFRAME::buildEquivalenceList(), PLACEFILE_GERBER_WRITER::CreatePlaceFile(), DIALOG_PLUGIN_OPTIONS::DIALOG_PLUGIN_OPTIONS(), IMPORT_PROJ_HELPER::doImport(), CLI::DIFF_COMMAND< JOB_T >::doPerform(), CLI::EXPORT_BOM_COMMAND::doPerform(), CLI::FP_EXPORT_SVG_COMMAND::doPerform(), CLI::GERBER_CONVERT_PNG_COMMAND::doPerform(), CLI::GERBER_DIFF_COMMAND::doPerform(), CLI::GERBER_INFO_COMMAND::doPerform(), CLI::GIT_MERGEDRIVER_COMMAND::doPerform(), CLI::IMPORT_COMMAND::doPerform(), CLI::JOBSET_RUN_COMMAND::doPerform(), CLI::MERGETOOL_COMMAND::doPerform(), CLI::PCB_DRC_COMMAND::doPerform(), CLI::PCB_EXPORT_3D_COMMAND::doPerform(), CLI::PCB_EXPORT_DRILL_COMMAND::doPerform(), CLI::PCB_EXPORT_DXF_COMMAND::doPerform(), CLI::PCB_EXPORT_GERBERS_COMMAND::doPerform(), CLI::PCB_EXPORT_IPC2581_COMMAND::doPerform(), CLI::PCB_EXPORT_ODB_COMMAND::doPerform(), CLI::PCB_EXPORT_PDF_COMMAND::doPerform(), CLI::PCB_EXPORT_PNG_COMMAND::doPerform(), CLI::PCB_EXPORT_POS_COMMAND::doPerform(), CLI::PCB_EXPORT_PS_COMMAND::doPerform(), CLI::PCB_EXPORT_STACKUP_COMMAND::doPerform(), CLI::PCB_EXPORT_STATS_COMMAND::doPerform(), CLI::PCB_EXPORT_SVG_COMMAND::doPerform(), CLI::PCB_IMPORT_COMMAND::doPerform(), CLI::SCH_ERC_COMMAND::doPerform(), CLI::SCH_EXPORT_NETLIST_COMMAND::doPerform(), CLI::SCH_EXPORT_PLOT_COMMAND::doPerform(), CLI::SCH_IMPORT_COMMAND::doPerform(), CLI::SYM_EXPORT_SVG_COMMAND::doPerform(), CLI::VERSION_COMMAND::doPerform(), calc_parser::EVAL_VISITOR::evaluateFunction(), EXCELLON_IMAGE::Execute_EXCELLON_G_Command(), PCB_EDIT_FRAME::ExecuteRemoteCommand(), SCH_EDIT_FRAME::ExecuteRemoteCommand(), IDF_EXPORTER::Export(), EXPORTER_PCB_VRML::ExportVRML_File(), PCB_IO_GEDA::FootprintEnumerate(), PCB_IO_KICAD_LEGACY::FootprintEnumerate(), GERBER_JOBFILE_READER::formatStringFromJSON(), DSN::SPECCTRA_DB::FromSESSION(), BOARD_EDITOR_CONTROL::GenBOMFileFromBoard(), GENDRILL_WRITER_BASE::genDrillMapFile(), getColorOrIntensity(), fontconfig::FONTCONFIG::getFamilyStringByLang(), SEXPR::PARSER::GetFileContents(), DISPLAY_FOOTPRINTS_FRAME::GetFootprint(), BACK_ANNOTATE::getPcbModulesFromString(), getToVector3(), NETLIST_READER::GuessNetlistFileType(), PGM_BASE::HandleException(), SCH_EDITOR_CONTROL::IncrementAnnotations(), EDA_3D_CANVAS::initializeOpenGL(), fontconfig::FONTCONFIG::ListFonts(), CMP_READER::Load(), LEGACY_NETLIST_READER::loadComponent(), PCB_IO_KICAD_LEGACY::loadDIMENSION(), SCH_IO_KICAD_LEGACY_LIB_CACHE::loadDocs(), PCB_IO_KICAD_LEGACY::loadFOOTPRINT(), LEGACY_NETLIST_READER::loadFootprintFilters(), LoadLayerMapFile(), LEGACY_NETLIST_READER::loadNet(), PCB_IO_KICAD_LEGACY::loadNETCLASS(), PCB_IO_KICAD_LEGACY::loadNETINFO_ITEM(), PCB_IO_KICAD_LEGACY::loadPAD(), PCB_IO_KICAD_LEGACY::loadPCB_TEXT(), PCB_IO_KICAD_LEGACY::loadSETUP(), PCB_IO_KICAD_LEGACY::loadSHEET(), SCH_IO_KICAD_LEGACY::loadText(), main(), DSN::SPECCTRA_DB::makeARC(), DSN::SPECCTRA_DB::makeTRACK(), DSN::SPECCTRA_DB::makeVIA(), EDA_3D_MODEL_VIEWER::ogl_initialize(), APP_TEST::OnInit(), APP_TEST::OnRun(), PCB_PLOT_PARAMS_PARSER::Parse(), TEMPLATE_FIELDNAME::Parse(), X2_ATTRIBUTE::ParseAttribCmd(), KICAD_NETLIST_PARSER::parseComponent(), PCB_IO_KICAD_SEXPR_PARSER::parseFOOTPRINT_unchecked(), KICAD_NETLIST_PARSER::parseGroup(), PCB_IO_KICAD_SEXPR_PARSER::parseLayer(), KICAD_NETLIST_PARSER::parseLibPartList(), KICAD_NETLIST_PARSER::parseNet(), KICAD_NETLIST_PARSER::parseNetChain(), parseQuotedString(), PCB_CALCULATOR_DATAFILE_PARSER::ParseRegulatorDescr(), PCB_IO_KICAD_SEXPR_PARSER::parseRenderCache(), SCH_IO_KICAD_SEXPR_PARSER::parseSchNetChain(), parseUnquotedString(), KICAD_NETLIST_PARSER::parseVariant(), CLI::PCB_EXPORT_GERBER_COMMAND::populateJob(), CLI::COMMAND::PrintHelp(), printHelp(), SCH_EDITOR_CONTROL::processCmpToFootprintLinkFile(), GERBER_FILE_IMAGE::ReadApertureMacro(), CVPCB_MAINFRAME::readNetListAndFpFiles(), CVPCB_MAINFRAME::refreshAfterSymbolSearch(), REPORTER::Report(), DIALOG_EXCHANGE_FOOTPRINTS::TransferDataToWindow(), DIALOG_PLUGIN_OPTIONS::TransferDataToWindow(), and DS_DATA_MODEL_STRINGIO::~DS_DATA_MODEL_STRINGIO().