32 #ifndef __SCH_SEXPR_PARSER_H__ 33 #define __SCH_SEXPR_PARSER_H__ 38 #include <schematic_lexer.h> 98 void parseHeader( TSCHEMATIC_T::T aHeaderType,
int aFileVersion );
103 return strtol( CurText(),
nullptr, 16 );
108 return (
int)strtol( CurText(),
nullptr, 10 );
113 NeedNUMBER( aExpected );
128 NeedNUMBER( aExpected );
229 #endif // __SCH_SEXPR_PARSER_H__
int m_fieldId
The current field ID.
Instances are attached to a symbol or sheet and provide a place for the symbol's value,...
LIB_FIELD * parseProperty(std::unique_ptr< LIB_SYMBOL > &aSymbol)
std::map< wxString, LIB_SYMBOL *, LibSymbolMapSort > LIB_SYMBOL_MAP
Symbol map used by symbol library object.
An abstract class from which implementation specific LINE_READERs may be derived to read single lines...
Define a symbol library graphical text item.
SCH_SHEET_PIN * parseSchSheetPin(SCH_SHEET *aSheet)
A progress reporter interface for use in multi-threaded environments.
void parseBusAlias(SCH_SCREEN *aScreen)
void parseEDA_TEXT(EDA_TEXT *aText, bool aConvertOverbarSyntax)
Field object used in symbol libraries.
unsigned m_lastProgressLine
LIB_SYMBOL * ParseSymbol(LIB_SYMBOL_MAP &aSymbolLibMap, int aFileVersion=SEXPR_SYMBOL_LIB_FILE_VERSION)
int m_unit
The current unit being parsed.
void parseTITLE_BLOCK(TITLE_BLOCK &aTitleBlock)
#define SEXPR_SYMBOL_LIB_FILE_VERSION
This file contains the file format version information for the s-expression schematic and symbol libr...
SCH_SYMBOL * parseSchematicSymbol()
Define a library symbol object.
Hold the information shown in the lower right corner of a plot, printout, or editing view.
void parseSchSheetInstances(SCH_SHEET *aRootSheet, SCH_SCREEN *aScreen)
void parseSchSymbolInstances(SCH_SCREEN *aScreen)
SCH_BUS_WIRE_ENTRY * parseBusEntry()
The base class for drawable items used by schematic library symbols.
A mix-in class (via multiple inheritance) that handles texts such as labels, parts,...
LIB_SHAPE * parsePolyLine()
Simple container to manage fill parameters.
void parseHeader(TSCHEMATIC_T::T aHeaderType, int aFileVersion)
void ParseLib(LIB_SYMBOL_MAP &aSymbolLibMap)
wxString m_symbolName
The current symbol name.
SCH_JUNCTION * parseJunction()
int m_convert
The current body style being parsed.
Describe the page size and margins of a paper page on which to eventually print or plot.
LIB_SHAPE * parseCircle()
SCH_NO_CONNECT * parseNoConnect()
Definition for symbol library class.
int parseInternalUnits(TSCHEMATIC_T::T aToken)
double parseDouble(const char *aExpected)
const LINE_READER * m_lineReader
Define a sheet pin (label) used in sheets to create hierarchical schematics.
Object to parser s-expression symbol library and schematic file formats.
Object to handle a bitmap image that can be inserted in a schematic.
SCH_SEXPR_PARSER(LINE_READER *aLineReader=nullptr, PROGRESS_REPORTER *aProgressReporter=nullptr, unsigned aLineCount=0)
Sheet symbol placed in a schematic, and is the entry point for a sub schematic.
LIB_ITEM * ParseDrawItem()
void parsePAGE_INFO(PAGE_INFO &aPageInfo)
std::set< int > m_fieldIDsRead
Field IDs that have been read so far for the current symbol.
int m_requiredVersion
Set to the symbol library file version required.
Segment description base class to describe items which have 2 end points (track, wire,...
SCH_BITMAP * parseImage()
void parsePinNames(std::unique_ptr< LIB_SYMBOL > &aSymbol)
Simple container to manage line stroke parameters.
double parseDouble(TSCHEMATIC_T::T aToken)
SCH_FIELD * parseSchField(SCH_ITEM *aParent)
void parseFill(FILL_PARAMS &aFill)
const char * GetTokenText(T aTok)
The DSN namespace and returns the C string representing a SPECCTRA_DB::keyword.
void ParseSchematic(SCH_SHEET *aSheet, bool aIsCopyablyOnly=false, int aFileVersion=SEXPR_SCHEMATIC_FILE_VERSION)
Parse the internal LINE_READER object into aSheet.
Class for a wire to bus entry.
SCH_TEXT * parseSchText()
double parseDouble()
Parse the current token as an ASCII numeric string with possible leading whitespace into a double pre...
int parseInt(const char *aExpected)
#define SEXPR_SCHEMATIC_FILE_VERSION
Schematic file version.
LIB_SHAPE * parseRectangle()
Base class for any item which can be embedded within the SCHEMATIC container class,...
void parseStroke(STROKE_PARAMS &aStroke)
Parse stroke definition aStroke.
LIB_SHAPE * parseBezier()
PROGRESS_REPORTER * m_progressReporter