LibrePCB Developers Documentation
EagleProjectImport Class Referencefinal

Loads and imports an EAGLE project into a librepcb::Project. More...

#include <eagleprojectimport.h>

Inherits QObject.

+ Collaboration diagram for EagleProjectImport:

Classes

struct  ComponentMap
 

Public Member Functions

 EagleProjectImport (const EagleProjectImport &other)=delete
 
 EagleProjectImport (QObject *parent=nullptr) noexcept
 
 ~EagleProjectImport () noexcept
 
std::shared_ptr< MessageLoggergetLogger () const noexcept
 
bool isReady () const noexcept
 
const QString & getProjectName () const noexcept
 
int getSheetCount () const noexcept
 
bool hasBoard () const noexcept
 
void reset () noexcept
 
QStringList open (const FilePath &sch, const FilePath &brd)
 
void import (Project &project)
 
EagleProjectImportoperator= (const EagleProjectImport &rhs)=delete
 

Private Member Functions

const SymbolimportLibrarySymbol (EagleLibraryConverter &converter, ProjectLibrary &library, const QString &libName, const QString &libUrn, const QString &symName)
 
const ComponentimportLibraryComponent (EagleLibraryConverter &converter, ProjectLibrary &library, const QString &libName, const QString &libUrn, const QString &devSetName)
 
const PackageimportLibraryPackage (EagleLibraryConverter &converter, ProjectLibrary &library, const QString &libName, const QString &libUrn, const QString &pkgName)
 
const DeviceimportLibraryDevice (EagleLibraryConverter &converter, ProjectLibrary &library, const QString &devLibName, const QString &devLibUrn, const QString &devSetName, const QString &devName, const QString &pkgLibName, const QString &pkgLibUrn)
 
NetSignalimportNet (Project &project, const parseagle::Net &net)
 
void importLibraries (const QList< parseagle::Library > &libs, bool isBoard)
 
void importSchematic (Project &project, EagleLibraryConverter &converter, const parseagle::Sheet &sheet)
 
void importBoard (Project &project, EagleLibraryConverter &converter)
 
bool hasBuses (const parseagle::Schematic &schematic) const noexcept
 
tl::optional< BoundedUnsignedRatiotryGetDrcRatio (const QString &nr, const QString &nmin, const QString &nmax) const
 
std::shared_ptr< const parseagle::Symbol > getSymbol (const QString &libName, const QString &libUrn, const QString &name) const
 
std::shared_ptr< const parseagle::Package > getPackage (const QString &libName, const QString &libUrn, const QString &name) const
 
std::shared_ptr< const parseagle::DeviceSet > getDeviceSet (const QString &libName, const QString &libUrn, const QString &name) const
 
const parseagle::Device & getDevice (const parseagle::DeviceSet &devSet, const QString &name) const
 
const parseagle::Technology * tryGetTechnology (const parseagle::Device &dev, const QString &name) const
 
const parseagle::Part & getPart (const QString &name) const
 

Private Attributes

std::shared_ptr< MessageLoggermLogger
 
QString mProjectName
 
QScopedPointer< parseagle::Schematic > mSchematic
 
QScopedPointer< parseagle::Board > mBoard
 
QHash< QStringList, std::shared_ptr< const parseagle::Symbol > > mSymbols
 Key={libName, libUrn, symName}. More...
 
QHash< QStringList, std::shared_ptr< const parseagle::Package > > mPackages
 Key={libName, libUrn, pkgName}. More...
 
QHash< QStringList, std::shared_ptr< const parseagle::DeviceSet > > mDeviceSets
 Key={libName, libUrn, devSetName}. More...
 
QHash< QStringList, UuidmLibSymbolMap
 Key={libName, libUrn, symName}, Value=libSymUuid. More...
 
QHash< QStringList, UuidmLibComponentMap
 Key={libName, libUrn, deviceSetName}, Value=libCmpUuid. More...
 
QHash< QStringList, UuidmLibComponentGateMap
 Key={libCmpUuid, gateName}, Value=libCmpGateUuid. More...
 
QHash< QStringList, UuidmLibPackageMap
 Key={libName, libUrn, pkgName}, Value=libPkgUuid. More...
 
QHash< QStringList, UuidmLibDeviceMap
 Key={libName, libUrn, devSetname, devName}, Value=libDevUuid. More...
 
QHash< QString, ComponentMapmComponentMap
 
QSet< QString > mSchematicDirNames
 All already imported schematic directory names. More...
 
QHash< QString, UuidmNetSignalMap
 Key=eagleNetName, Value=netSignalUuid. More...
 

Detailed Description

Loads and imports an EAGLE project into a librepcb::Project.

Constructor & Destructor Documentation

◆ EagleProjectImport() [1/2]

EagleProjectImport ( const EagleProjectImport other)
delete

◆ EagleProjectImport() [2/2]

EagleProjectImport ( QObject *  parent = nullptr)
explicitnoexcept

◆ ~EagleProjectImport()

~EagleProjectImport ( )
noexcept

Member Function Documentation

◆ getLogger()

std::shared_ptr< MessageLogger > getLogger ( ) const
inlinenoexcept

◆ isReady()

bool isReady ( ) const
inlinenoexcept

◆ getProjectName()

const QString & getProjectName ( ) const
inlinenoexcept

◆ getSheetCount()

int getSheetCount ( ) const
noexcept

◆ hasBoard()

