20#ifndef LIBREPCB_EDITOR_SCHEMATICCLIPBOARDDATA_H
21#define LIBREPCB_EDITOR_SCHEMATICCLIPBOARDDATA_H
46class TransactionalDirectory;
47class TransactionalFileSystem;
62 static constexpr const char*
tagname =
"component";
95 value(node.getChild(
"value/@0").getValue()),
132 static constexpr const char*
tagname =
"symbol";
160 position(node.getChild(
"position")),
182 return (
uuid != rhs.uuid) ||
212 node.getChild(
"max_trace_length_difference/@0"))),
228 return (
uuid != rhs.uuid) || (
name != rhs.name) ||
235 static constexpr const char*
tagname =
"bussegment";
274 return (
uuid != rhs.uuid) || (
busUuid != rhs.busUuid) ||
281 static constexpr const char*
tagname =
"netsegment";
327 const QString& path = "") noexcept;
353 std::unique_ptr<QMimeData>
toMimeData()
const;
354 static std::unique_ptr<SchematicClipboardData>
fromMimeData(
355 const QMimeData* mime);
356 static bool isValid(
const QMimeData* mime)
noexcept;
The Angle class is used to represent an angle (for example 12.75 degrees)
Definition angle.h:76
The Point class is used to represent a point/coordinate/vector, for example (1.2mm; 5....
Definition point.h:78
void serialize(SExpression &root) const
Serialize into librepcb::SExpression node.
Definition point.cpp:136
The SExpression class.
Definition sexpression.h:69
SExpression & appendList(const QString &name)
Definition sexpression.cpp:212
void ensureLineBreak()
Definition sexpression.cpp:206
void appendChild(std::unique_ptr< SExpression > child)
Definition sexpression.cpp:217
void serialize(SExpression &root) const
Serialize into librepcb::SExpression node.
Definition serializableobjectlist.h:380
The Signal class is used to emit signals on non-QObject derived classes.
Definition signalslot.h:65
Helper class to access a subdirectory of TransactionalFileSystem.
Definition transactionaldirectory.h:51
Transactional librepcb::FileSystem implementation.
Definition transactionalfilesystem.h:70
The Uuid class is a replacement for QUuid to get UUID strings without {} braces.
Definition uuid.h:56
The SchematicClipboardData class.
Definition schematicclipboarddata.h:58
ImageList & getImages() noexcept
Definition schematicclipboarddata.h:350
SerializableObjectList< ComponentInstance, ComponentInstance > mComponentInstances
Definition schematicclipboarddata.h:371
static QString getMimeType() noexcept
Definition schematicclipboarddata.cpp:161
TextList mTexts
Definition schematicclipboarddata.h:376
ImageList mImages
Definition schematicclipboarddata.h:377
std::unique_ptr< QMimeData > toMimeData() const
Definition schematicclipboarddata.cpp:101
PolygonList & getPolygons() noexcept
Definition schematicclipboarddata.h:348
SerializableObjectList< NetSegment, NetSegment > & getNetSegments() noexcept
Definition schematicclipboarddata.h:345
SerializableObjectList< Bus, Bus > mBuses
Definition schematicclipboarddata.h:369
const AssemblyVariantList & getAssemblyVariants() noexcept
Definition schematicclipboarddata.h:330
std::unique_ptr< TransactionalDirectory > getDirectory(const QString &path="") noexcept
Definition schematicclipboarddata.cpp:91
SerializableObjectList< SymbolInstance, SymbolInstance > mSymbolInstances
Definition schematicclipboarddata.h:372
TextList & getTexts() noexcept
Definition schematicclipboarddata.h:349
SerializableObjectList< SymbolInstance, SymbolInstance > & getSymbolInstances() noexcept
Definition schematicclipboarddata.h:339
SerializableObjectList< NetSegment, NetSegment > mNetSegments
Definition schematicclipboarddata.h:374
const Point & getCursorPos() const noexcept
Definition schematicclipboarddata.h:329
SerializableObjectList< BusSegment, BusSegment > mBusSegments
Definition schematicclipboarddata.h:373
SerializableObjectList< BusSegment, BusSegment > & getBusSegments() noexcept
Definition schematicclipboarddata.h:342
SerializableObjectList< ComponentInstance, ComponentInstance > & getComponentInstances() noexcept
Definition schematicclipboarddata.h:335
Uuid mSchematicUuid
Definition schematicclipboarddata.h:366
SerializableObjectList< Bus, Bus > & getBuses() noexcept
Definition schematicclipboarddata.h:333
SchematicClipboardData(const SchematicClipboardData &other)=delete
std::shared_ptr< TransactionalFileSystem > mFileSystem
Definition schematicclipboarddata.h:365
PolygonList mPolygons
Definition schematicclipboarddata.h:375
static std::unique_ptr< SchematicClipboardData > fromMimeData(const QMimeData *mime)
Definition schematicclipboarddata.cpp:142
AssemblyVariantList mAssemblyVariants
Definition schematicclipboarddata.h:368
SchematicClipboardData()=delete
static bool isValid(const QMimeData *mime) noexcept
Definition schematicclipboarddata.cpp:153
SchematicClipboardData & operator=(const SchematicClipboardData &rhs)=delete
const Uuid & getSchematicUuid() const noexcept
Definition schematicclipboarddata.h:328
~SchematicClipboardData() noexcept
Definition schematicclipboarddata.cpp:79
Point mCursorPos
Definition schematicclipboarddata.h:367
Definition occmodel.cpp:77
type_safe::constrained_type< QString, CircuitIdentifierConstraint, CircuitIdentifierVerifier > CircuitIdentifier
Definition circuitidentifier.h:88
type_safe::constrained_type< Length, UnsignedLengthConstraint, UnsignedLengthVerifier > UnsignedLength
Definition length.h:694
type_safe::constrained_type< QString, BusNameConstraint, BusNameVerifier > BusName
Definition busname.h:82
AttributeKey deserialize(const SExpression &node)
Definition attributekey.h:99
Definition schematicclipboarddata.h:190
Bus(const Uuid &uuid, const BusName &name, bool prefixNetNames, const std::optional< UnsignedLength > &maxTraceLengthDifference)
Definition schematicclipboarddata.h:199
bool prefixNetNames
Definition schematicclipboarddata.h:195
std::optional< UnsignedLength > maxTraceLengthDifference
Definition schematicclipboarddata.h:196
Uuid uuid
Definition schematicclipboarddata.h:193
Signal< Bus > onEdited
Dummy event, not used.
Definition schematicclipboarddata.h:197
BusName name
Definition schematicclipboarddata.h:194
bool operator!=(const Bus &rhs) noexcept
Definition schematicclipboarddata.h:227
void serialize(SExpression &root) const
Definition schematicclipboarddata.h:218
static constexpr const char * tagname
Definition schematicclipboarddata.h:191
const Uuid & getUuid() const noexcept
Definition schematicclipboarddata.h:216
Bus(const SExpression &node)
Definition schematicclipboarddata.h:207
Definition schematicclipboarddata.h:234
JunctionList junctions
Definition schematicclipboarddata.h:239
NetLabelList labels
Definition schematicclipboarddata.h:241
Uuid uuid
Required for references from net lines.
Definition schematicclipboarddata.h:237
NetLineList lines
Definition schematicclipboarddata.h:240
BusSegment(const Uuid &uuid, const Uuid &busUuid)
Definition schematicclipboarddata.h:244
Signal< BusSegment > onEdited
Dummy event, not used.
Definition schematicclipboarddata.h:242
void serialize(SExpression &root) const
Definition schematicclipboarddata.h:260
static constexpr const char * tagname
Definition schematicclipboarddata.h:235
Uuid busUuid
Definition schematicclipboarddata.h:238
bool operator!=(const BusSegment &rhs) noexcept
Definition schematicclipboarddata.h:273
BusSegment(const SExpression &node)
Definition schematicclipboarddata.h:252
Definition schematicclipboarddata.h:61
QString value
Definition schematicclipboarddata.h:68
ComponentInstance(const SExpression &node)
Definition schematicclipboarddata.h:90
Uuid libComponentUuid
Definition schematicclipboarddata.h:65
Uuid libVariantUuid
Definition schematicclipboarddata.h:66
Uuid uuid
Definition schematicclipboarddata.h:64
bool lockAssembly
Definition schematicclipboarddata.h:71
ComponentInstance(const Uuid &uuid, const Uuid &libComponentUuid, const Uuid &libVariantUuid, const CircuitIdentifier &name, const QString &value, const AttributeList &attributes, const ComponentAssemblyOptionList &assemblyOptions, bool lockParts)
Definition schematicclipboarddata.h:75
Signal< ComponentInstance > onEdited
Dummy event, not used.
Definition schematicclipboarddata.h:73
AttributeList attributes
Definition schematicclipboarddata.h:69
void serialize(SExpression &root) const
Definition schematicclipboarddata.h:104
static constexpr const char * tagname
Definition schematicclipboarddata.h:62
const Uuid & getUuid() const noexcept
Required for librepcb::SerializableObjectList::contains()
Definition schematicclipboarddata.h:102
CircuitIdentifier name
Definition schematicclipboarddata.h:67
ComponentAssemblyOptionList assemblyOptions
Definition schematicclipboarddata.h:70
bool operator!=(const ComponentInstance &rhs) noexcept
Definition schematicclipboarddata.h:122
Definition schematicclipboarddata.h:280
JunctionList junctions
Definition schematicclipboarddata.h:284
NetLabelList labels
Definition schematicclipboarddata.h:286
NetLineList lines
Definition schematicclipboarddata.h:285
NetSegment(const SExpression &node)
Definition schematicclipboarddata.h:292
NetSegment(const CircuitIdentifier &netName)
Definition schematicclipboarddata.h:289
void serialize(SExpression &root) const
Definition schematicclipboarddata.h:299
static constexpr const char * tagname
Definition schematicclipboarddata.h:281
bool operator!=(const NetSegment &rhs) noexcept
Definition schematicclipboarddata.h:311
Signal< NetSegment > onEdited
Dummy event, not used.
Definition schematicclipboarddata.h:287
CircuitIdentifier netName
Definition schematicclipboarddata.h:283
Definition schematicclipboarddata.h:131
Uuid uuid
Definition schematicclipboarddata.h:134
Angle rotation
Definition schematicclipboarddata.h:138
SymbolInstance(const SExpression &node)
Definition schematicclipboarddata.h:156
SymbolInstance(const Uuid &uuid, const Uuid &componentInstanceUuid, const Uuid &symbolVariantItemUuid, const Point &position, const Angle &rotation, bool mirrored, const TextList &texts)
Definition schematicclipboarddata.h:144
bool mirrored
Definition schematicclipboarddata.h:139
void serialize(SExpression &root) const
Definition schematicclipboarddata.h:166
static constexpr const char * tagname
Definition schematicclipboarddata.h:132
bool operator!=(const SymbolInstance &rhs) noexcept
Definition schematicclipboarddata.h:181
Uuid componentInstanceUuid
Definition schematicclipboarddata.h:135
TextList texts
Definition schematicclipboarddata.h:140
Uuid symbolVariantItemUuid
Definition schematicclipboarddata.h:136
Point position
Definition schematicclipboarddata.h:137
Signal< SymbolInstance > onEdited
Dummy event, not used.
Definition schematicclipboarddata.h:142