KiCad PCB EDA Suite
Loading...
Searching...
No Matches
easyedapro_import_utils.h File Reference
#include <functional>
#include <map>
#include <set>
#include <vector>
#include <wx/stream.h>
#include <wx/string.h>
#include <io/easyedapro/easyedapro_parser.h>
#include <lib_id.h>
#include <nlohmann/json_fwd.hpp>

Go to the source code of this file.

Classes

struct  EASYEDAPRO::V3_DEVICE_DATA
 
struct  EASYEDAPRO::V3_SYMBOL_LIB_ITEM
 Build the schematic-library name map for a v3 .elibz2. More...
 

Namespaces

namespace  EASYEDAPRO
 

Macros

#define EASY_IT_CONTINUE   return false
 
#define EASY_IT_BREAK   return true
 

Functions

wxString EASYEDAPRO::ShortenLibName (wxString aProjectName)
 
LIB_ID EASYEDAPRO::ToKiCadLibID (const wxString &aLibName, const wxString &aLibReference)
 
std::vector< IMPORT_PROJECT_DESCEASYEDAPRO::ProjectToSelectorDialog (const nlohmann::json &aProject, bool aPcbOnly=false, bool aSchOnly=false)
 
nlohmann::json EASYEDAPRO::FindJsonFile (const wxString &aZipFileName, const std::set< wxString > &aFileNames)
 
nlohmann::json EASYEDAPRO::ReadProjectOrDeviceFile (const wxString &aZipFileName)
 
void EASYEDAPRO::IterateZipFiles (const wxString &aFileName, std::function< bool(const wxString &, const wxString &, wxInputStream &)> aCallback)
 
std::vector< nlohmann::json > EASYEDAPRO::ParseJsonLines (wxInputStream &aInput, const wxString &aSource)
 
std::vector< std::vector< nlohmann::json > > EASYEDAPRO::ParseJsonLinesWithSeparation (wxInputStream &aInput, const wxString &aSource)
 Multiple document types (e.g.
 
std::map< wxString, wxString > EASYEDAPRO::AnyMapToStringMap (const std::map< wxString, nlohmann::json > &aInput)
 
nlohmann::json EASYEDAPRO::BuildV3ProjectIndexFromRawDocs (const V3_DOC_PARSER &aParser, bool aIncludeLibraryMetadata=true)
 Build a minimal legacy-style project index from parsed v3 raw documents.
 
std::map< wxString, BLOBEASYEDAPRO::BuildV3BlobMap (const V3_DOC_PARSER &aParser)
 
wxString EASYEDAPRO::GetV3LibraryItemTitle (const nlohmann::json &aMetadata, const wxString &aUuid)
 
wxString EASYEDAPRO::KeywordsFromV3Tags (const nlohmann::json &aTags)
 Build KiCad keywords from a v3 tags object (parent_tag / child_tag name fields).
 
wxString EASYEDAPRO::ResolveDeviceFieldVariables (const wxString &aInput, const std::map< wxString, wxString > &aDeviceAttributes)
 Resolve EasyEDA ={Var} / ={A}text{B} field expressions against device attributes.
 
wxString EASYEDAPRO::NormalizeEasyEDAText (wxString aText)
 Replace EasyEDA temperature glyph (℃) with °C.
 
wxString EASYEDAPRO::MakeUniqueLibName (std::set< wxString > &aUsedNames, const wxString &aName, const wxString &aFallback)
 Allocate a unique library item name, recording it in aUsedNames.
 
std::map< wxString, wxString > EASYEDAPRO::BuildV3DeviceLibNames (nlohmann::json &aProject, const std::map< wxString, PRJ_DEVICE > &aDevices, std::set< wxString > *aUsedNames=nullptr)
 Stable project-lib item names keyed by Device UUID (one entry per Device).
 
wxString EASYEDAPRO::LookupV3DeviceLibName (const nlohmann::json &aProject, const wxString &aDeviceUuid)
 
V3_DEVICE_DATA EASYEDAPRO::GetV3DeviceData (const nlohmann::json &aProject, const wxString &aDeviceUuid)
 
wxString EASYEDAPRO::ResolveV3DeviceValueText (const std::map< wxString, wxString > &aDeviceAttributes)
 Preferred Value text: Value attribute, else Name, with variables resolved.
 
void EASYEDAPRO::ForEachImportedDeviceField (const std::map< wxString, wxString > &aDeviceAttributes, bool aIncludeValue, const std::function< void(const wxString &aKey, const wxString &aValue)> &aCallback)
 Invoke aCallback for each non-empty whitelisted Device field (resolved + normalized).
 
std::map< wxString, V3_SYMBOL_LIB_ITEMEASYEDAPRO::BuildV3SymbolLibraryMap (const V3_DOC_PARSER &aParser)
 
std::map< wxString, wxString > EASYEDAPRO::BuildV3LibraryItemMap (const V3_DOC_PARSER &aParser, const char *aIndexKey, const wxString &aDocType)
 

Macro Definition Documentation

◆ EASY_IT_BREAK

#define EASY_IT_BREAK   return true

◆ EASY_IT_CONTINUE