KiCad PCB EDA Suite
|
A logical library item identifier and consists of various portions much like a URI. More...
#include <lib_id.h>
Public Member Functions | |
LIB_ID () | |
LIB_ID (const wxString &aLibraryName, const wxString &aItemName) | |
This LIB_ID ctor is a special version which ignores the parsing due to symbol names allowing '/' as a valid character. More... | |
int | Parse (const UTF8 &aId, bool aFix=false) |
Parse LIB_ID with the information from aId. More... | |
const UTF8 & | GetLibNickname () const |
Return the logical library name portion of a LIB_ID. More... | |
const wxString | GetUniStringLibNickname () const |
int | SetLibNickname (const UTF8 &aNickname) |
Override the logical library name portion of the LIB_ID to aNickname. More... | |
const UTF8 & | GetLibItemName () const |
const wxString | GetUniStringLibItemName () const |
Get strings for display messages in dialogs. More... | |
int | SetLibItemName (const UTF8 &aLibItemName) |
Override the library item name portion of the LIB_ID to aLibItemName. More... | |
UTF8 | GetSubLibraryName () const |
Some LIB_IDs can have a sub-library identifier in addition to a library nickname. More... | |
void | SetSubLibraryName (const UTF8 &aName) |
const wxString | GetUniStringSubLibraryName () const |
const wxString | GetFullLibraryName () const |
UTF8 | Format () const |
wxString | GetUniStringLibId () const |
bool | IsValid () const |
Check if this LID_ID is valid. More... | |
bool | IsLegacy () const |
void | clear () |
Clear the contents of the library nickname, library entry name. More... | |
bool | empty () const |
int | compare (const LIB_ID &aLibId) const |
Compare the contents of LIB_ID objects by performing a std::string comparison of the library nickname, library entry name. More... | |
bool | operator< (const LIB_ID &aLibId) const |
bool | operator> (const LIB_ID &aLibId) const |
bool | operator== (const LIB_ID &aLibId) const |
bool | operator!= (const LIB_ID &aLibId) const |
Static Public Member Functions | |
static UTF8 | Format (const UTF8 &aLibraryName, const UTF8 &aLibItemName) |
static int | HasIllegalChars (const UTF8 &aLibItemName) |
Examine aLibItemName for invalid LIB_ID item name characters. More... | |
static UTF8 | FixIllegalChars (const UTF8 &aLibItemName, bool aLib) |
Replace illegal LIB_ID item name characters with underscores '_'. More... | |
static unsigned | FindIllegalLibraryNameChar (const UTF8 &aLibraryName) |
Looks for characters that are illegal in library nicknames. More... | |
Static Protected Member Functions | |
static bool | isLegalChar (unsigned aUniChar) |
Tests whether a Unicode character is a legal LIB_ID item name character. More... | |
static bool | isLegalLibraryNameChar (unsigned aUniChar) |
Tests whether a Unicode character is a legal LIB_ID library nickname character. More... | |
Protected Attributes | |
UTF8 | m_libraryName |
The nickname of the library or empty. More... | |
UTF8 | m_itemName |
The name of the entry in the logical library. More... | |
UTF8 | m_subLibraryName |
Optional sub-library name used for grouping within a library. More... | |
A logical library item identifier and consists of various portions much like a URI.
It consists of of a dyad of the library nickname and the name of the item in the library This is a generic library identifier that can be used for any type of library that contains multiple named items such as footprint or symbol libraries.
Example LIB_ID string: "smt:R_0805".
LIB_ID::LIB_ID | ( | const wxString & | aLibraryName, |
const wxString & | aItemName | ||
) |
This LIB_ID ctor is a special version which ignores the parsing due to symbol names allowing '/' as a valid character.
This was causing the symbol names to be truncated at the first occurrence of '/' in the symbol name.
aLibraryName | is the library name used to look up the library item in the LIB_TABLE. |
aItemName | is the name of the library item which is not parsed by the standard LIB_ID::Parse() function. |
Definition at line 91 of file lib_id.cpp.
void LIB_ID::clear | ( | ) |
Clear the contents of the library nickname, library entry name.
Definition at line 42 of file lib_id.cpp.
References UTF8::clear(), m_itemName, m_libraryName, and m_subLibraryName.
Referenced by FOOTPRINT_PREVIEW_WIDGET::DisplayFootprint(), and Parse().
int LIB_ID::compare | ( | const LIB_ID & | aLibId | ) | const |
Compare the contents of LIB_ID objects by performing a std::string comparison of the library nickname, library entry name.
aLibId | is the LIB_ID to compare against. |
Definition at line 159 of file lib_id.cpp.
References UTF8::compare(), m_itemName, and m_libraryName.
Referenced by LIB_SYMBOL::Compare(), operator<(), operator==(), and operator>().
|
inline |
Definition at line 193 of file lib_id.h.
References UTF8::empty(), m_itemName, and m_libraryName.
Referenced by BOARD_NETLIST_UPDATER::addNewFootprint(), CVPCB_ASSOCIATION_TOOL::Associate(), CVPCB_MAINFRAME::AssociateFootprint(), CVPCB_MAINFRAME::AutomaticFootprintMatching(), CVPCB_MAINFRAME::GetComponentIndices(), CMP_READER::Load(), CVPCB_MAINFRAME::readNetListAndFpFiles(), and BOARD_NETLIST_UPDATER::replaceFootprint().
|
static |
Looks for characters that are illegal in library nicknames.
aLibraryName | is the logical library name to be tested. |
Definition at line 242 of file lib_id.cpp.
References isLegalLibraryNameChar().
Referenced by PANEL_SYM_LIB_TABLE::verifyTables(), and PANEL_FP_LIB_TABLE::verifyTables().
Replace illegal LIB_ID item name characters with underscores '_'.
aLibItemName | is the LIB_ID item name to replace illegal characters. |
aLib | True if we are checking library names, false if we are checking item names |
Definition at line 190 of file lib_id.cpp.
References isLegalChar(), isLegalLibraryNameChar(), UTF8::ubegin(), and UTF8::uend().
Referenced by PANEL_FP_LIB_TABLE::browseLibrariesHandler(), PANEL_SYM_LIB_TABLE::browseLibrariesHandler(), SCH_ALTIUM_PLUGIN::getLibName(), SCH_EAGLE_PLUGIN::getLibName(), CADSTAR_SCH_ARCHIVE_PLUGIN::Load(), and Parse().
UTF8 LIB_ID::Format | ( | ) | const |
Definition at line 117 of file lib_id.cpp.
References m_itemName, m_libraryName, and UTF8::size().
Referenced by FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), SCH_SCREEN::AddLibSymbol(), BOARD_NETLIST_UPDATER::addNewFootprint(), CVPCB_ASSOCIATION_TOOL::Associate(), CVPCB_MAINFRAME::AssociateFootprint(), CVPCB_MAINFRAME::BuildSymbolsListBox(), CreateDevicesSection(), DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS(), DIALOG_EXCHANGE_FOOTPRINTS::DIALOG_EXCHANGE_FOOTPRINTS(), RESCUE_SYMBOL_LIB_TABLE_CANDIDATE::FindRescues(), SYMBOL_LIB::FindSymbol(), SYMBOL_VIEWER_FRAME::FinishModal(), PCB_PLUGIN::format(), SCH_SEXPR_PLUGIN::Format(), COMPONENT::Format(), RESCUE_SYMBOL_LIB_TABLE_CANDIDATE::GetActionDescription(), FOOTPRINT::GetFPIDAsString(), SCH_SYMBOL::GetSchSymbolLibraryName(), DIALOG_CHANGE_SYMBOLS::getSymbolReferences(), GetUniStringLibId(), DISPLAY_FOOTPRINTS_FRAME::InitDisplay(), PCB_EDIT_FRAME::LoadFootprints(), DSN::SPECCTRA_DB::makeIMAGE(), SCH_ALTIUM_PLUGIN::ParseImplementation(), RESCUE_SYMBOL_LIB_TABLE_CANDIDATE::PerformAction(), DIALOG_EXCHANGE_FOOTPRINTS::processFootprint(), CVPCB_MAINFRAME::readNetListAndFpFiles(), CVPCB_MAINFRAME::refreshAfterSymbolSearch(), BOARD_NETLIST_UPDATER::replaceFootprint(), RESCUE_SYMBOL_LIB_TABLE_CANDIDATE::RESCUE_SYMBOL_LIB_TABLE_CANDIDATE(), SCH_LEGACY_PLUGIN::saveSymbol(), SCH_SEXPR_PLUGIN::saveSymbol(), PCB_BASE_FRAME::SelectFootprintFromLibTree(), CADSTAR_SCH_ARCHIVE_LOADER::setFootprintOnSymbol(), FOOTPRINTS_LISTBOX::SetSelectedFootprint(), SYMBOL_CANDIDATE::SYMBOL_CANDIDATE(), BOARD_NETLIST_UPDATER::testConnectivity(), DIALOG_SYMBOL_PROPERTIES::TransferDataToWindow(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), BOARD_NETLIST_UPDATER::UpdateNetlist(), and FOOTPRINT_EDIT_FRAME::UpdateTitle().
PARSE_ERROR | if any of the pieces are illegal. |
Definition at line 133 of file lib_id.cpp.
References _, UTF8::c_str(), okLogical(), UTF8::size(), and THROW_PARSE_ERROR.
const wxString LIB_ID::GetFullLibraryName | ( | ) | const |
Definition at line 276 of file lib_id.cpp.
References m_libraryName, m_subLibraryName, and UTF8::wx_str().
Referenced by SYMBOL_VIEWER_FRAME::SetSelectedLibrary().
|
inline |
Definition at line 102 of file lib_id.h.
References m_itemName.
Referenced by SYMBOL_EDITOR_CONTROL::AddSymbol(), BASIC_FOOTPRINT_INFO::BASIC_FOOTPRINT_INFO(), FOOTPRINT_EDIT_FRAME::canCloseWindow(), FOOTPRINT_EDIT_FRAME::ClearModify(), SCH_REFERENCE::CompareLibName(), FOOTPRINT_EDIT_FRAME::DeleteFootprintFromLibrary(), BOARD_INSPECTION_TOOL::DiffFootprint(), EE_INSPECTION_TOOL::DiffSymbol(), FOOTPRINT_PREVIEW_PANEL::DisplayFootprint(), SYMBOL_PREVIEW_WIDGET::DisplaySymbol(), PCBNEW_JOBS_HANDLER::doFpExportSvg(), FOOTPRINT_EDIT_FRAME::DuplicateFootprint(), SYMBOL_EDIT_FRAME::DuplicateSymbol(), SYMBOL_EDITOR_CONTROL::EditSymbol(), PCB_EDIT_FRAME::ExchangeFootprint(), FOOTPRINT_EDIT_FRAME::ExportFootprint(), LIB_TREE_MODEL_ADAPTER::FindItem(), SYMBOL_LIBS::FindLibSymbol(), RESCUE_CASE_CANDIDATE::FindRescues(), RESCUE_SYMBOL_LIB_TABLE_CANDIDATE::FindRescues(), FP_LIB_TABLE::FootprintLoadWithOptionalNickname(), PCB_PLUGIN::FootprintSave(), FP_LIB_TABLE::FootprintSave(), PCB_PLUGIN::format(), FOOTPRINT_INFO_GENERATOR::GenerateHtml(), PLACE_FILE_EXPORTER::GenPositionData(), RESCUE_SYMBOL_LIB_TABLE_CANDIDATE::GetActionDescription(), DISPLAY_FOOTPRINTS_FRAME::GetFootprint(), FOOTPRINT_LIST::GetFootprintInfo(), SYMBOL_EDIT_FRAME::getTargetSymbol(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::GetValue(), FP_TREE_SYNCHRONIZING_ADAPTER::GetValue(), guessNickname(), SYMBOL_EDITOR_CONTROL::Init(), FOOTPRINT_EDITOR_CONTROL::Init(), SYMBOL_EDIT_FRAME::IsCurrentSymbol(), PCBNEW_JOBS_HANDLER::JobExportFpSvg(), CADSTAR_PCB_ARCHIVE_LOADER::loadComponentLibrary(), LEGACY_PLUGIN::loadFOOTPRINT(), PCB_EDIT_FRAME::LoadFootprints(), LEGACY_PLUGIN::loadFP_SHAPE(), LEGACY_PLUGIN::loadPAD(), SYMBOL_LIB_TABLE::LoadSymbol(), SYMBOL_EDIT_FRAME::LoadSymbol(), SYMBOL_LIB_TABLE::LoadSymbolWithOptionalNickname(), NETLIST_EXPORTER_XML::makeSymbols(), DIALOG_EDIT_SYMBOLS_LIBID::onClickOrphansButton(), PCB_BASE_FRAME::OnFpChangeDebounceTimer(), PCB_EDIT_FRAME::OpenProjectFiles(), EAGLE_PLUGIN::packageText(), RESCUE_SYMBOL_LIB_TABLE_CANDIDATE::PerformAction(), SCH_BASE_FRAME::PickSymbolFromLibBrowser(), DIALOG_CHOOSE_SYMBOL::PopulateFootprintSelector(), CVPCB_MAINFRAME::readNetListAndFpFiles(), CVPCB_MAINFRAME::readSchematicNetlist(), PCB_EDIT_FRAME::RecreateBOMFileFromBoard(), FOOTPRINT_EDIT_FRAME::ReloadFootprint(), FOOTPRINT_VIEWER_FRAME::ReloadFootprint(), DIALOG_SYMBOL_REMAP::remapSymbolsToLibTable(), DIALOG_SYMBOL_REMAP::remapSymbolToLibTable(), FOOTPRINT_EDITOR_CONTROL::RenameFootprint(), SYMBOL_EDITOR_CONTROL::RenameSymbol(), SCH_SYMBOL::ResolveTextVar(), FOOTPRINT::ResolveTextVar(), SYMBOL_EDIT_FRAME::Revert(), DRC_TEST_PROVIDER_LIBRARY_PARITY::Run(), FOOTPRINT_EDITOR_CONTROL::SaveAs(), SYMBOL_EDIT_FRAME::saveCurrentSymbol(), FOOTPRINT_EDIT_FRAME::SaveFootprint(), FOOTPRINT_EDIT_FRAME::SaveFootprintAs(), FOOTPRINT_EDIT_FRAME::SaveFootprintInLibrary(), SYMBOL_LIB_TABLE::SaveSymbol(), SCH_SEXPR_PLUGIN_CACHE::SaveSymbol(), SYMBOL_EDIT_FRAME::saveSymbolAs(), SchGetLibSymbol(), PCB_BASE_FRAME::setFPWatcher(), setLibNickname(), LIB_TREE::setState(), SYMBOL_EDIT_FRAME::setupUIConditions(), FOOTPRINT_EDIT_FRAME::setupUIConditions(), DIALOG_CHOOSE_SYMBOL::ShowFootprintFor(), FOOTPRINT_VIEWER_FRAME::ShowModal(), SYMBOL_VIEWER_FRAME::ShowModal(), ERC_TESTER::TestLibSymbolIssues(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataToWindow(), SYMBOL_LIBRARY_MANAGER::UpdateSymbol(), and FOOTPRINT_EDIT_FRAME::UpdateTitle().
|
inline |
Return the logical library name portion of a LIB_ID.
Definition at line 87 of file lib_id.h.
References m_libraryName.
Referenced by SYMBOL_EDITOR_CONTROL::AddSymbol(), BASIC_FOOTPRINT_INFO::BASIC_FOOTPRINT_INFO(), EXPORTER_STEP::buildFootprint3DShapes(), SCH_SCREENS::ChangeSymbolLibNickname(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), FOOTPRINT_EDIT_FRAME::DeleteFootprintFromLibrary(), BOARD_INSPECTION_TOOL::DiffFootprint(), EE_INSPECTION_TOOL::DiffSymbol(), FOOTPRINT_PREVIEW_PANEL::DisplayFootprint(), CVPCB_MAINFRAME::DisplayStatus(), SYMBOL_PREVIEW_WIDGET::DisplaySymbol(), FOOTPRINT_EDIT_FRAME::DuplicateFootprint(), SYMBOL_EDIT_FRAME::DuplicateSymbol(), SYMBOL_EDITOR_CONTROL::DuplicateSymbol(), SYMBOL_EDITOR_CONTROL::EditSymbol(), EXPORTER_PCB_VRML::ExportVrmlFootprint(), LIB_TREE_MODEL_ADAPTER::FindItem(), RESCUE_SYMBOL_LIB_TABLE_CANDIDATE::FindRescues(), FP_LIB_TABLE::FootprintLoadWithOptionalNickname(), FOOTPRINT_INFO_GENERATOR::GenerateHtml(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::GetAttr(), FP_TREE_SYNCHRONIZING_ADAPTER::GetAttr(), DISPLAY_FOOTPRINTS_FRAME::GetFootprint(), FOOTPRINT_LIST::GetFootprintInfo(), SCH_SCREENS::GetLibNicknames(), LIB_SYMBOL::GetLibraryName(), FOOTPRINT_EDIT_FRAME::GetLoadedFPID(), SCH_SYMBOL::GetMsgPanelInfo(), SYMBOL_EDIT_FRAME::getTargetLib(), SYMBOL_EDIT_FRAME::getTargetSymbol(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::GetValue(), FP_TREE_SYNCHRONIZING_ADAPTER::GetValue(), guessNickname(), SCH_SCREENS::HasNoFullyDefinedLibIds(), idf_export_footprint(), SYMBOL_EDITOR_CONTROL::Init(), FOOTPRINT_EDITOR_CONTROL::Init(), SYMBOL_EDIT_FRAME::IsCurrentSymbol(), SYMBOL_EDIT_FRAME::KiwayMailIn(), SYMBOL_VIEWER_FRAME::KiwayMailIn(), SYMBOL_LIB_TABLE::LoadSymbol(), SYMBOL_EDIT_FRAME::LoadSymbol(), SYMBOL_LIB_TABLE::LoadSymbolWithOptionalNickname(), NETLIST_EXPORTER_XML::makeSymbols(), FOOTPRINT_EDITOR_CONTROL::NewFootprint(), PCB_BASE_FRAME::OnFpChangeDebounceTimer(), FOOTPRINT_EDITOR_CONTROL::PasteFootprint(), SCH_BASE_FRAME::PickSymbolFromLibBrowser(), SYMBOL_EDITOR_CONTROL::PinLibrary(), FOOTPRINT_EDITOR_CONTROL::PinLibrary(), LIB_TREE_MODEL_ADAPTER::PinLibrary(), DIALOG_CHOOSE_SYMBOL::PopulateFootprintSelector(), FOOTPRINT_VIEWER_FRAME::ReloadFootprint(), DIALOG_SYMBOL_REMAP::remapSymbolsToLibTable(), DIALOG_SYMBOL_REMAP::remapSymbolToLibTable(), FOOTPRINT_EDITOR_CONTROL::RenameFootprint(), SYMBOL_EDITOR_CONTROL::RenameSymbol(), SCH_SYMBOL::ResolveTextVar(), FOOTPRINT::ResolveTextVar(), SYMBOL_EDIT_FRAME::Revert(), DRC_TEST_PROVIDER_LIBRARY_PARITY::Run(), SYMBOL_EDIT_FRAME::Save(), FOOTPRINT_EDITOR_CONTROL::SaveAs(), SYMBOL_EDIT_FRAME::saveCurrentSymbol(), FOOTPRINT_EDIT_FRAME::SaveFootprint(), FOOTPRINT_EDIT_FRAME::SaveFootprintAs(), SYMBOL_EDIT_FRAME::SaveLibraryAs(), SYMBOL_EDIT_FRAME::saveSymbolAs(), SchGetLibSymbol(), PCB_BASE_FRAME::setFPWatcher(), setLibNickname(), LIB_TREE::setState(), SCH_BASE_FRAME::setSymWatcher(), SYMBOL_EDIT_FRAME::setupUIConditions(), DIALOG_CHOOSE_SYMBOL::ShowFootprintFor(), FOOTPRINT_VIEWER_FRAME::ShowModal(), SYMBOL_VIEWER_FRAME::ShowModal(), ERC_TESTER::TestLibSymbolIssues(), SYMBOL_EDITOR_CONTROL::UnpinLibrary(), FOOTPRINT_EDITOR_CONTROL::UnpinLibrary(), LIB_TREE_MODEL_ADAPTER::UnpinLibrary(), LIB_TREE_NODE_LIB_ID::Update(), FOOTPRINT_EDIT_FRAME::UpdateTitle(), and PANEL_FP_PROPERTIES_3D_MODEL::validateModelExists().
|
inline |
Some LIB_IDs can have a sub-library identifier in addition to a library nickname.
This identifier is not part of the canonical LIB_ID and is not written out / parsed. It is only used for internal sorting/grouping, if present.
Definition at line 130 of file lib_id.h.
References m_subLibraryName.
Referenced by SYMBOL_VIEWER_FRAME::ReCreateSymbolList(), SYMBOL_VIEWER_FRAME::SetSelectedLibrary(), and SYMBOL_VIEWER_FRAME::ShowModal().
|
inline |
Definition at line 148 of file lib_id.h.
References Format(), and UTF8::wx_str().
Referenced by CVPCB_ASSOCIATION_TOOL::CopyAssoc(), SCH_EDIT_FRAME::CreateArchiveLibrary(), CVPCB_ASSOCIATION_TOOL::CutAssoc(), SCH_SCREEN::getLibSymbolNameMatches(), FOOTPRINT::GetMsgPanelInfo(), SYMBOL_CANDIDATE::GetStringLibId(), and SYMBOL_EDIT_FRAME::LoadSymbol().
|
inline |
Get strings for display messages in dialogs.
Equivalent to m_itemName.wx_str(), but more explicit when building a Unicode string in messages.
Definition at line 112 of file lib_id.h.
References m_itemName, and UTF8::wx_str().
Referenced by SCH_SCREEN::Append(), SCH_EDIT_FRAME::CreateArchiveLibrary(), RESCUE_CACHE_CANDIDATE::FindRescues(), SCH_SCREEN::getLibSymbolNameMatches(), SYMBOL_EDIT_FRAME::LoadSymbol(), SYMBOL_VIEWER_FRAME::ReCreateSymbolList(), and SYMBOL_VIEWER_FRAME::SetSelectedSymbol().
|
inline |
Definition at line 88 of file lib_id.h.
References m_libraryName, and UTF8::wx_str().
Referenced by SYMBOL_VIEWER_FRAME::DisplayLibInfos(), SYMBOL_VIEWER_FRAME::ReCreateLibList(), SYMBOL_VIEWER_FRAME::ReCreateSymbolList(), and SYMBOL_VIEWER_FRAME::SetSelectedLibrary().
|
inline |
Definition at line 132 of file lib_id.h.
References m_subLibraryName, and UTF8::wx_str().
|
static |
Examine aLibItemName for invalid LIB_ID item name characters.
aLibItemName | is the LIB_ID name to test for illegal characters. |
Definition at line 174 of file lib_id.cpp.
References isLegalChar().
Referenced by RESCUE_SYMBOL_LIB_TABLE_CANDIDATE::FindRescues(), and Parse().
|
inline |
Definition at line 180 of file lib_id.h.
References UTF8::empty(), m_itemName, and m_libraryName.
Referenced by CADSTAR_SCH_ARCHIVE_PLUGIN::Load(), and CVPCB_MAINFRAME::readNetListAndFpFiles().
|
staticprotected |
Tests whether a Unicode character is a legal LIB_ID item name character.
The criteria for legal LIB_ID character is as follows:
Definition at line 207 of file lib_id.cpp.
Referenced by FixIllegalChars(), and HasIllegalChars().
|
staticprotected |
Tests whether a Unicode character is a legal LIB_ID library nickname character.
Definition at line 254 of file lib_id.cpp.
Referenced by FindIllegalLibraryNameChar(), and FixIllegalChars().
|
inline |
Check if this LID_ID is valid.
A valid LIB_ID must have both the library nickname and the library item name defined.
Definition at line 172 of file lib_id.h.
References UTF8::empty(), m_itemName, and m_libraryName.
Referenced by SYMBOL_EDITOR_CONTROL::AddSymbolToSchematic(), CVPCB_ASSOCIATION_TOOL::Associate(), CVPCB_MAINFRAME::AssociateFootprint(), CVPCB_ASSOCIATION_TOOL::CopyAssoc(), CVPCB_ASSOCIATION_TOOL::CutAssoc(), FOOTPRINT_EDIT_FRAME::DeleteFootprintFromLibrary(), SYMBOL_EDITOR_CONTROL::DuplicateSymbol(), RESCUE_CACHE_CANDIDATE::FindRescues(), FOOTPRINT_INFO_GENERATOR::GenerateHtml(), SYMBOL_VIEWER_FRAME::GetSelectedSymbol(), SYMBOL_EDIT_FRAME::getTargetSymbol(), SYMBOL_EDIT_FRAME::LoadSymbol(), SCH_DATABASE_PLUGIN::loadSymbolFromRow(), DIALOG_CHOOSE_SYMBOL::OnComponentPreselected(), DIALOG_CHOOSE_FOOTPRINT::OnComponentPreselected(), DIALOG_CHOOSE_SYMBOL::OnComponentSelected(), DIALOG_CHOOSE_FOOTPRINT::OnComponentSelected(), CVPCB_MAINFRAME::OnSelectComponent(), CVPCB_MAINFRAME::onTextFilterChangedTimer(), SCH_BASE_FRAME::PickSymbolFromLibBrowser(), SCH_BASE_FRAME::PickSymbolFromLibTree(), SCH_DRAWING_TOOLS::PlaceSymbol(), DIALOG_CHOOSE_SYMBOL::PopulateFootprintSelector(), DIALOG_EXCHANGE_FOOTPRINTS::processMatchingFootprints(), DIALOG_CHANGE_SYMBOLS::processMatchingSymbols(), SYMBOL_EDIT_FRAME::RegenerateLibraryTree(), FOOTPRINT_EDIT_FRAME::RegenerateLibraryTree(), PCB_BASE_FRAME::SelectFootprintFromLibTree(), DIALOG_CHOOSE_SYMBOL::ShowFootprint(), FOOTPRINT_VIEWER_FRAME::ShowModal(), SYMBOL_VIEWER_FRAME::ShowModal(), LIB_TREE_MODEL_ADAPTER::ShowResults(), SYMBOL_EDIT_FRAME::SyncLibraries(), FOOTPRINT_EDIT_FRAME::SyncLibraryTree(), DIALOG_CHANGE_SYMBOLS::updateFieldsList(), and FOOTPRINT_EDIT_FRAME::UpdateTitle().
|
inline |
|
inline |
|
inline |
|
inline |
int LIB_ID::Parse | ( | const UTF8 & | aId, |
bool | aFix = false |
||
) |
Parse LIB_ID with the information from aId.
A typical LIB_ID string consists of a library nickname followed by a library item name. e.g.: "smt:R_0805", or e.g.: "mylib:R_0805", or e.g.: "ttl:7400"
aId | is the string to populate the LIB_ID object. |
aFix | indicates invalid chars should be replaced with '_'. |
Definition at line 50 of file lib_id.cpp.
References clear(), UTF8::find(), FixIllegalChars(), HasIllegalChars(), UTF8::npos, SetLibItemName(), SetLibNickname(), and UTF8::substr().
Referenced by PCAD2KICAD::PCAD_FOOTPRINT::AddToBoard(), AltiumToKiCadLibID(), CVPCB_ASSOCIATION_TOOL::Associate(), CVPCB_ASSOCIATION_TOOL::CopyAssoc(), CVPCB_ASSOCIATION::CVPCB_ASSOCIATION(), DISPLAY_FOOTPRINTS_FRAME::GetFootprint(), FOOTPRINT_LIST::GetFootprintInfo(), DIALOG_EXCHANGE_FOOTPRINTS::isMatch(), FOOTPRINT_VIEWER_FRAME::KiwayMailIn(), CMP_READER::Load(), LEGACY_PLUGIN::loadAllSections(), CADSTAR_PCB_ARCHIVE_LOADER::loadComponentLibrary(), FABMASTER::loadFootprints(), SCH_LEGACY_PLUGIN::loadSymbol(), SCH_DATABASE_PLUGIN::loadSymbolFromRow(), EAGLE_PLUGIN::makeFootprint(), DIALOG_EDIT_SYMBOLS_LIBID::onClickOrphansButton(), KICAD_NETLIST_PARSER::parseComponent(), PCB_PARSER::parseFOOTPRINT_unchecked(), SCH_SEXPR_PARSER::parseSchematicSymbol(), SCH_SEXPR_PARSER::ParseSymbol(), CVPCB_ASSOCIATION_TOOL::PasteAssoc(), DIALOG_EXCHANGE_FOOTPRINTS::processMatchingFootprints(), DIALOG_CHANGE_SYMBOLS::processMatchingSymbols(), SCH_SEXPR_PLUGIN_CACHE::SaveSymbol(), PCB_BASE_FRAME::SelectFootprintFromLibTree(), FOOTPRINT::SetFPIDAsString(), DIALOG_EDIT_SYMBOLS_LIBID::setLibIdByBrowser(), DIALOG_CHOOSE_SYMBOL::ShowFootprint(), FOOTPRINT_VIEWER_FRAME::ShowModal(), SYMBOL_VIEWER_FRAME::ShowModal(), DIALOG_EDIT_SYMBOLS_LIBID::TransferDataFromWindow(), DIALOG_CHANGE_SYMBOLS::updateFieldsList(), and DIALOG_EDIT_SYMBOLS_LIBID::validateLibIds().
int LIB_ID::SetLibItemName | ( | const UTF8 & | aLibItemName | ) |
Override the library item name portion of the LIB_ID to aLibItemName.
Definition at line 109 of file lib_id.cpp.
References m_itemName.
Referenced by BOOST_AUTO_TEST_CASE(), LIB_TREE_NODE_LIB_ID::LIB_TREE_NODE_LIB_ID(), LEGACY_NETLIST_READER::loadComponent(), CADSTAR_SCH_ARCHIVE_LOADER::loadSchematicSymbol(), SCH_LEGACY_PLUGIN::loadSymbol(), Parse(), RESCUE_CASE_CANDIDATE::PerformAction(), RESCUE_CACHE_CANDIDATE::PerformAction(), SYMBOL_VIEWER_FRAME::ReCreateLibList(), LIB_SYMBOL::SetName(), SYMBOL_VIEWER_FRAME::SetSelectedSymbol(), SYMBOL_VIEWER_FRAME::SYMBOL_VIEWER_FRAME(), SYMBOL_EDIT_FRAME::SyncLibraries(), FOOTPRINT_EDIT_FRAME::SyncLibraryTree(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataFromWindow(), RESCUER::UndoRescues(), and LIB_TREE_NODE_LIB_ID::Update().
int LIB_ID::SetLibNickname | ( | const UTF8 & | aNickname | ) |
Override the logical library name portion of the LIB_ID to aNickname.
Definition at line 98 of file lib_id.cpp.
References m_libraryName, and okLogical().
Referenced by SCH_SCREENS::ChangeSymbolLibNickname(), SYMBOL_LIBRARY_MANAGER::LIB_BUFFER::CreateBuffer(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), PCB_EDIT_FRAME::ExportFootprintsToLibrary(), SCH_EDITOR_CONTROL::ExportSymbolsToLibrary(), guessNickname(), LIB_TREE_NODE_LIB::LIB_TREE_NODE_LIB(), LIB_TREE_NODE_LIB_ID::LIB_TREE_NODE_LIB_ID(), CADSTAR_SCH_ARCHIVE_PLUGIN::Load(), SYMBOL_LIB_TABLE::LoadSymbol(), SYMBOL_LIB_TABLE::LoadSymbolLib(), FOOTPRINT_EDITOR_CONTROL::NewFootprint(), PCB_EDIT_FRAME::OpenProjectFiles(), Parse(), SYMBOL_VIEWER_FRAME::ReCreateLibList(), DIALOG_SYMBOL_REMAP::remapSymbolToLibTable(), FOOTPRINT_EDIT_FRAME::restoreLastFootprint(), setLibNickname(), SYMBOL_VIEWER_FRAME::SetSelectedLibrary(), SYMBOL_VIEWER_FRAME::SYMBOL_VIEWER_FRAME(), and LIB_TREE_NODE_LIB_ID::Update().
|
inline |
Definition at line 131 of file lib_id.h.
References m_subLibraryName.
Referenced by SCH_DATABASE_PLUGIN::loadSymbolFromRow(), and SYMBOL_VIEWER_FRAME::SetSelectedLibrary().
|
protected |
The name of the entry in the logical library.
Definition at line 272 of file lib_id.h.
Referenced by clear(), compare(), empty(), Format(), GetLibItemName(), GetUniStringLibItemName(), IsLegacy(), IsValid(), and SetLibItemName().
|
protected |
The nickname of the library or empty.
Definition at line 271 of file lib_id.h.
Referenced by clear(), compare(), empty(), Format(), GetFullLibraryName(), GetLibNickname(), GetUniStringLibNickname(), IsLegacy(), IsValid(), and SetLibNickname().
|
protected |
Optional sub-library name used for grouping within a library.
Definition at line 273 of file lib_id.h.
Referenced by clear(), GetFullLibraryName(), GetSubLibraryName(), GetUniStringSubLibraryName(), and SetSubLibraryName().