LibrePCB Developers Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Symbol Class Referencefinal

The Symbol class represents the part of a component which is added to schematics. More...

#include <symbol.h>

+ Inheritance diagram for Symbol:
+ Collaboration diagram for Symbol:

Public Member Functions

 Symbol ()=delete
 
 Symbol (const Symbol &other)=delete
 
 Symbol (const Uuid &uuid, const Version &version, const QString &author, const ElementName &name_en_US, const QString &description_en_US, const QString &keywords_en_US)
 
 Symbol (const FilePath &elementDirectory, bool readOnly)
 
 ~Symbol () noexcept
 
SymbolPinListgetPins () noexcept
 
const SymbolPinListgetPins () const noexcept
 
PolygonListgetPolygons () noexcept
 
const PolygonListgetPolygons () const noexcept
 
CircleListgetCircles () noexcept
 
const CircleListgetCircles () const noexcept
 
TextListgetTexts () noexcept
 
const TextListgetTexts () const noexcept
 
virtual
LibraryElementCheckMessageList 
runChecks () const override
 
void registerGraphicsItem (SymbolGraphicsItem &item) noexcept
 
void unregisterGraphicsItem (SymbolGraphicsItem &item) noexcept
 
Symboloperator= (const Symbol &rhs)=delete
 
- Public Member Functions inherited from LibraryElement
 LibraryElement ()=delete
 
 LibraryElement (const LibraryElement &other)=delete
 
 LibraryElement (const QString &shortElementName, const QString &longElementName, const Uuid &uuid, const Version &version, const QString &author, const ElementName &name_en_US, const QString &description_en_US, const QString &keywords_en_US)
 
 LibraryElement (const FilePath &elementDirectory, const QString &shortElementName, const QString &longElementName, bool readOnly)
 
virtual ~LibraryElement () noexcept
 
const QSet< Uuid > & getCategories () const noexcept
 
void setCategories (const QSet< Uuid > &uuids) noexcept
 
LibraryElementoperator= (const LibraryElement &rhs)=delete
 
- Public Member Functions inherited from LibraryBaseElement
 LibraryBaseElement ()=delete
 
 LibraryBaseElement (const LibraryBaseElement &other)=delete
 
 LibraryBaseElement (bool dirnameMustBeUuid, const QString &shortElementName, const QString &longElementName, const Uuid &uuid, const Version &version, const QString &author, const ElementName &name_en_US, const QString &description_en_US, const QString &keywords_en_US)
 
 LibraryBaseElement (const FilePath &elementDirectory, bool dirnameMustBeUuid, const QString &shortElementName, const QString &longElementName, bool readOnly)
 
virtual ~LibraryBaseElement () noexcept
 
const FilePathgetFilePath () const noexcept
 
const QString & getShortElementName () const noexcept
 
const QString & getLongElementName () const noexcept
 
bool isOpenedReadOnly () const noexcept
 
const UuidgetUuid () const noexcept
 
const VersiongetVersion () const noexcept
 
const QString & getAuthor () const noexcept
 
const QDateTime & getCreated () const noexcept
 
bool isDeprecated () const noexcept
 
const LocalizedNameMapgetNames () const noexcept
 
const LocalizedDescriptionMapgetDescriptions () const noexcept
 
const LocalizedKeywordsMapgetKeywords () const noexcept
 
QStringList getAllAvailableLocales () const noexcept
 
void setVersion (const Version &version) noexcept
 
void setAuthor (const QString &author) noexcept
 
void setDeprecated (bool deprecated) noexcept
 
void setNames (const LocalizedNameMap &names) noexcept
 
void setDescriptions (const LocalizedDescriptionMap &descriptions) noexcept
 
void setKeywords (const LocalizedKeywordsMap &keywords) noexcept
 
virtual void save ()
 
virtual void saveTo (const FilePath &destination)
 
virtual void saveIntoParentDirectory (const FilePath &parentDir)
 
