42 BOOST_TEST_MESSAGE( fn.GetFullPath() );
56 BOOST_REQUIRE_EQUAL(
m_pi->GetError().IsEmpty(),
true );
63 screen->UpdateLocalLibSymbolLinks();
77 screen->MigrateSimModels();
87 sheet.UpdateAllScreenReferences();
92 std::unordered_set<SCH_SCREEN*> all_screens;
95 all_screens.insert(
path.LastScreen() );
106 fn.AppendDir(
"netlists" );
107 fn.AppendDir( aBaseName );
108 fn.SetName( aBaseName );
115template <
typename Exporter>
118 wxFileName netFile = m_schematic.Prj().GetProjectFullName();
121 netFile.SetName( netFile.GetName() +
"_test" );
125 return netFile.GetFullPath();
129template <
typename Exporter>
133 if( wxFileExists( GetNetlistPath(
true ) ) )
134 wxRemoveFile( GetNetlistPath(
true ) );
138 std::unique_ptr<Exporter> exporter = std::make_unique<Exporter>( &m_schematic );
140 bool success = exporter->WriteNetlist( GetNetlistPath(
true ), GetNetlistOptions(), reporter );
142 BOOST_REQUIRE( success && errors.IsEmpty() );
146template <
typename Exporter>
149 wxRemoveFile( GetNetlistPath(
true ) );
154template <
typename Exporter>
void Recalculate(const SCH_SHEET_LIST &aSheetList, bool aUnconditional=false, std::function< void(SCH_ITEM *)> *aChangedItemHandler=nullptr)
Update the connection graph for the given list of sheets.
SETTINGS_MANAGER m_manager
virtual void LoadSchematic(const wxString &aRelativePath)
IO_RELEASER< SCH_IO > m_pi
virtual wxFileName GetSchematicPath(const wxString &aBaseName)
virtual void SetElem(PROJECT::ELEM aIndex, _ELEM *aElem)
void Reset()
Initialize this schematic to a blank one, unloading anything existing.
SCH_SHEET_PATH & CurrentSheet() const override
CONNECTION_GRAPH * ConnectionGraph() const override
void SetRoot(SCH_SHEET *aRootSheet)
Initialize the schematic with a new root sheet.
void SetProject(PROJECT *aPrj)
SCH_SCREEN * RootScreen() const
Helper to retrieve the screen of the root sheet.
SCH_SHEET_LIST BuildSheetListSortedByPageNumbers() const override
static std::vector< std::pair< SCH_RULE_AREA *, SCH_SCREEN * > > UpdateRuleAreasInScreens(std::unordered_set< SCH_SCREEN * > &screens, KIGFX::SCH_VIEW *view)
Updates all rule area connectvity / caches in the given sheet paths.
Container class that holds multiple SCH_SCREEN objects in a hierarchy.
void FixLegacyPowerSymbolMismatches()
Fix legacy power symbols that have mismatched value text fields and invisible power pin names.
const std::vector< SCH_SYMBOL_INSTANCE > & GetSymbolInstances() const
int GetFileFormatVersionAtLoad() const
const std::vector< SCH_SHEET_INSTANCE > & GetSheetInstances() const
A container for handling SCH_SHEET_PATH objects in a flattened hierarchy.
void UpdateSheetInstanceData(const std::vector< SCH_SHEET_INSTANCE > &aSheetInstances)
Update all of the sheet instance information using aSheetInstances.
void AnnotatePowerSymbols()
Silently annotate the not yet annotated power symbols of the entire hierarchy of the sheet path list.
void UpdateSymbolInstanceData(const std::vector< SCH_SYMBOL_INSTANCE > &aSymbolInstances)
Update all of the symbol instance information using aSymbolInstances.
Handle access to a stack of flattened SCH_SHEET objects by way of a path for creating a flattened sch...
void push_back(SCH_SHEET *aSheet)
Forwarded method from std::vector.
bool LoadProject(const wxString &aFullPath, bool aSetActive=true)
Loads a project or sets up a new project with a specified path.
PROJECT & Prj() const
A helper while we are not MDI-capable – return the one and only project.
void TestNetlist(const wxString &aBaseName)
virtual wxString GetNetlistPath(bool aTest=false)
A wrapper for reporting to a wxString object.
static const std::string NetlistFileExtension
static const std::string ProjectFileExtension
static const std::string KiCadSchematicFileExtension
void LoadSchematic(SETTINGS_MANAGER &aSettingsManager, const wxString &aRelPath, std::unique_ptr< SCHEMATIC > &aSchematic)
std::string GetEeschemaTestDataDir()
Get the configured location of Eeschema test data.
Definition of file extensions used in Kicad.