22#ifndef _SCH_SEXPR_LIB_PLUGIN_CACHE_
23#define _SCH_SEXPR_LIB_PLUGIN_CACHE_
25#include "../sch_lib_plugin_cache.h"
50 void Save(
const std::optional<bool>& aOpt = std::nullopt )
override;
57 int aNestLevel = 0,
const wxString& aLibName = wxEmptyString );
76 int& aNextFreeFieldId,
int aNestLevel );
A LINE_READER that reads from an open file.
Field object used in symbol libraries.
The base class for drawable items used by schematic library symbols.
Define a library symbol object.
Define a symbol library graphical text item.
An abstract class from which implementation specific LINE_READERs may be derived to read single lines...
A base cache assistant implementation for the symbol library portion of the SCH_PLUGIN API.
A cache assistant for the KiCad s-expression symbol libraries.
virtual ~SCH_SEXPR_PLUGIN_CACHE()
int GetFileFormatVersionAtLoad() const
static void SaveSymbol(LIB_SYMBOL *aSymbol, OUTPUTFORMATTER &aFormatter, int aNestLevel=0, const wxString &aLibName=wxEmptyString)
static void savePin(LIB_PIN *aPin, OUTPUTFORMATTER &aFormatter, int aNestLevel=0)
int m_fileFormatVersionAtLoad
static void saveText(LIB_TEXT *aText, OUTPUTFORMATTER &aFormatter, int aNestLevel=0)
static void saveSymbolDrawItem(LIB_ITEM *aItem, OUTPUTFORMATTER &aFormatter, int aNestLevel)
void Save(const std::optional< bool > &aOpt=std::nullopt) override
Save the entire library to file m_libFileName;.
static void saveField(LIB_FIELD *aField, OUTPUTFORMATTER &aFormatter, int aNestLevel)
static void saveTextBox(LIB_TEXTBOX *aTextBox, OUTPUTFORMATTER &aFormatter, int aNestLevel=0)
static void saveDcmInfoAsFields(LIB_SYMBOL *aSymbol, OUTPUTFORMATTER &aFormatter, int &aNextFreeFieldId, int aNestLevel)
void SetFileFormatVersionAtLoad(int aVersion)
void DeleteSymbol(const wxString &aName) override
A SCH_PLUGIN derivation for loading schematic files using the new s-expression file format.