virtual void moveTo (const FilePath &destination)
 
virtual void moveIntoParentDirectory (const FilePath &parentDir)
 
LibraryBaseElementoperator= (const LibraryBaseElement &rhs)=delete
 
- Public Member Functions inherited from SerializableObject
 SerializableObject () noexcept
 
virtual ~SerializableObject () noexcept
 
SExpression serializeToDomElement (const QString &name) const
 Serialize the object to a new S-Expression node. More...
 

Static Public Member Functions

static QString getShortElementName () noexcept
 
static QString getLongElementName () noexcept
 
- Static Public Member Functions inherited from LibraryBaseElement
template<typename ElementType >
static bool isValidElementDirectory (const FilePath &dir) noexcept
 
- Static Public Member Functions inherited from SerializableObject
template<typename T >
static void serializeObjectContainer (SExpression &root, const T &container, const QString &itemName)
 
template<typename T >
static void serializePointerContainer (SExpression &root, const T &container, const QString &itemName)
 
template<typename T >
static void serializePointerContainerUuidSorted (SExpression &root, const T &container, const QString &itemName)
 

Private Member Functions

void listObjectAdded (const SymbolPinList &list, int newIndex, const std::shared_ptr< SymbolPin > &ptr) noexceptoverride
 
void listObjectAdded (const PolygonList &list, int newIndex, const std::shared_ptr< Polygon > &ptr) noexceptoverride
 
void listObjectAdded (const CircleList &list, int newIndex, const std::shared_ptr< Circle > &ptr) noexceptoverride
 
void listObjectAdded (const TextList &list, int newIndex, const std::shared_ptr< Text > &ptr) noexceptoverride
 
void listObjectRemoved (const SymbolPinList &list, int oldIndex, const std::shared_ptr< SymbolPin > &ptr) noexceptoverride
 
void listObjectRemoved (const PolygonList &list, int oldIndex, const std::shared_ptr< Polygon > &ptr) noexceptoverride
 
void listObjectRemoved (const CircleList &list, int oldIndex, const std::shared_ptr< Circle > &ptr) noexceptoverride
 
void listObjectRemoved (const TextList &list, int oldIndex, const std::shared_ptr< Text > &ptr) noexceptoverride
 
void serialize (SExpression &root) const override
 Serialize the object into an existing S-Expression node. More...
 
- Private Member Functions inherited from SerializableObjectList< T, P >::IF_Observer
virtual void listObjectAdded (const SerializableObjectList< T, P > &list, int newIndex, const std::shared_ptr< T > &ptr) noexcept=0
 
virtual void listObjectRemoved (const SerializableObjectList< T, P > &list, int oldIndex, const std::shared_ptr< T > &ptr) noexcept=0
 

Private Attributes

SymbolPinList mPins
 
PolygonList mPolygons
 
CircleList mCircles
 
TextList mTexts
 
SymbolGraphicsItemmRegisteredGraphicsItem
 

Additional Inherited Members

- Protected Member Functions inherited from LibraryBaseElement
virtual void cleanupAfterLoadingElementFromFile () noexcept
 
virtual void copyTo (const FilePath &destination, bool removeSource)
 
- Protected Attributes inherited from LibraryElement
QSet< UuidmCategories
 
- Protected Attributes inherited from LibraryBaseElement
FilePath mDirectory
 
bool mDirectoryIsTemporary
 
bool mOpenedReadOnly
 
bool mDirectoryNameMustBeUuid
 
QString mShortElementName
 e.g. "lib", "cmpcat", "sym" More...
 
QString mLongElementName
 e.g. "library", "component_category", "symbol" More...
 
SExpression mLoadingFileDocument
 
Uuid mUuid
 
Version mVersion
 
QString mAuthor
 
QDateTime mCreated
 
bool mIsDeprecated
 
LocalizedNameMap mNames
 
LocalizedDescriptionMap mDescriptions
 
