KiCad PCB EDA Suite
|
Hold a record identifying a library accessed by the appropriate plug in object in the LIB_TABLE. More...
#include <lib_table_base.h>
Public Member Functions | |
LIB_TABLE_ROW () | |
virtual | ~LIB_TABLE_ROW () |
LIB_TABLE_ROW (const wxString &aNick, const wxString &aURI, const wxString &aOptions, const wxString &aDescr=wxEmptyString, LIB_TABLE *aParent=nullptr) | |
bool | operator== (const LIB_TABLE_ROW &r) const |
bool | operator!= (const LIB_TABLE_ROW &r) const |
const wxString & | GetNickName () const |
void | SetNickName (const wxString &aNickName) |
Change the logical name of this library, useful for an editor. More... | |
bool | GetIsLoaded () const |
void | SetLoaded (bool aLoaded) |
Mark the row as being a loaded library. More... | |
bool | GetIsEnabled () const |
void | SetEnabled (bool aEnabled=true) |
Change the enabled status of this library. More... | |
bool | GetIsVisible () const |
void | SetVisible (bool aVisible=true) |
virtual bool | Refresh () |
virtual const wxString | GetType () const =0 |
Return the type of library represented by this row. More... | |
virtual void | SetType (const wxString &aType)=0 |
Change the type of library represented by this row that must be implemented in the derived object to provide the library table row type. More... | |
virtual bool | SupportsSettingsDialog () const |
virtual void | ShowSettingsDialog (wxWindow *aParent) const |
const wxString | GetFullURI (bool aSubstituted=false) const |
Return the full location specifying URI for the LIB, either in original UI form or in environment variable expanded form. More... | |
void | SetFullURI (const wxString &aFullURI) |
Change the full URI for the library. More... | |
const wxString & | GetOptions () const |
Return the options string, which may hold a password or anything else needed to instantiate the underlying library plugin. More... | |
void | SetOptions (const wxString &aOptions) |
Change the library options strings. More... | |
const wxString & | GetDescr () const |
Return the description of the library referenced by this row. More... | |
void | SetDescr (const wxString &aDescr) |
Change the description of the library referenced by this row. More... | |
LIB_TABLE * | GetParent () const |
void | SetParent (LIB_TABLE *aParent) |
std::mutex & | GetMutex () |
const STRING_UTF8_MAP * | GetProperties () const |
Return the constant #PROPERTIES for this library (LIB_TABLE_ROW). More... | |
void | Format (OUTPUTFORMATTER *out, int nestLevel) const |
Serialize this object as utf8 text to an OUTPUTFORMATTER, and tries to make it look good using multiple lines and indentation. More... | |
LIB_TABLE_ROW * | clone () const |
Protected Member Functions | |
LIB_TABLE_ROW (const LIB_TABLE_ROW &aRow) | |
void | operator= (const LIB_TABLE_ROW &aRow) |
Private Member Functions | |
virtual LIB_TABLE_ROW * | do_clone () const =0 |
void | setProperties (STRING_UTF8_MAP *aProperties) |
Private Attributes | |
wxString | nickName |
wxString | uri_user |
what user entered from UI or loaded from disk More... | |
wxString | options |
wxString | description |
bool | enabled = true |
Whether the LIB_TABLE_ROW is enabled. More... | |
bool | visible = true |
Whether the LIB_TABLE_ROW is visible in choosers. More... | |
bool | m_loaded = false |
Whether the LIB_TABLE_ROW is loaded. More... | |
LIB_TABLE * | m_parent |
Pointer to the table this row lives in (maybe null) More... | |
std::unique_ptr< STRING_UTF8_MAP > | properties |
std::mutex | m_loadMutex |
Hold a record identifying a library accessed by the appropriate plug in object in the LIB_TABLE.
This is an abstract base class from which to derive library specific rows.
Definition at line 66 of file lib_table_base.h.
|
inline |
Definition at line 69 of file lib_table_base.h.
|
inlinevirtual |
Definition at line 77 of file lib_table_base.h.
|
inline |
Definition at line 81 of file lib_table_base.h.
References properties, SetFullURI(), and SetOptions().
|
inlineprotected |
Definition at line 212 of file lib_table_base.h.
References properties.
|
inline |
Definition at line 206 of file lib_table_base.h.
References do_clone().
Referenced by new_clone(), SYMBOL_GRID_TRICKS::paste_text(), and FP_GRID_TRICKS::paste_text().
|
privatepure virtual |
Implemented in SYMBOL_LIB_TABLE_ROW, FP_LIB_TABLE_ROW, and TEST_LIB_TABLE_ROW.
Referenced by clone().
void LIB_TABLE_ROW::Format | ( | OUTPUTFORMATTER * | out, |
int | nestLevel | ||
) | const |
Serialize this object as utf8 text to an OUTPUTFORMATTER, and tries to make it look good using multiple lines and indentation.
out | is an OUTPUTFORMATTER |
nestLevel | is the indentation level to base all lines of the output. Actual indentation will be 2 spaces for each nestLevel. |
Definition at line 71 of file lib_table_base.cpp.
References GetDescr(), GetFullURI(), GetIsEnabled(), GetIsVisible(), GetNickName(), GetOptions(), GetType(), OUTPUTFORMATTER::Print(), and OUTPUTFORMATTER::Quotew().
|
inline |
Return the description of the library referenced by this row.
Definition at line 177 of file lib_table_base.h.
References description.
Referenced by Format(), LIB_TABLE::GetDescription(), LIB_TABLE_GRID::GetValue(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::GetValue(), FP_TREE_SYNCHRONIZING_ADAPTER::GetValue(), SCH_EDIT_FRAME::LoadSheetFromFile(), and DIALOG_FOOTPRINT_ASSOCIATIONS::TransferDataToWindow().
const wxString LIB_TABLE_ROW::GetFullURI | ( | bool | aSubstituted = false | ) | const |
Return the full location specifying URI for the LIB, either in original UI form or in environment variable expanded form.
aSubstituted | Tells if caller wanted the substituted form, else not. |
Definition at line 60 of file lib_table_base.cpp.
References ExpandEnvVarSubstitutions(), and uri_user.
Referenced by EXPORTER_STEP::buildFootprint3DShapes(), SYMBOL_LIB_TABLE::CreateSymbolLib(), FOOTPRINT_EDIT_FRAME::DeleteFootprintFromLibrary(), SYMBOL_LIB_TABLE::DeleteSymbol(), SYMBOL_LIB_TABLE::DeleteSymbolLib(), SYMBOL_VIEWER_FRAME::DisplayLibInfos(), FOOTPRINT_EDIT_FRAME::DuplicateFootprint(), SYMBOL_LIB_TABLE::EnumerateSymbolLib(), SCH_EDITOR_CONTROL::ExportSymbolsToLibrary(), EXPORTER_PCB_VRML::ExportVrmlFootprint(), FP_LIB_TABLE::FootprintDelete(), FP_LIB_TABLE::FootprintEnumerate(), FP_LIB_TABLE::FootprintExists(), FP_LIB_TABLE::FootprintLibCreate(), FP_LIB_TABLE::FootprintLibDelete(), FP_LIB_TABLE::FootprintLoad(), FP_LIB_TABLE::FootprintSave(), Format(), FP_LIB_TABLE::GenerateTimestamp(), FP_LIB_TABLE::GetEnumeratedFootprint(), LIB_TABLE::GetFullURI(), SYMBOL_LIBRARY_MANAGER::GetLibraryHash(), LIB_TABLE_GRID::GetValue(), idf_export_footprint(), FP_LIB_TABLE::IsFootprintLibWritable(), SYMBOL_LIB_TABLE::IsSymbolLibWritable(), SYMBOL_EDIT_FRAME::KiwayMailIn(), SYMBOL_VIEWER_FRAME::KiwayMailIn(), RENDER_3D_RAYTRACE::load3DModels(), RENDER_3D_OPENGL::load3dModels(), FP_LIB_TABLE::LoadGlobalTable(), SYMBOL_LIB_TABLE::LoadGlobalTable(), SCH_EDIT_FRAME::LoadSheetFromFile(), SYMBOL_LIB_TABLE::LoadSymbol(), SYMBOL_LIB_TABLE::LoadSymbolLib(), FP_LIB_TABLE::PrefetchLib(), SYMBOL_LIB_TABLE_ROW::Refresh(), PCB::IFACE::SaveFileAs(), FOOTPRINT_EDIT_FRAME::SaveFootprint(), SYMBOL_LIBRARY_MANAGER::SaveLibrary(), SYMBOL_LIB_TABLE::SaveSymbol(), PCB_BASE_FRAME::setFPWatcher(), SCH_BASE_FRAME::setSymWatcher(), FOOTPRINT_VIEWER_FRAME::UpdateTitle(), and PANEL_FP_PROPERTIES_3D_MODEL::validateModelExists().
|
inline |
Definition at line 122 of file lib_table_base.h.
References enabled.
Referenced by LIB_TABLE::findRow(), Format(), LIB_TABLE::GetLogicalLibs(), LIB_TABLE_GRID::GetValue(), LIB_TABLE_GRID::GetValueAsBool(), SYMBOL_LIB_TABLE_ROW::SYMBOL_LIB_TABLE_ROW(), and PANEL_SYM_LIB_TABLE::verifyTables().
|
inline |
Definition at line 112 of file lib_table_base.h.
References m_loaded.
Referenced by SYMBOL_LIB_TABLE::IsSymbolLibLoaded().
|
inline |
Definition at line 129 of file lib_table_base.h.
References visible.
Referenced by SYMBOL_TREE_MODEL_ADAPTER::AddLibraries(), Format(), LIB_TABLE_GRID::GetValue(), LIB_TABLE_GRID::GetValueAsBool(), SCH_BASE_FRAME::PickSymbolFromLibTree(), and SYMBOL_VIEWER_FRAME::ReCreateLibList().
|
inline |
Definition at line 188 of file lib_table_base.h.
References m_loadMutex.
Referenced by SYMBOL_LIB_TABLE::LoadSymbol(), and SYMBOL_LIB_TABLE::LoadSymbolLib().
|
inline |
Definition at line 102 of file lib_table_base.h.
References nickName.
Referenced by BOOST_AUTO_TEST_CASE(), LIB_TABLE_GRID::ContainsNickname(), PCB_EDIT_FRAME::ExportFootprintsToLibrary(), FP_LIB_TABLE::FootprintLoad(), Format(), LIB_TABLE::GetLogicalLibs(), LIB_TABLE_GRID::GetValue(), LIB_TABLE::InsertRow(), SYMBOL_EDIT_FRAME::KiwayMailIn(), FOOTPRINT_EDIT_FRAME::KiwayMailIn(), FP_LIB_TABLE::LoadGlobalTable(), SYMBOL_LIB_TABLE::LoadGlobalTable(), SYMBOL_LIB_TABLE::LoadSymbol(), SYMBOL_LIB_TABLE::LoadSymbolLib(), SYMBOL_GRID_TRICKS::optionsEditor(), FP_GRID_TRICKS::optionsEditor(), DIALOG_SYMBOL_REMAP::remapSymbolToLibTable(), LIB_TABLE::RemoveRow(), and PANEL_SYM_LIB_TABLE::verifyTables().
|
inline |
Return the options string, which may hold a password or anything else needed to instantiate the underlying library plugin.
Definition at line 167 of file lib_table_base.h.
References options.
Referenced by SYMBOL_LIB_TABLE::EnumerateSymbolLib(), Format(), LIB_TABLE_GRID::GetValue(), SCH_EDIT_FRAME::LoadSheetFromFile(), SYMBOL_LIB_TABLE::LoadSymbolLib(), SYMBOL_GRID_TRICKS::optionsEditor(), and FP_GRID_TRICKS::optionsEditor().
|
inline |
Definition at line 184 of file lib_table_base.h.
References m_parent.
Referenced by SYMBOL_LIB_TABLE_ROW::Refresh().
|
inline |
Return the constant #PROPERTIES for this library (LIB_TABLE_ROW).
These are the "options" in a table.
Definition at line 194 of file lib_table_base.h.
References properties.
Referenced by SYMBOL_LIB_TABLE::CreateSymbolLib(), SYMBOL_LIB_TABLE::DeleteSymbol(), SYMBOL_LIB_TABLE::DeleteSymbolLib(), SYMBOL_LIB_TABLE::EnumerateSymbolLib(), FP_LIB_TABLE::FootprintDelete(), FP_LIB_TABLE::FootprintEnumerate(), FP_LIB_TABLE::FootprintExists(), FP_LIB_TABLE::FootprintLibCreate(), FP_LIB_TABLE::FootprintLibDelete(), FP_LIB_TABLE::FootprintLoad(), FP_LIB_TABLE::FootprintSave(), FP_LIB_TABLE::GetEnumeratedFootprint(), SYMBOL_LIB_TABLE::LoadSymbol(), SYMBOL_LIB_TABLE::LoadSymbolLib(), FP_LIB_TABLE::PrefetchLib(), SYMBOL_LIB_TABLE_ROW::Refresh(), and SYMBOL_LIB_TABLE::SaveSymbol().
|
pure virtual |
Return the type of library represented by this row.
Implemented in SYMBOL_LIB_TABLE_ROW, FP_LIB_TABLE_ROW, and TEST_LIB_TABLE_ROW.
Referenced by Format(), LIB_TABLE_GRID::GetValue(), SYMBOL_GRID_TRICKS::optionsEditor(), and FP_GRID_TRICKS::optionsEditor().
|
inline |
Definition at line 97 of file lib_table_base.h.
|
protected |
bool LIB_TABLE_ROW::operator== | ( | const LIB_TABLE_ROW & | r | ) | const |
Definition at line 96 of file lib_table_base.cpp.
References description, enabled, nickName, options, uri_user, and visible.
Referenced by FP_LIB_TABLE_ROW::operator==(), and SYMBOL_LIB_TABLE_ROW::operator==().
|
inlinevirtual |
Reimplemented in SYMBOL_LIB_TABLE_ROW.
Definition at line 133 of file lib_table_base.h.
Referenced by LIB_TABLE_GRID_TRICKS::doPopupSelection().
|
inline |
Change the description of the library referenced by this row.
Definition at line 182 of file lib_table_base.h.
References description.
Referenced by LIB_TABLE_GRID::SetValue().
|
inline |
Change the enabled status of this library.
Definition at line 127 of file lib_table_base.h.
References enabled.
Referenced by LIB_TABLE_GRID::SetValue(), LIB_TABLE_GRID::SetValueAsBool(), and SYMBOL_LIB_TABLE_ROW::SYMBOL_LIB_TABLE_ROW().
void LIB_TABLE_ROW::SetFullURI | ( | const wxString & | aFullURI | ) |
Change the full URI for the library.
Definition at line 54 of file lib_table_base.cpp.
References uri_user.
Referenced by SYMBOL_EDIT_FRAME::addLibTableEntry(), LIB_TABLE_ROW(), SYMBOL_EDIT_FRAME::replaceLibTableEntry(), PCB::IFACE::SaveFileAs(), and LIB_TABLE_GRID::SetValue().
|
inline |
Mark the row as being a loaded library.
Definition at line 117 of file lib_table_base.h.
References m_loaded.
Referenced by SYMBOL_LIB_TABLE::EnumerateSymbolLib(), SYMBOL_LIB_TABLE::LoadSymbolLib(), and SYMBOL_LIB_TABLE_ROW::Refresh().
|
inline |
Change the logical name of this library, useful for an editor.
Definition at line 107 of file lib_table_base.h.
References nickName.
Referenced by SYMBOL_EDIT_FRAME::addLibTableEntry(), and LIB_TABLE_GRID::SetValue().
void LIB_TABLE_ROW::SetOptions | ( | const wxString & | aOptions | ) |
Change the library options strings.
Definition at line 107 of file lib_table_base.cpp.
References options, LIB_TABLE::ParseOptions(), setProperties(), and TO_UTF8.
Referenced by SYMBOL_LIB_TABLE::EnumerateSymbolLib(), LIB_TABLE_ROW(), SYMBOL_LIB_TABLE::LoadSymbolLib(), SYMBOL_GRID_TRICKS::optionsEditor(), FP_GRID_TRICKS::optionsEditor(), and LIB_TABLE_GRID::SetValue().
|
inline |
Definition at line 186 of file lib_table_base.h.
References m_parent.
Referenced by LIB_TABLE::InsertRow(), and PANEL_SYM_LIB_TABLE::verifyTables().
|
private |
Definition at line 48 of file lib_table_base.cpp.
References properties.
Referenced by SetOptions().
|
pure virtual |
Change the type of library represented by this row that must be implemented in the derived object to provide the library table row type.
Implemented in SYMBOL_LIB_TABLE_ROW, FP_LIB_TABLE_ROW, and TEST_LIB_TABLE_ROW.
Referenced by LIB_TABLE_GRID::SetValue().
|
inline |
Definition at line 131 of file lib_table_base.h.
References visible.
Referenced by LIB_TABLE_GRID::SetValue(), and LIB_TABLE_GRID::SetValueAsBool().
|
inlinevirtual |
Reimplemented in SYMBOL_LIB_TABLE_ROW.
Definition at line 148 of file lib_table_base.h.
Referenced by LIB_TABLE_GRID_TRICKS::doPopupSelection().
|
inlinevirtual |
Reimplemented in SYMBOL_LIB_TABLE_ROW.
Definition at line 146 of file lib_table_base.h.
Referenced by LIB_TABLE_GRID_TRICKS::showPopupMenu().
|
private |
Definition at line 238 of file lib_table_base.h.
Referenced by GetDescr(), operator==(), and SetDescr().
|
private |
Whether the LIB_TABLE_ROW is enabled.
Definition at line 240 of file lib_table_base.h.
Referenced by GetIsEnabled(), operator==(), and SetEnabled().
|
private |
Whether the LIB_TABLE_ROW is loaded.
Definition at line 242 of file lib_table_base.h.
Referenced by GetIsLoaded(), and SetLoaded().
|
private |
Definition at line 247 of file lib_table_base.h.
Referenced by GetMutex().
|
private |
Pointer to the table this row lives in (maybe null)
Definition at line 243 of file lib_table_base.h.
Referenced by GetParent(), and SetParent().
|
private |
Definition at line 235 of file lib_table_base.h.
Referenced by GetNickName(), operator==(), and SetNickName().
|
private |
Definition at line 237 of file lib_table_base.h.
Referenced by GetOptions(), operator==(), and SetOptions().
|
private |
Definition at line 245 of file lib_table_base.h.
Referenced by GetProperties(), LIB_TABLE_ROW(), and setProperties().
|
private |
what user entered from UI or loaded from disk
Definition at line 236 of file lib_table_base.h.
Referenced by GetFullURI(), operator==(), and SetFullURI().
|
private |
Whether the LIB_TABLE_ROW is visible in choosers.
Definition at line 241 of file lib_table_base.h.
Referenced by GetIsVisible(), operator==(), and SetVisible().