LibrePCB Developers Documentation
Loading...
Searching...
No Matches
ProjectLoader Class Referencefinal

Helper to load a librepcb::Project from the file system. More...

#include <projectloader.h>

Inherits QObject.

+ Collaboration diagram for ProjectLoader:

Public Member Functions

 ProjectLoader (QObject *parent=nullptr) noexcept
 
 ProjectLoader (const ProjectLoader &other)=delete
 
 ~ProjectLoader () noexcept
 
void setAutoAssignDeviceModels (bool v) noexcept
 
std::unique_ptr< Projectopen (std::unique_ptr< TransactionalDirectory > directory, const QString &filename)
 
const std::optional< QList< FileFormatMigration::Message > > & getUpgradeMessages () const noexcept
 
ProjectLoaderoperator= (const ProjectLoader &rhs)=delete
 

Private Member Functions

void loadMetadata (Project &p)
 
void loadSettings (Project &p)
 
void loadOutputJobs (Project &p)
 
void loadLibrary (Project &p)
 
template<typename ElementType >
void loadLibraryElements (Project &p, const QString &dirname, const QString &type, void(ProjectLibrary::*addFunction)(ElementType &))
 
void loadCircuit (Project &p)
 
void loadErc (Project &p)
 
void loadSchematics (Project &p)
 
void loadSchematic (Project &p, const QString &relativeFilePath)
 
void loadSchematicSymbol (Schematic &s, const SExpression &node)
 
void loadSchematicNetSegment (Schematic &s, const SExpression &node)
 
void loadBoards (Project &p)
 
void loadBoard (Project &p, const QString &relativeFilePath)
 
void loadBoardDeviceInstance (Board &b, const SExpression &node)
 
void loadBoardNetSegment (Board &b, const SExpression &node)
 
void loadBoardPlane (Board &b, const SExpression &node)
 
void loadBoardUserSettings (Board &b)
 

Private Attributes

bool mAutoAssignDeviceModels
 
std::optional< QList< FileFormatMigration::Message > > mUpgradeMessages
 

Detailed Description

Helper to load a librepcb::Project from the file system.

Constructor & Destructor Documentation

◆ ProjectLoader() [1/2]

ProjectLoader ( QObject *  parent = nullptr)
explicitnoexcept

◆ ProjectLoader() [2/2]

ProjectLoader ( const ProjectLoader other)
delete

◆ ~ProjectLoader()

~ProjectLoader ( )
noexcept

Member Function Documentation

◆ setAutoAssignDeviceModels()

void setAutoAssignDeviceModels ( bool  v)
inlinenoexcept
+ Here is the caller graph for this function:

◆ open()

std::unique_ptr< Project > open ( std::unique_ptr< TransactionalDirectory directory,
const QString &  filename 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getUpgradeMessages()

const std::optional< QList< FileFormatMigration::Message > > & getUpgradeMessages ( ) const
inlinenoexcept
+ Here is the caller graph for this function:

◆ operator=()

ProjectLoader & operator= ( const ProjectLoader rhs)
delete

◆ loadMetadata()

void loadMetadata ( Project p)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ loadSettings()

void loadSettings ( Project p)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ loadOutputJobs()

void loadOutputJobs ( Project p)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ loadLibrary()

void loadLibrary ( Project p)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ loadLibraryElements()

template<typename ElementType >
void loadLibraryElements ( Project p,
const QString &  dirname,
const QString &  type,
void(ProjectLibrary::*)(ElementType &)  addFunction 
)
private
+ Here is the call graph for this function:

◆ loadCircuit()

void loadCircuit ( Project p)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ loadErc()

void loadErc ( Project p)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ loadSchematics()

void loadSchematics ( Project p)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ loadSchematic()

void loadSchematic ( Project p,
const QString &  relativeFilePath 
)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ loadSchematicSymbol()

void loadSchematicSymbol ( Schematic s,
const SExpression node 
)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ loadSchematicNetSegment()

void loadSchematicNetSegment ( Schematic s,
const SExpression node 
)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ loadBoards()

void loadBoards ( Project p)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ loadBoard()

void loadBoard ( Project p,
const QString &  relativeFilePath 
)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ loadBoardDeviceInstance()

void loadBoardDeviceInstance ( Board b,
const SExpression node 
)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ loadBoardNetSegment()

void loadBoardNetSegment ( Board b,
const SExpression node 
)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ loadBoardPlane()

void loadBoardPlane ( Board b,
const SExpression node 
)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ loadBoardUserSettings()

void loadBoardUserSettings ( Board b)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ mAutoAssignDeviceModels

bool mAutoAssignDeviceModels
private

◆ mUpgradeMessages

std::optional<QList<FileFormatMigration::Message> > mUpgradeMessages
private

The documentation for this class was generated from the following files: