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_SHEETtargetSheet = nullptr
 Sheet whose screen receives the content. Null names the schematic's virtual root.
 
std::unique_ptr< SCH_SCREENscreen
 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_SCREENscreenLibSymbols
 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_PATHcurrentSheet
 
std::unique_ptr< CONNECTION_GRAPHconnectionGraph
 
bool preserveNetChains = false
 Keep the schematic's net chains instead of the staged graph's, for append.
 
std::optional< EMBEDDED_FILESembeddedFiles
 
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 107 of file schematic.h.

Member Data Documentation

◆ connectionGraph

std::unique_ptr<CONNECTION_GRAPH> SCHEMATIC_CONTENT::connectionGraph

Definition at line 131 of file schematic.h.

Referenced by BOOST_FIXTURE_TEST_CASE().

◆ currentSheet

std::optional<SCH_SHEET_PATH> SCHEMATIC_CONTENT::currentSheet

Definition at line 130 of file schematic.h.

Referenced by BOOST_FIXTURE_TEST_CASE().

◆ drawingSheetFileName

wxString SCHEMATIC_CONTENT::drawingSheetFileName

Definition at line 137 of file schematic.h.

◆ embeddedFiles

std::optional<EMBEDDED_FILES> SCHEMATIC_CONTENT::embeddedFiles

Definition at line 136 of file schematic.h.

◆ hierarchy

SCH_SHEET_LIST SCHEMATIC_CONTENT::hierarchy

Definition at line 129 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 124 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 134 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 114 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 118 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 121 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 110 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 127 of file schematic.h.


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