20#ifndef KICAD_SCHEMATIC_H
21#define KICAD_SCHEMATIC_H
69 return wxT(
"SCHEMATIC" );
145 std::shared_ptr<BUS_ALIAS>
GetBusAlias(
const wxString& aLabel )
const;
212 void Show(
int nestLevel, std::ostream& os )
const override {}
Calculates the connectivity of a schematic and generates netlists.
The base frame for deriving all KiCad main window classes.
A base class for most all the KiCad significant classes used in schematics and boards.
Container for ERC settings.
Container for project specific data.
virtual void SetCurrentSheet(const SCH_SHEET_PATH &aPath)=0
virtual wxString GetFileName() const =0
virtual CONNECTION_GRAPH * ConnectionGraph() const =0
virtual SCH_SHEET_LIST GetSheets() const =0
virtual SCH_SHEET_PATH & CurrentSheet() const =0
virtual PROJECT & Prj() const =0
virtual ~SCHEMATIC_IFACE()
These settings were stored in SCH_BASE_FRAME previously.
Holds all the data relating to one schematic.
void Reset()
Initialize this schematic to a blank one, unloading anything existing.
void SetLegacySymbolInstanceData()
Update the symbol value and footprint instance data for legacy designs.
CONNECTION_GRAPH * m_connectionGraph
Holds and calculates connectivity information of this schematic.
virtual wxString GetClass() const override
Return the class name.
SCH_SHEET_PATH & CurrentSheet() const override
SCH_SHEET_PATH * m_currentSheet
The sheet path of the sheet currently being edited or displayed.
bool ResolveTextVar(wxString *token, int aDepth) const
std::shared_ptr< BUS_ALIAS > GetBusAlias(const wxString &aLabel) const
Return a pointer to a bus alias object for the given label, or null if one doesn't exist.
std::vector< SCH_MARKER * > ResolveERCExclusions()
wxString GetFileName() const override
Helper to retrieve the filename from the root sheet screen.
SCHEMATIC_SETTINGS & Settings() const
CONNECTION_GRAPH * ConnectionGraph() const override
wxString ConvertKIIDsToRefs(const wxString &aSource) const
std::map< wxString, std::set< int > > & GetPageRefsMap()
SCH_SHEET_LIST & GetFullHierarchy() const
Return the full schematic flattened hierarchical sheet list.
void SetCurrentSheet(const SCH_SHEET_PATH &aPath) override
void FixupJunctions()
Add junctions to this schematic where required.
std::map< wxString, std::set< int > > m_labelToPageRefsMap
Holds a map of labels to the page sequence (virtual page number) that they appear on.
SCH_SHEET_LIST GetSheets() const override
Builds and returns an updated schematic hierarchy TODO: can this be cached?
wxString ConvertRefsToKIIDs(const wxString &aSource) const
void SetRoot(SCH_SHEET *aRootSheet)
Initialize the schematic with a new root sheet.
void SetProject(PROJECT *aPrj)
std::map< int, wxString > GetVirtualPageToSheetPagesMap() const
SCH_SCREEN * RootScreen() const
Helper to retrieve the screen of the root sheet.
std::set< wxString > GetNetClassAssignmentCandidates()
Return the set of netname candidates for netclass assignment.
void RecomputeIntersheetRefs(const std::function< void(SCH_GLOBALLABEL *)> &aItemCallback)
Update the schematic's page reference map for all global labels, and refresh the labels so that they ...
bool IsValid() const
A simple test if the schematic is loaded, not a complete one.
const std::map< wxString, wxString > * GetProperties()
std::map< int, wxString > GetVirtualPageToSheetNamesMap() const
wxString GetUniqueFilenameForCurrentSheet()
void SetSheetNumberAndCount()
Set the m_ScreenNumber and m_NumberOfScreens members for screens.
PROJECT & Prj() const override
Return a reference to the project this schematic is part of.
bool ResolveCrossReference(wxString *token, int aDepth) const
Resolves text vars that refer to other items.
std::map< wxString, wxString > m_properties
Properties for text variable substitution (and perhaps other uses in future).
ERC_SETTINGS & ErcSettings() const
SCH_SHEET * m_rootSheet
The top-level sheet in this schematic hierarchy (or potentially the only one)
Schematic editor (Eeschema) main window.
A container for handling SCH_SHEET_PATH objects in a flattened hierarchy.
Handle access to a stack of flattened SCH_SHEET objects by way of a path for creating a flattened sch...
Sheet symbol placed in a schematic, and is the entry point for a sub schematic.
Definition of the SCH_SHEET_PATH and SCH_SHEET_LIST classes for Eeschema.