bool hasBoard ( ) const
inlinenoexcept

◆ reset()

void reset ( )
noexcept
+ Here is the caller graph for this function:

◆ open()

QStringList open ( const FilePath sch,
const FilePath brd 
)
+ Here is the call graph for this function:

◆ import()

void import ( Project project)
+ Here is the call graph for this function:

◆ operator=()

EagleProjectImport & operator= ( const EagleProjectImport rhs)
delete

◆ importLibrarySymbol()

const Symbol & importLibrarySymbol ( EagleLibraryConverter converter,
ProjectLibrary library,
const QString &  libName,
const QString &  libUrn,
const QString &  symName 
)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ importLibraryComponent()

const Component & importLibraryComponent ( EagleLibraryConverter converter,
ProjectLibrary library,
const QString &  libName,
const QString &  libUrn,
const QString &  devSetName 
)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ importLibraryPackage()

const Package & importLibraryPackage ( EagleLibraryConverter converter,
ProjectLibrary library,
const QString &  libName,
const QString &  libUrn,
const QString &  pkgName 
)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ importLibraryDevice()

const Device & importLibraryDevice ( EagleLibraryConverter converter,
ProjectLibrary library,
const QString &  devLibName,
const QString &  devLibUrn,
const QString &  devSetName,
const QString &  devName,
const QString &  pkgLibName,
const QString &  pkgLibUrn 
)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ importNet()

NetSignal & importNet ( Project project,
const parseagle::Net &  net 
)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ importLibraries()

void importLibraries ( const QList< parseagle::Library > &  libs,
bool  isBoard 
)
private
+ Here is the caller graph for this function:

◆ importSchematic()

void importSchematic ( Project project,
EagleLibraryConverter converter,
const parseagle::Sheet &  sheet 
)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ importBoard()

void importBoard ( Project project,
EagleLibraryConverter converter 
)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ hasBuses()

bool hasBuses ( const parseagle::Schematic &  schematic) const
privatenoexcept
+ Here is the caller graph for this function:

◆ tryGetDrcRatio()

tl::optional< BoundedUnsignedRatio > tryGetDrcRatio ( const QString &  nr,
const QString &  nmin,
const QString &  nmax 
) const
private
+ Here is the caller graph for this function:

◆ getSymbol()

std::shared_ptr< const parseagle::Symbol > getSymbol ( const QString &  libName,
const QString &  libUrn,
const QString &  name 
) const
private
+ Here is the caller graph for this function:

◆ getPackage()

std::shared_ptr< const parseagle::Package > getPackage ( const QString &  libName,
const QString &  libUrn,
const QString &  name 
) const
private
+ Here is the caller graph for this function:

◆ getDeviceSet()

std::shared_ptr< const parseagle::DeviceSet > getDeviceSet ( const QString &  libName,
const QString &  libUrn,
const QString &  name 
) const
private
+ Here is the caller graph for this function:

◆ getDevice()

const parseagle::Device & getDevice ( const parseagle::DeviceSet &  devSet,
const QString &  name 
) const
private
+ Here is the caller graph for this function:

◆ tryGetTechnology()

const parseagle::Technology * tryGetTechnology ( const parseagle::Device &  dev,
const QString &  name 
) const
private
+ Here is the caller graph for this function:

◆ getPart()

const parseagle::Part & getPart ( const QString &  name) const
private
+ Here is the caller graph for this function:

Member Data Documentation

◆ mLogger

std::shared_ptr<MessageLogger> mLogger
private

◆ mProjectName

QString mProjectName
private

◆ mSchematic

QScopedPointer<parseagle::Schematic> mSchematic
private

◆ mBoard

QScopedPointer<parseagle::Board> mBoard
private

◆ mSymbols

QHash<QStringList, std::shared_ptr<const parseagle::Symbol> > mSymbols
private

Key={libName, libUrn, symName}.

◆ mPackages

QHash<QStringList, std::shared_ptr<const parseagle::Package> > mPackages
private

Key={libName, libUrn, pkgName}.

◆ mDeviceSets

QHash<QStringList, std::shared_ptr<const parseagle::DeviceSet> > mDeviceSets
private

Key={libName, libUrn, devSetName}.

◆ mLibSymbolMap

QHash<QStringList, Uuid> mLibSymbolMap
private

Key={libName, libUrn, symName}, Value=libSymUuid.

◆ mLibComponentMap

QHash<QStringList, Uuid> mLibComponentMap
private

Key={libName, libUrn, deviceSetName}, Value=libCmpUuid.

◆ mLibComponentGateMap

QHash<QStringList, Uuid> mLibComponentGateMap
private

Key={libCmpUuid, gateName}, Value=libCmpGateUuid.

◆ mLibPackageMap

QHash<QStringList, Uuid> mLibPackageMap
private

Key={libName, libUrn, pkgName}, Value=libPkgUuid.

◆ mLibDeviceMap

QHash<QStringList, Uuid> mLibDeviceMap
private

Key={libName, libUrn, devSetname, devName}, Value=libDevUuid.

◆ mComponentMap

QHash<QString, ComponentMap> mComponentMap
private

◆ mSchematicDirNames

QSet<QString> mSchematicDirNames
private

All already imported schematic directory names.

◆ mNetSignalMap

QHash<QString, Uuid> mNetSignalMap
private

Key=eagleNetName, Value=netSignalUuid.


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