KiCad PCB EDA Suite
Loading...
Searching...
No Matches
SCHEMATIC_CONTENT Struct Reference

A schematic staged off to the side by an importer, ready to be swapped into a live SCHEMATIC in one step. More...

#include <schematic.h>

Public Attributes

SCH_SHEET * targetSheet = nullptr
 Sheet whose screen receives the content. Null names the schematic's virtual root.
 
std::unique_ptr< SCH_SCREEN > screen
 Screen that replaces the target sheet's screen outright.
 
EE_RTREE screenItems
 Spatial index that replaces the target screen's own.
 
std::unique_ptr< SCH_SCREEN > screenLibSymbols
 Screen holding only the library cache that the target screen adopts.
 
std::vector< std::unique_ptr< SCH_ITEM > > itemOwners
 Items in screenItems that nothing else owns yet.
 
std::vector< SCH_SHEET * > topLevelSheets
 Replacement top level sheets. Empty leaves the schematic's own in place.
 
SCH_SHEET_LIST hierarchy
 
std::optional< SCH_SHEET_PATH > currentSheet
 
std::unique_ptr< CONNECTION_GRAPH > connectionGraph
 
bool preserveNetChains = false
 Keep the schematic's net chains instead of the staged graph's, for append.
 
std::optional< EMBEDDED_FILES > embeddedFiles
 
wxString drawingSheetFileName
 

Detailed Description

A schematic staged off to the side by an importer, ready to be swapped into a live SCHEMATIC in one step.

Everything reachable from here is owned by the content until SCHEMATIC::AdoptContent() takes it, so an import that fails while staging leaves the live schematic untouched. A schematic, its screens and its sheets are woven together tightly enough that only the schematic can unpick the outgoing objects in a safe order, which is why importers hand over a whole content object instead of writing to the three layers themselves.

Definition at line 108 of file schematic.h.

Member Data Documentation

◆ connectionGraph

std::unique_ptr<CONNECTION_GRAPH> SCHEMATIC_CONTENT::connectionGraph

Definition at line 132 of file schematic.h.

Referenced by BOOST_FIXTURE_TEST_CASE().

◆ currentSheet

std::optional<SCH_SHEET_PATH> SCHEMATIC_CONTENT::currentSheet

Definition at line 131 of file schematic.h.

Referenced by BOOST_FIXTURE_TEST_CASE().

◆ drawingSheetFileName

wxString SCHEMATIC_CONTENT::drawingSheetFileName

Definition at line 138 of file schematic.h.

◆ embeddedFiles

std::optional<EMBEDDED_FILES> SCHEMATIC_CONTENT::embeddedFiles

Definition at line 137 of file schematic.h.

◆ hierarchy

SCH_SHEET_LIST SCHEMATIC_CONTENT::hierarchy

Definition at line 130 of file schematic.h.

Referenced by BOOST_FIXTURE_TEST_CASE().

◆ itemOwners

std::vector<std::unique_ptr<SCH_ITEM> > SCHEMATIC_CONTENT::itemOwners

Items in screenItems that nothing else owns yet.

Definition at line 125 of file schematic.h.

◆ preserveNetChains

bool SCHEMATIC_CONTENT::preserveNetChains = false

Keep the schematic's net chains instead of the staged graph's, for append.

Definition at line 135 of file schematic.h.

Referenced by BOOST_FIXTURE_TEST_CASE().

◆ screen

std::unique_ptr<SCH_SCREEN> SCHEMATIC_CONTENT::screen

Screen that replaces the target sheet's screen outright.

When this is null the items and library cache below replace the contents of the screen the target sheet already has.

Definition at line 115 of file schematic.h.

◆ screenItems

EE_RTREE SCHEMATIC_CONTENT::screenItems

Spatial index that replaces the target screen's own.

It must already name every item the target screen keeps, not just the imported ones.

Definition at line 119 of file schematic.h.

Referenced by BOOST_FIXTURE_TEST_CASE().

◆ screenLibSymbols

std::unique_ptr<SCH_SCREEN> SCHEMATIC_CONTENT::screenLibSymbols

Screen holding only the library cache that the target screen adopts.

Definition at line 122 of file schematic.h.

◆ targetSheet

SCH_SHEET* SCHEMATIC_CONTENT::targetSheet = nullptr

Sheet whose screen receives the content. Null names the schematic's virtual root.

Definition at line 111 of file schematic.h.

Referenced by BOOST_FIXTURE_TEST_CASE().

◆ topLevelSheets

std::vector<SCH_SHEET*> SCHEMATIC_CONTENT::topLevelSheets

Replacement top level sheets. Empty leaves the schematic's own in place.

Definition at line 128 of file schematic.h.


The documentation for this struct was generated from the following file: