20#ifndef LIBREPCB_CORE_PROJECTLOADER_H
21#define LIBREPCB_CORE_PROJECTLOADER_H
26#include "../serialization/fileformatmigration.h"
43class TransactionalDirectory;
67 std::unique_ptr<Project>
open(
68 std::unique_ptr<TransactionalDirectory> directory,
69 const QString& filename);
83 template <
typename ElementType>
The Board class represents a PCB of a project and is always part of a circuit.
Definition board.h:73
The Project class represents a whole (opened) project with all its content.
Definition project.h:71
The ProjectLibrary class.
Definition projectlibrary.h:52
Helper to load a librepcb::Project from the file system.
Definition projectloader.h:52
void loadBoardDeviceInstance(Board &b, const SExpression &node)
Definition projectloader.cpp:641
const std::optional< QList< FileFormatMigration::Message > > & getUpgradeMessages() const noexcept
Definition projectloader.h:70
std::optional< QList< FileFormatMigration::Message > > mUpgradeMessages
Definition projectloader.h:102
std::unique_ptr< Project > open(std::unique_ptr< TransactionalDirectory > directory, const QString &filename)
Definition projectloader.cpp:90
void loadBoardUserSettings(Board &b)
Definition projectloader.cpp:804
~ProjectLoader() noexcept
Definition projectloader.cpp:83
void loadMetadata(Project &p)
Definition projectloader.cpp:175
void loadBoard(Project &p, const QString &relativeFilePath)
Definition projectloader.cpp:555
void loadSchematics(Project &p)
Definition projectloader.cpp:397
ProjectLoader & operator=(const ProjectLoader &rhs)=delete
void loadCircuit(Project &p)
Definition projectloader.cpp:280
bool mAutoAssignDeviceModels
Definition projectloader.h:101
void loadErc(Project &p)
Definition projectloader.cpp:381
void loadLibraryElements(Project &p, const QString &dirname, const QString &type, void(ProjectLibrary::*addFunction)(ElementType &))
Definition projectloader.cpp:253
void loadOutputJobs(Project &p)
Definition projectloader.cpp:230
void loadBoardPlane(Board &b, const SExpression &node)
Definition projectloader.cpp:774
void loadLibrary(Project &p)
Definition projectloader.cpp:239
void loadSchematicSymbol(Schematic &s, const SExpression &node)
Definition projectloader.cpp:442
ProjectLoader(const ProjectLoader &other)=delete
void loadBoardNetSegment(Board &b, const SExpression &node)
Definition projectloader.cpp:677
void loadSettings(Project &p)
Definition projectloader.cpp:191
void setAutoAssignDeviceModels(bool v) noexcept
Definition projectloader.h:62
void loadBoards(Project &p)
Definition projectloader.cpp:544
void loadSchematic(Project &p, const QString &relativeFilePath)
Definition projectloader.cpp:409
void loadSchematicNetSegment(Schematic &s, const SExpression &node)
Definition projectloader.cpp:464
The SExpression class.
Definition sexpression.h:69
The Schematic class represents one schematic page of a project and is always part of a circuit.
Definition schematic.h:74
Definition occmodel.cpp:76