25 #ifndef _SYMBOL_LIB_TABLE_H_ 26 #define _SYMBOL_LIB_TABLE_H_ 34 class DIALOG_SYMBOL_LIB_TABLE;
44 typedef SCH_IO_MGR::SCH_FILE_T
LIB_T;
47 const wxString& aOptions = wxEmptyString,
48 const wxString& aDescr = wxEmptyString ) :
73 void SetType(
const wxString& aType )
override;
117 virtual void Parse( LIB_TABLE_LEXER* aLexer )
override;
157 bool aPowerSymbolsOnly =
false );
159 void LoadSymbolLib( std::vector<LIB_SYMBOL*>& aAliasList,
const wxString& aNickname,
160 bool aPowerSymbolsOnly =
false );
205 bool aOverwrite =
true );
214 void DeleteSymbol(
const wxString& aNickname,
const wxString& aSymbolName );
295 #endif // _SYMBOL_LIB_TABLE_H_ A factory which returns an instance of a SCH_PLUGIN.
static const wxString & GetSymbolLibTableFileName()
static SYMBOL_LIB_TABLE & GetGlobalLibTable()
void EnumerateSymbolLib(const wxString &aNickname, wxArrayString &aAliasNames, bool aPowerSymbolsOnly=false)
Return a list of symbol alias names contained within the library given by aNickname.
const UTF8 & GetLibItemName() const
Hold a record identifying a symbol library accessed by the appropriate symbol library SCH_PLUGIN obje...
Hold a record identifying a library accessed by the appropriate plug in object in the LIB_TABLE.
SYMBOL_LIB_TABLE_ROW(const SYMBOL_LIB_TABLE_ROW &aRow)
void CreateSymbolLib(const wxString &aNickname)
SCH_PLUGIN::SCH_PLUGIN_RELEASER plugin
SAVE_T SaveSymbol(const wxString &aNickname, const LIB_SYMBOL *aSymbol, bool aOverwrite=true)
Write aSymbol to an existing library given by aNickname.
void DeleteSymbolLib(const wxString &aNickname)
void SetType(const wxString &aType) override
Change the schematic plugin type represented by this row.
static const wxString ShowType(SCH_FILE_T aFileType)
Return a brief name for a plugin, given aFileType enum.
static const wxString GlobalPathEnvVariableName()
Return the name of the environment variable used to hold the directory of locally installed "KiCad sp...
LIB_SYMBOL * LoadSymbolWithOptionalNickname(const LIB_ID &aId)
Load a LIB_SYMBOL having aFootprintId with possibly an empty library nickname.
bool operator!=(const SYMBOL_LIB_TABLE_ROW &aRow) const
void set(SCH_PLUGIN *aPlugin)
LIB_SYMBOL * LoadSymbol(const LIB_ID &aLibId)
A logical library item identifier and consists of various portions much like a URI.
bool IsSymbolLibWritable(const wxString &aNickname)
Return true if the library given by aNickname is writable.
Define a library symbol object.
KICAD_T
The set of class identification values stored in EDA_ITEM::m_structType.
bool IsSymbolLibLoaded(const wxString &aNickname)
Return true if the library given by aNickname was successfully loaded.
bool operator==(const SYMBOL_LIB_TABLE_ROW &aRow) const
void SetEnabled(bool aEnabled=true)
Change the enabled status of this library.
Base class that schematic file and library loading and saving plugins should derive from.
Build a wxGridTableBase by wrapping an SYMBOL_LIB_TABLE object.
static bool LoadGlobalTable(SYMBOL_LIB_TABLE &aTable)
Load the global symbol library table into aTable.
bool GetIsEnabled() const
bool Refresh()
Attempt to reload the library.
const wxString GetType() const override
Return the type of symbol library table represented by this row.
const UTF8 & GetLibNickname() const
Return the logical library name portion of a LIB_ID.
Dialog to show and edit symbol library tables.
virtual void Format(OUTPUTFORMATTER *aOutput, int aIndentLevel) const override
Generate the table in s-expression format to aOutput with an indentation level of aIndentLevel.
void setPlugin(SCH_PLUGIN *aPlugin)
SCH_IO_MGR::SCH_FILE_T LIB_T
Helper object to release a SCH_PLUGIN in the context of a potential thrown exception through its dest...
virtual LIB_TABLE_ROW * do_clone() const override
void LoadSymbolLib(std::vector< LIB_SYMBOL * > &aAliasList, const wxString &aNickname, bool aPowerSymbolsOnly=false)
void DeleteSymbol(const wxString &aNickname, const wxString &aSymbolName)
Deletes the aSymbolName from the library given by aNickname.
static int m_modifyHash
helper for GetModifyHash()
virtual void Parse(LIB_TABLE_LEXER *aLexer) override
Parse the #LIB_TABLE_LEXER s-expression library table format into the appropriate LIB_TABLE_ROW objec...
LIB_SYMBOL * LoadSymbol(const wxString &aNickname, const wxString &aName)
Load a LIB_SYMBOL having aName from the library given by aNickname.
SAVE_T
The set of return values from SaveSymbol() below.
static const char * PropNonPowerSymsOnly
SYMBOL_LIB_TABLE_ROW * FindRow(const wxString &aNickName, bool aCheckIfEnabled=false)
Return an SYMBOL_LIB_TABLE_ROW if aNickName is found in this table or in any chained fallBack table f...
SYMBOL_LIB_TABLE(SYMBOL_LIB_TABLE *aFallBackTable=nullptr)
Build a symbol library table by pre-pending this table fragment in front of aFallBackTable.
static wxString GetGlobalTableFileName()
Fetch the global symbol library table file name.
static const char * PropPowerSymsOnly
SYMBOL_LIB_TABLE_ROW(const wxString &aNick, const wxString &aURI, const wxString &aType, const wxString &aOptions=wxEmptyString, const wxString &aDescr=wxEmptyString)
Manage LIB_TABLE_ROW records (rows), and can be searched based on library nickname.