70 wxString wildcard = fn.GetFullName();
76 return fn.GetModificationTime().GetValue().GetValue();
100 if( !fn.IsDir() && fn.IsFileReadable() )
101 return fn.GetModificationTime().GetValue().GetValue() !=
m_fileModTime;
103 if( fn.IsDir() && fn.IsDirReadable() )
113 wxCHECK_MSG( aSymbol !=
nullptr,
nullptr,
"NULL pointer cannot be removed from library." );
123 wxCHECK_MSG( &*it->second == aSymbol,
nullptr,
124 "Pointer mismatch while attempting to remove alias entry <" + aSymbol->
GetName() +
131 for(
const std::pair<const wxString, LIB_SYMBOL*>& entry :
m_symbols )
133 if( entry.second->IsDerived()
134 && entry.second->GetParent().lock() == aSymbol->
SharedPtr() )
136 firstChild = entry.second;
159 for(
const std::pair<const wxString, LIB_SYMBOL*>& entry :
m_symbols )
161 if( entry.second->IsDerived()
162 && entry.second->GetParent().lock() == aSymbol->
SharedPtr() )
164 entry.second->SetParent( firstChild );
197 LIB_SYMBOL_MAP::iterator it =
m_symbols.find( aName );
virtual void SetParent(EDA_ITEM *aParent)
virtual EDA_ITEM * Clone() const
Create a duplicate of this item with linked list members set to NULL.
Define a library symbol object.
bool IsRoot() const override
For symbols derived from other symbols, IsRoot() indicates no derivation.
SCH_FIELD * GetField(const wxString &aFieldName)
Find a field within this symbol matching aFieldName; return nullptr if not found.
LIB_ITEMS_CONTAINER & GetDrawItems()
Return a reference to the draw item list.
wxString GetName() const override
std::shared_ptr< LIB_SYMBOL > SharedPtr() const
http://www.boost.org/doc/libs/1_55_0/libs/smart_ptr/sp_techniques.html#weak_without_shared.
void AddDrawItem(SCH_ITEM *aItem, bool aSort=true)
Add a new draw aItem to the draw object list and sort according to aSort.
wxString GetCanonicalName() const
Get a non-language-specific name for a field which can be used for storage, variable look-up,...
bool IsFile(const wxString &aFullPathAndFileName) const
virtual LIB_SYMBOL * GetSymbol(const wxString &aName)
virtual void AddSymbol(const LIB_SYMBOL *aSymbol)
wxFileName GetRealFile() const
bool IsFileChanged() const
long long GetLibModificationTime()
virtual void Save(const std::optional< bool > &aOpt=std::nullopt)
Save the entire library to file m_libFileName;.
SCH_IO_LIB_CACHE(const wxString &aLibraryPath)
virtual ~SCH_IO_LIB_CACHE()
void IncrementModifyHash()
LIB_SYMBOL * removeSymbol(LIB_SYMBOL *aAlias)
Base class for any item which can be embedded within the SCHEMATIC container class,...
static void ResolvePossibleSymlinks(wxFileName &aFilename)
long long TimestampDir(const wxString &aDirPath, const wxString &aFilespec)
A copy of ConvertFileTimeToWx() because wxWidgets left it as a static function private to src/common/...
static const std::string KiCadSymbolLibFileExtension