20#ifndef LIBREPCB_CORE_COMPONENTASSEMBLYOPTION_H
21#define LIBREPCB_CORE_COMPONENTASSEMBLYOPTION_H
26#include "../../library/dev/part.h"
27#include "../../serialization/serializableobjectlist.h"
60 const QSet<Uuid>& assemblyVariants,
90 return !(*
this == rhs);
95 const std::shared_ptr<const Part>& obj,
120 static constexpr const char*
tagname =
"device";
The ComponentAssemblyOption class.
Definition componentassemblyoption.h:43
bool operator==(const ComponentAssemblyOption &rhs) const noexcept
Definition componentassemblyoption.cpp:123
const PartList & getParts() const noexcept
Definition componentassemblyoption.h:71
void setAttributes(const AttributeList &value) noexcept
Definition componentassemblyoption.cpp:86
void setDevice(const Uuid &value) noexcept
Definition componentassemblyoption.cpp:79
void partListEdited(const PartList &list, int index, const std::shared_ptr< const Part > &obj, PartList::Event event) noexcept
Definition componentassemblyoption.cpp:136
~ComponentAssemblyOption() noexcept
Definition componentassemblyoption.cpp:72
PartList mParts
Parts available for assembly.
Definition componentassemblyoption.h:109
Event
Definition componentassemblyoption.h:46
@ AssemblyVariantsChanged
Uuid mDevice
Compatible device.
Definition componentassemblyoption.h:100
const QSet< Uuid > & getAssemblyVariants() const noexcept
Definition componentassemblyoption.h:67
const AttributeList & getAttributes() const noexcept
Definition componentassemblyoption.h:66
bool operator!=(const ComponentAssemblyOption &rhs) const noexcept
Definition componentassemblyoption.h:89
Slot< ComponentAssemblyOption, Event > OnEditedSlot
Definition componentassemblyoption.h:53
ComponentAssemblyOption & operator=(const ComponentAssemblyOption &rhs)=delete
QSet< Uuid > mAssemblyVariants
UUIDs of librepcb::AssemblyVariant this option is available for.
Definition componentassemblyoption.h:106
ComponentAssemblyOption()=delete
AttributeList mAttributes
Default attributes to copy when adding new parts.
Definition componentassemblyoption.h:103
void serialize(SExpression &root) const
Serialize into librepcb::SExpression node.
Definition componentassemblyoption.cpp:106
PartList & getParts() noexcept
Definition componentassemblyoption.h:70
PartList::OnEditedSlot mOnPartsEditedSlot
Definition componentassemblyoption.h:112
void setAssemblyVariants(const QSet< Uuid > &assemblyVariants) noexcept
Definition componentassemblyoption.cpp:94
Signal< ComponentAssemblyOption, Event > onEdited
Definition componentassemblyoption.h:52
const Uuid & getDevice() const noexcept
Definition componentassemblyoption.h:65
The SExpression class.
Definition sexpression.h:69
Slot< SerializableObjectList< Part, PartListNameProvider, OnEditedArgs... >, int, const std::shared_ptr< const Part > &, Event > OnEditedSlot
Definition serializableobjectlist.h:136
Event
Definition serializableobjectlist.h:126
The Signal class is used to emit signals on non-QObject derived classes.
Definition signalslot.h:65
The Slot class is used to receive signals from non-QObject derived classes.
Definition signalslot.h:170
The Uuid class is a replacement for QUuid to get UUID strings without {} braces.
Definition uuid.h:56
Definition occmodel.cpp:76
Definition componentassemblyoption.h:119
static constexpr const char * tagname
Definition componentassemblyoption.h:120