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

The LibraryCategory class extends the LibraryBaseElement class with some attributes and methods which are used for all library category classes. More...

#include <librarycategory.h>

+ Inheritance diagram for LibraryCategory:
+ Collaboration diagram for LibraryCategory:

Public Member Functions

 LibraryCategory ()=delete
 
 LibraryCategory (const LibraryCategory &other)=delete
 
 LibraryCategory (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)
 
 LibraryCategory (std::unique_ptr< TransactionalDirectory > directory, const QString &shortElementName, const QString &longElementName)
 
virtual ~LibraryCategory () noexcept
 
const tl::optional< Uuid > & getParentUuid () const noexcept
 
void setParentUuid (const tl::optional< Uuid > &parentUuid) noexcept
 
LibraryCategoryoperator= (const LibraryCategory &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 (std::unique_ptr< TransactionalDirectory > directory, bool dirnameMustBeUuid, const QString &shortElementName, const QString &longElementName)
 
virtual ~LibraryBaseElement () noexcept
 
const TransactionalDirectorygetDirectory () const noexcept
 
TransactionalDirectorygetDirectory () noexcept
 
const QString & getShortElementName () const noexcept
 
const QString & getLongElementName () 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
LibraryElementCheckMessageList 
runChecks () const
 
virtual void save ()
 
virtual void saveTo (TransactionalDirectory &dest)
 
virtual void moveTo (TransactionalDirectory &dest)
 
virtual void saveIntoParentDirectory (TransactionalDirectory &dest)
 
virtual void moveIntoParentDirectory (TransactionalDirectory &dest)
 
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...
 

Protected Member Functions

virtual void serialize (SExpression &root) const override
 Serialize the object into an existing S-Expression node. More...
 
- Protected Member Functions inherited from LibraryBaseElement
virtual void cleanupAfterLoadingElementFromFile () noexcept
 

Protected Attributes

tl::optional< UuidmParentUuid
 
- Protected Attributes inherited from LibraryBaseElement
std::unique_ptr
< TransactionalDirectory
mDirectory
 
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
 

Additional Inherited Members

- Static Public Member Functions inherited from LibraryBaseElement
template<typename ElementType >
static bool isValidElementDirectory (const FilePath &dir) noexcept
 
template<typename ElementType >
static bool isValidElementDirectory (const TransactionalDirectory &dir, const QString &path) 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)
 

Detailed Description

The LibraryCategory class extends the LibraryBaseElement class with some attributes and methods which are used for all library category classes.

Constructor & Destructor Documentation

LibraryCategory ( )
delete
LibraryCategory ( const LibraryCategory other)
delete
LibraryCategory ( 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 
)
LibraryCategory ( std::unique_ptr< TransactionalDirectory directory,
const QString &  shortElementName,
const QString &  longElementName 
)
~LibraryCategory ( )
virtualnoexcept

Member Function Documentation

const tl::optional<Uuid>& getParentUuid ( ) const
inlinenoexcept
void setParentUuid ( const tl::optional< Uuid > &  parentUuid)
inlinenoexcept

+ Here is the caller graph for this function:

LibraryCategory& operator= ( const LibraryCategory rhs)
delete
void serialize ( SExpression root) const
overrideprotectedvirtual

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 LibraryBaseElement.

+ Here is the call graph for this function:

Member Data Documentation

tl::optional<Uuid> mParentUuid
protected

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