1 #ifndef _SCH_LEGACY_PLUGIN_H_ 2 #define _SCH_LEGACY_PLUGIN_H_ 72 return wxT(
"Eeschema-Legacy" );
102 const PROPERTIES* aProperties =
nullptr )
override;
108 const PROPERTIES* aProperties =
nullptr )
override;
115 const wxString& aLibraryPath,
116 const PROPERTIES* aProperties =
nullptr )
override;
118 const wxString& aLibraryPath,
119 const PROPERTIES* aProperties =
nullptr )
override;
121 const PROPERTIES* aProperties =
nullptr )
override;
123 const PROPERTIES* aProperties =
nullptr )
override;
124 void DeleteSymbol(
const wxString& aLibraryPath,
const wxString& aSymbolName,
125 const PROPERTIES* aProperties =
nullptr )
override;
127 const PROPERTIES* aProperties =
nullptr )
override;
129 const PROPERTIES* aProperties =
nullptr )
override;
131 const PROPERTIES* aProperties =
nullptr )
override;
133 bool CheckHeader(
const wxString& aFileName )
override;
188 #endif // _SCH_LEGACY_PLUGIN_H_ SCHEMATIC * m_schematic
Passed to Load(), the schematic object being loaded.
SCH_SHEET * loadSheet(LINE_READER &aReader)
void LoadContent(LINE_READER &aReader, SCH_SCREEN *aScreen, int version=EESCHEMA_VERSION)
SCH_JUNCTION * loadJunction(LINE_READER &aReader)
Instances are attached to a symbol or sheet and provide a place for the component's value,...
An abstract class from which implementation specific LINE_READERs may be derived to read single lines...
SCH_SHEET * Load(const wxString &aFileName, SCHEMATIC *aSchematic, SCH_SHEET *aAppendToMe=nullptr, const PROPERTIES *aProperties=nullptr) override
Load information from some input file format that this SCH_PLUGIN implementation knows about,...
void SaveSymbol(const wxString &aLibraryPath, const LIB_PART *aSymbol, const PROPERTIES *aProperties=nullptr) override
Write aSymbol to an existing library located at aLibraryPath.
wxString m_error
For throwing exceptions or errors on partial schematic loads.
Holds all the data relating to one schematic.
void saveLine(SCH_LINE *aLine)
SCH_COMPONENT * loadComponent(LINE_READER &aReader)
SCH_LEGACY_PLUGIN_CACHE * m_cache
virtual ~SCH_LEGACY_PLUGIN()
void init(SCHEMATIC *aSchematic, const PROPERTIES *aProperties=nullptr)
initialize PLUGIN like a constructor would.
SCH_SHEET * m_rootSheet
The root sheet of the schematic being loaded..
void saveText(SCH_TEXT *aText)
void saveNoConnect(SCH_NO_CONNECT *aNoConnect)
A name/value tuple with unique names and optional values.
static LIB_PART * ParsePart(LINE_READER &aReader, int majorVersion=0, int minorVersion=0)
void saveSheet(SCH_SHEET *aSheet)
SCH_BUS_ENTRY_BASE * loadBusEntry(LINE_READER &aReader)
const wxString GetName() const override
Return a brief hard coded name for this SCH_PLUGIN.
const wxString & GetError() const override
Return an error string to the caller.
A cache assistant for the part library portion of the SCH_PLUGIN API, and only for the SCH_LEGACY_PLU...
void saveField(SCH_FIELD *aField)
Base class for a bus or wire entry.
const wxString GetFileExtension() const override
Return the file extension for the SCH_PLUGIN.
void saveJunction(SCH_JUNCTION *aJunction)
int m_version
Version of file being loaded.
void loadFile(const wxString &aFileName, SCH_SCREEN *aScreen)
void DeleteSymbol(const wxString &aLibraryPath, const wxString &aSymbolName, const PROPERTIES *aProperties=nullptr) override
Delete the entire LIB_PART associated with aAliasName from the library aLibraryPath.
wxString m_path
Root project path for loading child sheets.
LIB_PART * LoadSymbol(const wxString &aLibraryPath, const wxString &aAliasName, const PROPERTIES *aProperties=nullptr) override
Load a LIB_PART object having aPartName from the aLibraryPath containing a library format that this S...
Base class that schematic file and library loading and saving plugins should derive from.
bool isBuffering(const PROPERTIES *aProperties)
void loadHierarchy(SCH_SHEET *aSheet)
void cacheLib(const wxString &aLibraryFileName, const PROPERTIES *aProperties)
Define a library symbol object.
A minimalistic software bus for communications between various DLLs/DSOs (DSOs) within the same KiCad...
void loadPageSettings(LINE_READER &aReader, SCH_SCREEN *aScreen)
void Save(const wxString &aFileName, SCH_SHEET *aScreen, SCHEMATIC *aSchematic, const PROPERTIES *aProperties=nullptr) override
Write aSchematic to a storage file in a format that this SCH_PLUGIN implementation knows about,...
void saveBitmap(SCH_BITMAP *aBitmap)
static const char * PropNoDocFile
The property used internally by the plugin to disable writing the library documentation (....
static void FormatPart(LIB_PART *aPart, OUTPUTFORMATTER &aFormatter)
Object to handle a bitmap image that can be inserted in a schematic.
void saveComponent(SCH_COMPONENT *aComponent)
void SaveLibrary(const wxString &aLibraryPath, const PROPERTIES *aProperties=nullptr) override
A SCH_PLUGIN derivation for loading schematic files created before the new s-expression file format.
bool CheckHeader(const wxString &aFileName) override
Return true if the first line in aFileName begins with the expected header.
Sheet symbol placed in a schematic, and is the entry point for a sub schematic.
void Format(SCH_SHEET *aSheet)
SCH_BITMAP * loadBitmap(LINE_READER &aReader)
void saveBusAlias(std::shared_ptr< BUS_ALIAS > aAlias)
Segment description base class to describe items which have 2 end points (track, wire,...
OUTPUTFORMATTER * m_out
The output formatter for saving SCH_SCREEN objects.
void CreateSymbolLib(const wxString &aLibraryPath, const PROPERTIES *aProperties=nullptr) override
Create a new empty symbol library at aLibraryPath.
const wxString GetLibraryFileExtension() const override
Return the library file extension for the SCH_PLUGIN object.
static const char * PropBuffering
The property used internally by the plugin to enable cache buffering which prevents the library file ...
int GetModifyHash() const override
Return the modification hash from the library cache.
SCH_NO_CONNECT * loadNoConnect(LINE_READER &aReader)
void loadHeader(LINE_READER &aReader, SCH_SCREEN *aScreen)
SCH_LINE * loadWire(LINE_READER &aReader)
SCH_TEXT * loadText(LINE_READER &aReader)
bool IsSymbolLibWritable(const wxString &aLibraryPath) override
Return true if the library at aLibraryPath is writable.
Object used to load, save, search, and otherwise manipulate symbol library files.
void saveBusEntry(SCH_BUS_ENTRY_BASE *aBusEntry)
bool writeDocFile(const PROPERTIES *aProperties)
void EnumerateSymbolLib(wxArrayString &aSymbolNameList, const wxString &aLibraryPath, const PROPERTIES *aProperties=nullptr) override
Populate a list of LIB_PART alias names contained within the library aLibraryPath.
std::shared_ptr< BUS_ALIAS > loadBusAlias(LINE_READER &aReader, SCH_SCREEN *aScreen)
bool DeleteSymbolLib(const wxString &aLibraryPath, const PROPERTIES *aProperties=nullptr) override
Delete an existing symbol library and returns true if successful, or if library does not exist return...
std::stack< wxString > m_currentPath
Stack to maintain nested sheet paths.