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