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. | |
bool | GetIsLoaded () const |
void | SetLoaded (bool aLoaded) |
Mark the row as being a loaded library. | |
bool | GetIsEnabled () const |
void | SetEnabled (bool aEnabled=true) |
Change the enabled status of this library. | |
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. | |
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. | |
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. | |
void | SetFullURI (const wxString &aFullURI) |
Change the full URI for the library. | |
const wxString & | GetOptions () const |
Return the options string, which may hold a password or anything else needed to instantiate the underlying library plugin. | |
void | SetOptions (const wxString &aOptions) |
Change the library options strings. | |
const wxString & | GetDescr () const |
Return the description of the library referenced by this row. | |
void | SetDescr (const wxString &aDescr) |
Change the description of the library referenced by this row. | |
LIB_TABLE * | GetParent () const |
void | SetParent (LIB_TABLE *aParent) |
std::mutex & | GetMutex () |
const std::map< std::string, UTF8 > * | GetProperties () const |
Return the constant #PROPERTIES for this library (LIB_TABLE_ROW). | |
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. | |
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 (std::map< std::string, UTF8 > *aProperties) |
Private Attributes | |
wxString | nickName |
wxString | uri_user |
what user entered from UI or loaded from disk | |
wxString | options |
wxString | description |
bool | enabled = true |
Whether the LIB_TABLE_ROW is enabled. | |
bool | visible = true |
Whether the LIB_TABLE_ROW is visible in choosers. | |
bool | m_loaded = false |
Whether the LIB_TABLE_ROW is loaded. | |
LIB_TABLE * | m_parent |
Pointer to the table this row lives in (maybe null) | |
std::unique_ptr< std::map< std::string, UTF8 > > | 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 124 of file lib_table_base.h.
|
inline |
Definition at line 127 of file lib_table_base.h.
|
inlinevirtual |
Definition at line 135 of file lib_table_base.h.
|
inline |
Definition at line 139 of file lib_table_base.h.
|
inlineprotected |
Definition at line 270 of file lib_table_base.h.
References properties.
|
inline |
Definition at line 264 of file lib_table_base.h.
Referenced by new_clone(), DESIGN_BLOCK_GRID_TRICKS::paste_text(), SYMBOL_GRID_TRICKS::paste_text(), and FP_GRID_TRICKS::paste_text().
|
privatepure virtual |
Implemented in SYMBOL_LIB_TABLE_ROW, DESIGN_BLOCK_LIB_TABLE_ROW, and FP_LIB_TABLE_ROW.
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 121 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 235 of file lib_table_base.h.
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 110 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(), DESIGN_BLOCK_LIB_TABLE::DesignBlockDelete(), DESIGN_BLOCK_LIB_TABLE::DesignBlockEnumerate(), DESIGN_BLOCK_LIB_TABLE::DesignBlockExists(), DESIGN_BLOCK_LIB_TABLE::DesignBlockLibCreate(), DESIGN_BLOCK_LIB_TABLE::DesignBlockLibDelete(), DESIGN_BLOCK_LIB_TABLE::DesignBlockLoad(), DESIGN_BLOCK_LIB_TABLE::DesignBlockSave(), 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(), DESIGN_BLOCK_LIB_TABLE::GenerateTimestamp(), FP_LIB_TABLE::GenerateTimestamp(), DESIGN_BLOCK_LIB_TABLE::GetEnumeratedDesignBlock(), FP_LIB_TABLE::GetEnumeratedFootprint(), LIB_TABLE::GetFullURI(), SYMBOL_LIBRARY_MANAGER::GetLibraryHash(), LIB_TABLE_GRID::GetValue(), idf_export_footprint(), DESIGN_BLOCK_LIB_TABLE::IsDesignBlockLibWritable(), FP_LIB_TABLE::IsFootprintLibWritable(), SYMBOL_LIB_TABLE::IsSymbolLibWritable(), SYMBOL_EDIT_FRAME::KiwayMailIn(), SYMBOL_VIEWER_FRAME::KiwayMailIn(), RENDER_3D_RAYTRACE_BASE::load3DModels(), RENDER_3D_OPENGL::load3dModels(), DESIGN_BLOCK_LIB_TABLE::LoadGlobalTable(), FP_LIB_TABLE::LoadGlobalTable(), SYMBOL_LIB_TABLE::LoadGlobalTable(), SCH_EDIT_FRAME::LoadSheetFromFile(), SYMBOL_LIB_TABLE::LoadSymbol(), SYMBOL_LIB_TABLE::LoadSymbolLib(), PANEL_FP_PROPERTIES_3D_MODEL::OnAdd3DModel(), SYMBOL_EDITOR_CONTROL::OpenDirectory(), SYMBOL_EDITOR_CONTROL::OpenWithTextEditor(), DESIGN_BLOCK_LIB_TABLE::PrefetchLib(), 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(), DESIGN_BLOCK_LIB_TABLE_GRID::SetValue(), SYMBOL_LIB_TABLE_GRID::SetValue(), FP_LIB_TABLE_GRID::SetValue(), FOOTPRINT_VIEWER_FRAME::UpdateTitle(), and PANEL_FP_PROPERTIES_3D_MODEL::validateModelExists().
|
inline |
Definition at line 180 of file lib_table_base.h.
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 170 of file lib_table_base.h.
Referenced by SYMBOL_LIB_TABLE::IsSymbolLibLoaded().
|
inline |
Definition at line 187 of file lib_table_base.h.
Referenced by SYMBOL_TREE_MODEL_ADAPTER::AddLibraries(), Format(), LIB_TABLE_GRID::GetValue(), LIB_TABLE_GRID::GetValueAsBool(), PANEL_SYMBOL_CHOOSER::PANEL_SYMBOL_CHOOSER(), and SYMBOL_VIEWER_FRAME::ReCreateLibList().
|
inline |
Definition at line 246 of file lib_table_base.h.
Referenced by SYMBOL_LIB_TABLE::LoadSymbol(), and SYMBOL_LIB_TABLE::LoadSymbolLib().
|
inline |
Definition at line 160 of file lib_table_base.h.
Referenced by BOOST_AUTO_TEST_CASE(), LIB_TABLE_GRID::ContainsNickname(), DESIGN_BLOCK_LIB_TABLE::DesignBlockLoad(), LIB_TABLE::doInsertRow(), PCB_EDIT_FRAME::ExportFootprintsToLibrary(), SCH_EDITOR_CONTROL::ExportSymbolsToLibrary(), FP_LIB_TABLE::FootprintLoad(), Format(), LIB_TABLE::GetLogicalLibs(), LIB_TABLE_GRID::GetValue(), SYMBOL_EDIT_FRAME::KiwayMailIn(), FOOTPRINT_EDIT_FRAME::KiwayMailIn(), DESIGN_BLOCK_LIB_TABLE::LoadGlobalTable(), FP_LIB_TABLE::LoadGlobalTable(), SYMBOL_LIB_TABLE::LoadGlobalTable(), SYMBOL_LIB_TABLE::LoadSymbol(), SYMBOL_LIB_TABLE::LoadSymbolLib(), DESIGN_BLOCK_GRID_TRICKS::optionsEditor(), 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 225 of file lib_table_base.h.
Referenced by SYMBOL_LIB_TABLE::EnumerateSymbolLib(), Format(), LIB_TABLE_GRID::GetValue(), SCH_EDIT_FRAME::LoadSheetFromFile(), SYMBOL_LIB_TABLE::LoadSymbolLib(), DESIGN_BLOCK_GRID_TRICKS::optionsEditor(), SYMBOL_GRID_TRICKS::optionsEditor(), and FP_GRID_TRICKS::optionsEditor().
|
inline |
Definition at line 242 of file lib_table_base.h.
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 252 of file lib_table_base.h.
Referenced by SYMBOL_LIB_TABLE::CreateSymbolLib(), SYMBOL_LIB_TABLE::DeleteSymbol(), SYMBOL_LIB_TABLE::DeleteSymbolLib(), DESIGN_BLOCK_LIB_TABLE::DesignBlockDelete(), DESIGN_BLOCK_LIB_TABLE::DesignBlockEnumerate(), DESIGN_BLOCK_LIB_TABLE::DesignBlockExists(), DESIGN_BLOCK_LIB_TABLE::DesignBlockLibCreate(), DESIGN_BLOCK_LIB_TABLE::DesignBlockLibDelete(), DESIGN_BLOCK_LIB_TABLE::DesignBlockLoad(), DESIGN_BLOCK_LIB_TABLE::DesignBlockSave(), 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(), DESIGN_BLOCK_LIB_TABLE::GetEnumeratedDesignBlock(), FP_LIB_TABLE::GetEnumeratedFootprint(), SYMBOL_LIB_TABLE::LoadSymbol(), SYMBOL_LIB_TABLE::LoadSymbolLib(), DESIGN_BLOCK_LIB_TABLE::PrefetchLib(), 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, DESIGN_BLOCK_LIB_TABLE_ROW, and FP_LIB_TABLE_ROW.
Referenced by Format(), LIB_TABLE_GRID::GetValue(), DESIGN_BLOCK_GRID_TRICKS::optionsEditor(), SYMBOL_GRID_TRICKS::optionsEditor(), and FP_GRID_TRICKS::optionsEditor().
|
inline |
Definition at line 155 of file lib_table_base.h.
|
protected |
bool LIB_TABLE_ROW::operator== | ( | const LIB_TABLE_ROW & | r | ) | const |
Definition at line 146 of file lib_table_base.cpp.
References description, enabled, nickName, options, uri_user, and visible.
Referenced by DESIGN_BLOCK_LIB_TABLE_ROW::operator==(), FP_LIB_TABLE_ROW::operator==(), and SYMBOL_LIB_TABLE_ROW::operator==().
|
inlinevirtual |
Reimplemented in SYMBOL_LIB_TABLE_ROW.
Definition at line 191 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 240 of file lib_table_base.h.
Referenced by LIB_TABLE_GRID::SetValue().
|
inline |
Change the enabled status of this library.
Definition at line 185 of file lib_table_base.h.
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 104 of file lib_table_base.cpp.
References uri_user.
Referenced by SYMBOL_EDIT_FRAME::addLibTableEntry(), SYMBOL_EDIT_FRAME::replaceLibTableEntry(), PCB::IFACE::SaveFileAs(), and LIB_TABLE_GRID::SetValue().
|
inline |
Mark the row as being a loaded library.
Definition at line 175 of file lib_table_base.h.
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 165 of file lib_table_base.h.
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 157 of file lib_table_base.cpp.
References options, LIB_TABLE::ParseOptions(), setProperties(), and TO_UTF8.
Referenced by SYMBOL_LIB_TABLE::EnumerateSymbolLib(), SYMBOL_LIB_TABLE::LoadSymbolLib(), DESIGN_BLOCK_GRID_TRICKS::optionsEditor(), SYMBOL_GRID_TRICKS::optionsEditor(), FP_GRID_TRICKS::optionsEditor(), and LIB_TABLE_GRID::SetValue().
|
inline |
Definition at line 244 of file lib_table_base.h.
Referenced by LIB_TABLE::doInsertRow(), and PANEL_SYM_LIB_TABLE::verifyTables().
|
private |
Definition at line 98 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, DESIGN_BLOCK_LIB_TABLE_ROW, and FP_LIB_TABLE_ROW.
Referenced by DESIGN_BLOCK_LIB_TABLE_ROW::DESIGN_BLOCK_LIB_TABLE_ROW(), and LIB_TABLE_GRID::SetValue().
|
inline |
Definition at line 189 of file lib_table_base.h.
Referenced by LIB_TABLE_GRID::SetValue(), and LIB_TABLE_GRID::SetValueAsBool().
|
inlinevirtual |
Reimplemented in SYMBOL_LIB_TABLE_ROW.
Definition at line 206 of file lib_table_base.h.
Referenced by LIB_TABLE_GRID_TRICKS::doPopupSelection().
|
inlinevirtual |
Reimplemented in SYMBOL_LIB_TABLE_ROW.
Definition at line 204 of file lib_table_base.h.
Referenced by LIB_TABLE_GRID_TRICKS::showPopupMenu().
|
private |
Definition at line 296 of file lib_table_base.h.
Referenced by operator==().
|
private |
Whether the LIB_TABLE_ROW is enabled.
Definition at line 298 of file lib_table_base.h.
Referenced by operator==().
|
private |
Whether the LIB_TABLE_ROW is loaded.
Definition at line 300 of file lib_table_base.h.
|
private |
Definition at line 305 of file lib_table_base.h.
|
private |
Pointer to the table this row lives in (maybe null)
Definition at line 301 of file lib_table_base.h.
|
private |
Definition at line 293 of file lib_table_base.h.
Referenced by operator==().
|
private |
Definition at line 295 of file lib_table_base.h.
Referenced by operator==(), and SetOptions().
|
private |
Definition at line 303 of file lib_table_base.h.
Referenced by LIB_TABLE_ROW(), and setProperties().
|
private |
what user entered from UI or loaded from disk
Definition at line 294 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 299 of file lib_table_base.h.
Referenced by operator==().