LocalizedKeywordsMap mKeywords
 

Detailed Description

The Symbol class represents the part of a component which is added to schematics.

Following information is considered as the "interface" of a symbol and must therefore never be changed:

  • UUID
  • Pins (neither adding nor removing pins is allowed)
    • UUID

Constructor & Destructor Documentation

Symbol ( )
delete
Symbol ( const Symbol other)
delete
Symbol ( const Uuid uuid,
const Version version,
const QString &  author,
const ElementName name_en_US,
const QString &  description_en_US,
const QString &  keywords_en_US 
)
Symbol ( const FilePath elementDirectory,
bool  readOnly 
)
explicit

+ Here is the call graph for this function:

~Symbol ( )
noexcept

Member Function Documentation

SymbolPinList& getPins ( )
inlinenoexcept

+ Here is the caller graph for this function:

const SymbolPinList& getPins ( ) const
inlinenoexcept
PolygonList& getPolygons ( )
inlinenoexcept

+ Here is the caller graph for this function:

const PolygonList& getPolygons ( ) const
inlinenoexcept
CircleList& getCircles ( )
inlinenoexcept

+ Here is the caller graph for this function:

const CircleList& getCircles ( ) const
inlinenoexcept
TextList& getTexts ( )
inlinenoexcept

+ Here is the caller graph for this function:

const TextList& getTexts ( ) const
inlinenoexcept
LibraryElementCheckMessageList runChecks ( ) const
overridevirtual

Reimplemented from LibraryElement.

+ Here is the call graph for this function:

void registerGraphicsItem ( SymbolGraphicsItem item)
noexcept
void unregisterGraphicsItem ( SymbolGraphicsItem item)
noexcept

+ Here is the caller graph for this function:

Symbol& operator= ( const Symbol rhs)
delete
static QString getShortElementName ( )
inlinestaticnoexcept
static QString getLongElementName ( )
inlinestaticnoexcept
void listObjectAdded ( const SymbolPinList list,
int  newIndex,
const std::shared_ptr< SymbolPin > &  ptr 
)
overrideprivatenoexcept
void listObjectAdded ( const PolygonList list,
int  newIndex,
const std::shared_ptr< Polygon > &  ptr 
)
overrideprivatenoexcept
void listObjectAdded ( const CircleList list,
int  newIndex,
const std::shared_ptr< Circle > &  ptr 
)
overrideprivatenoexcept
void listObjectAdded ( const TextList list,
int  newIndex,
const std::shared_ptr< Text > &  ptr 
)
overrideprivatenoexcept
void listObjectRemoved ( const SymbolPinList list,
int  oldIndex,
const std::shared_ptr< SymbolPin > &  ptr 
)
overrideprivatenoexcept
void listObjectRemoved ( const PolygonList list,
int  oldIndex,
const std::shared_ptr< Polygon > &  ptr 
)
overrideprivatenoexcept
void listObjectRemoved ( const CircleList list,
int  oldIndex,
const std::shared_ptr< Circle > &  ptr 
)
overrideprivatenoexcept
void listObjectRemoved ( const TextList list,
int  oldIndex,
const std::shared_ptr< Text > &  ptr 
)
overrideprivatenoexcept
void serialize ( SExpression root) const
overrideprivatevirtual

Serialize the object into an existing S-Expression node.

This method inserts/appends all attributes and childs of the object to an existing S-Expression node. The content which already exists in the given S-Expression node will not be removed.

Note
The generated S-Expression node has always the format of the application's major version (it's not possible to generate DOMs of older versions).
Parameters
rootThe target DOM root node
Exceptions
ExceptionThis method throws an exception if an error occurs.

Reimplemented from LibraryElement.

+ Here is the call graph for this function:

Member Data Documentation

SymbolPinList mPins
private
PolygonList mPolygons
private
CircleList mCircles
private
TextList mTexts
private
SymbolGraphicsItem* mRegisteredGraphicsItem
private

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