The SerializableObject class is the base class for all classes which need to be serializable/deserializable from/to librepcb::SExpression nodes.
More...
#include <serializableobject.h>
Inherited by Alignment, Attribute, BoardDesignRules, Circle, GraphicsLayerStackAppearanceSettings, GridProperties, Hole, Junction, ComponentPinSignalMapItem, ComponentSignal, ComponentSymbolVariant, ComponentSymbolVariantItem, DevicePadSignalMapItem, FootprintClipboardData, SymbolClipboardData, Footprint, FootprintPad, LibraryBaseElement, PackagePad, SymbolPin, NetLabel, NetLine, NetLineAnchor, Path, Point, Polygon, BI_Device, BI_Footprint, BI_Hole, BI_NetLine, BI_NetPoint, BI_NetSegment, BI_Plane, BI_Polygon, BI_StrokeText, BI_Via, Board, BoardFabricationOutputSettings, BoardLayerStack, BoardUserSettings, Circuit, ComponentInstance, ComponentSignalInstance, BoardClipboardData, BoardClipboardData::Device, BoardClipboardData::NetSegment, BoardClipboardData::Plane, SchematicClipboardData, SchematicClipboardData::ComponentInstance, SchematicClipboardData::NetSegment, SchematicClipboardData::SymbolInstance, ErcMsgList, NetClass, NetSignal, ProjectMetadata, ProjectSettings, Schematic, SI_NetLabel, SI_NetLine, SI_NetPoint, SI_NetSegment, SI_Polygon, SI_Symbol, SI_Text, SerializableKeyValueMap< T >, SerializableObjectList< T, P, OnEditedArgs >, StrokeText, Text, Trace, TraceAnchor, Vertex, Via, WorkspaceSettings, SerializableKeyValueMap< LocalizedDescriptionMapPolicy >, SerializableKeyValueMap< LocalizedKeywordsMapPolicy >, SerializableKeyValueMap< LocalizedNameMapPolicy >, SerializableKeyValueMap< NormDependentPrefixMapPolicy >, SerializableObjectList< Attribute, AttributeListNameProvider, Attribute::Event >, SerializableObjectList< Attribute, AttributeListNameProvider, OnEditedArgs... >, SerializableObjectList< Circle, CircleListNameProvider, Circle::Event >, SerializableObjectList< Circle, CircleListNameProvider, OnEditedArgs... >, SerializableObjectList< ComponentPinSignalMapItem, ComponentPinSignalMapNameProvider, ComponentPinSignalMapItem::Event >, SerializableObjectList< ComponentPinSignalMapItem, ComponentPinSignalMapNameProvider, OnEditedArgs... >, SerializableObjectList< ComponentSignal, ComponentSignalListNameProvider, ComponentSignal::Event >, SerializableObjectList< ComponentSignal, ComponentSignalListNameProvider, OnEditedArgs... >, SerializableObjectList< ComponentSymbolVariant, ComponentSymbolVariantListNameProvider, ComponentSymbolVariant::Event >, SerializableObjectList< ComponentSymbolVariant, ComponentSymbolVariantListNameProvider, OnEditedArgs... >, SerializableObjectList< ComponentSymbolVariantItem, ComponentSymbolVariantItemListNameProvider, ComponentSymbolVariantItem::Event >, SerializableObjectList< ComponentSymbolVariantItem, ComponentSymbolVariantItemListNameProvider, OnEditedArgs... >, SerializableObjectList< DevicePadSignalMapItem, DevicePadSignalMapNameProvider, DevicePadSignalMapItem::Event >, SerializableObjectList< DevicePadSignalMapItem, DevicePadSignalMapNameProvider, OnEditedArgs... >, SerializableObjectList< Footprint, FootprintListNameProvider, Footprint::Event >, SerializableObjectList< Footprint, FootprintListNameProvider, OnEditedArgs... >, SerializableObjectList< FootprintPad, FootprintPadListNameProvider, FootprintPad::Event >, SerializableObjectList< FootprintPad, FootprintPadListNameProvider, OnEditedArgs... >, SerializableObjectList< Hole, HoleListNameProvider, Hole::Event >, SerializableObjectList< Hole, HoleListNameProvider, OnEditedArgs... >, SerializableObjectList< Junction, JunctionListNameProvider, Junction::Event >, SerializableObjectList< Junction, JunctionListNameProvider, OnEditedArgs... >, SerializableObjectList< librepcb::project::editor::BoardClipboardData::Device, librepcb::project::editor::BoardClipboardData::Device >, SerializableObjectList< librepcb::project::editor::BoardClipboardData::Device, librepcb::project::editor::BoardClipboardData::Device, OnEditedArgs... >, SerializableObjectList< librepcb::project::editor::BoardClipboardData::NetSegment, librepcb::project::editor::BoardClipboardData::NetSegment >, SerializableObjectList< librepcb::project::editor::BoardClipboardData::NetSegment, librepcb::project::editor::BoardClipboardData::NetSegment, OnEditedArgs... >, SerializableObjectList< librepcb::project::editor::BoardClipboardData::Plane, librepcb::project::editor::BoardClipboardData::Plane >, SerializableObjectList< librepcb::project::editor::BoardClipboardData::Plane, librepcb::project::editor::BoardClipboardData::Plane, OnEditedArgs... >, SerializableObjectList< librepcb::project::editor::SchematicClipboardData::ComponentInstance, librepcb::project::editor::SchematicClipboardData::ComponentInstance >, SerializableObjectList< librepcb::project::editor::SchematicClipboardData::ComponentInstance, librepcb::project::editor::SchematicClipboardData::ComponentInstance, OnEditedArgs... >, SerializableObjectList< librepcb::project::editor::SchematicClipboardData::NetSegment, librepcb::project::editor::SchematicClipboardData::NetSegment >, SerializableObjectList< librepcb::project::editor::SchematicClipboardData::NetSegment, librepcb::project::editor::SchematicClipboardData::NetSegment, OnEditedArgs... >, SerializableObjectList< librepcb::project::editor::SchematicClipboardData::SymbolInstance, librepcb::project::editor::SchematicClipboardData::SymbolInstance >, SerializableObjectList< librepcb::project::editor::SchematicClipboardData::SymbolInstance, librepcb::project::editor::SchematicClipboardData::SymbolInstance, OnEditedArgs... >, SerializableObjectList< NetLabel, NetLabelListNameProvider, NetLabel::Event >, SerializableObjectList< NetLabel, NetLabelListNameProvider, OnEditedArgs... >, SerializableObjectList< NetLine, NetLineListNameProvider, NetLine::Event >, SerializableObjectList< NetLine, NetLineListNameProvider, OnEditedArgs... >, SerializableObjectList< PackagePad, PackagePadListNameProvider, OnEditedArgs... >, SerializableObjectList< PackagePad, PackagePadListNameProvider, PackagePad::Event >, SerializableObjectList< Polygon, PolygonListNameProvider, OnEditedArgs... >, SerializableObjectList< Polygon, PolygonListNameProvider, Polygon::Event >, SerializableObjectList< StrokeText, StrokeTextListNameProvider, OnEditedArgs... >, SerializableObjectList< StrokeText, StrokeTextListNameProvider, StrokeText::Event >, SerializableObjectList< SymbolPin, SymbolPinListNameProvider, OnEditedArgs... >, SerializableObjectList< SymbolPin, SymbolPinListNameProvider, SymbolPin::Event >, SerializableObjectList< T, P, OnEditedArgs... >, SerializableObjectList< Text, TextListNameProvider, OnEditedArgs... >, SerializableObjectList< Text, TextListNameProvider, Text::Event >, SerializableObjectList< Trace, TraceListNameProvider, OnEditedArgs... >, SerializableObjectList< Trace, TraceListNameProvider, Trace::Event >, SerializableObjectList< Via, ViaListNameProvider, OnEditedArgs... >, and SerializableObjectList< Via, ViaListNameProvider, Via::Event >.
The SerializableObject class is the base class for all classes which need to be serializable/deserializable from/to librepcb::SExpression nodes.
◆ SerializableObject()
◆ ~SerializableObject()
◆ serializeToDomElement()
SExpression serializeToDomElement |
( |
const QString & |
name | ) |
const |
|
inline |
Serialize the object to a new S-Expression node.
This method creates a new S-Expression node, serializes the whole object into it and then returns the whole S-Expression node. See serialize() for details.
- Parameters
-
name | The root name of the returned S-Expression node |
- Returns
- The created S-Expression node (the caller takes the ownership!)
- Exceptions
-
Exception | This method throws an exception if an error occurs. |
- See also
- serialize()
◆ serialize()
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
-
root | The target DOM root node |
- Exceptions
-
Exception | This method throws an exception if an error occurs. |
Implemented in Point, SerializableObjectList< T, P, OnEditedArgs >, SerializableObjectList< librepcb::project::editor::BoardClipboardData::NetSegment, librepcb::project::editor::BoardClipboardData::NetSegment, OnEditedArgs... >, SerializableObjectList< ComponentPinSignalMapItem, ComponentPinSignalMapNameProvider, ComponentPinSignalMapItem::Event >, SerializableObjectList< StrokeText, StrokeTextListNameProvider, StrokeText::Event >, SerializableObjectList< Footprint, FootprintListNameProvider, OnEditedArgs... >, SerializableObjectList< Via, ViaListNameProvider, OnEditedArgs... >, SerializableObjectList< Text, TextListNameProvider, Text::Event >, SerializableObjectList< librepcb::project::editor::BoardClipboardData::Plane, librepcb::project::editor::BoardClipboardData::Plane, OnEditedArgs... >, SerializableObjectList< librepcb::project::editor::BoardClipboardData::Plane, librepcb::project::editor::BoardClipboardData::Plane >, SerializableObjectList< ComponentSignal, ComponentSignalListNameProvider, OnEditedArgs... >, SerializableObjectList< ComponentSignal, ComponentSignalListNameProvider, ComponentSignal::Event >, SerializableObjectList< librepcb::project::editor::SchematicClipboardData::SymbolInstance, librepcb::project::editor::SchematicClipboardData::SymbolInstance, OnEditedArgs... >, SerializableObjectList< Polygon, PolygonListNameProvider, OnEditedArgs... >, SerializableObjectList< PackagePad, PackagePadListNameProvider, OnEditedArgs... >, SerializableObjectList< librepcb::project::editor::BoardClipboardData::Device, librepcb::project::editor::BoardClipboardData::Device, OnEditedArgs... >, SerializableObjectList< librepcb::project::editor::SchematicClipboardData::SymbolInstance, librepcb::project::editor::SchematicClipboardData::SymbolInstance >, SerializableObjectList< librepcb::project::editor::SchematicClipboardData::ComponentInstance, librepcb::project::editor::SchematicClipboardData::ComponentInstance >, SerializableObjectList< NetLine, NetLineListNameProvider, OnEditedArgs... >, SerializableObjectList< FootprintPad, FootprintPadListNameProvider, FootprintPad::Event >, SerializableObjectList< Attribute, AttributeListNameProvider, OnEditedArgs... >, SerializableObjectList< Hole, HoleListNameProvider, Hole::Event >, SerializableObjectList< Trace, TraceListNameProvider, OnEditedArgs... >, SerializableObjectList< Text, TextListNameProvider, OnEditedArgs... >, SerializableObjectList< StrokeText, StrokeTextListNameProvider, OnEditedArgs... >, SerializableObjectList< Footprint, FootprintListNameProvider, Footprint::Event >, SerializableObjectList< NetLabel, NetLabelListNameProvider, NetLabel::Event >, SerializableObjectList< T, P, OnEditedArgs... >, SerializableObjectList< DevicePadSignalMapItem, DevicePadSignalMapNameProvider, OnEditedArgs... >, SerializableObjectList< Hole, HoleListNameProvider, OnEditedArgs... >, SerializableObjectList< Trace, TraceListNameProvider, Trace::Event >, SerializableObjectList< librepcb::project::editor::BoardClipboardData::NetSegment, librepcb::project::editor::BoardClipboardData::NetSegment >, SerializableObjectList< ComponentSymbolVariant, ComponentSymbolVariantListNameProvider, ComponentSymbolVariant::Event >, SerializableObjectList< Via, ViaListNameProvider, Via::Event >, SerializableObjectList< Junction, JunctionListNameProvider, OnEditedArgs... >, SerializableObjectList< SymbolPin, SymbolPinListNameProvider, SymbolPin::Event >, SerializableObjectList< ComponentPinSignalMapItem, ComponentPinSignalMapNameProvider, OnEditedArgs... >, SerializableObjectList< librepcb::project::editor::SchematicClipboardData::ComponentInstance, librepcb::project::editor::SchematicClipboardData::ComponentInstance, OnEditedArgs... >, SerializableObjectList< ComponentSymbolVariant, ComponentSymbolVariantListNameProvider, OnEditedArgs... >, SerializableObjectList< Attribute, AttributeListNameProvider, Attribute::Event >, SerializableObjectList< NetLine, NetLineListNameProvider, NetLine::Event >, SerializableObjectList< FootprintPad, FootprintPadListNameProvider, OnEditedArgs... >, SerializableObjectList< librepcb::project::editor::BoardClipboardData::Device, librepcb::project::editor::BoardClipboardData::Device >, SerializableObjectList< NetLabel, NetLabelListNameProvider, OnEditedArgs... >, SerializableObjectList< librepcb::project::editor::SchematicClipboardData::NetSegment, librepcb::project::editor::SchematicClipboardData::NetSegment, OnEditedArgs... >, SerializableObjectList< ComponentSymbolVariantItem, ComponentSymbolVariantItemListNameProvider, OnEditedArgs... >, SerializableObjectList< Junction, JunctionListNameProvider, Junction::Event >, SerializableObjectList< Circle, CircleListNameProvider, OnEditedArgs... >, SerializableObjectList< SymbolPin, SymbolPinListNameProvider, OnEditedArgs... >, SerializableObjectList< librepcb::project::editor::SchematicClipboardData::NetSegment, librepcb::project::editor::SchematicClipboardData::NetSegment >, SerializableObjectList< ComponentSymbolVariantItem, ComponentSymbolVariantItemListNameProvider, ComponentSymbolVariantItem::Event >, SerializableObjectList< DevicePadSignalMapItem, DevicePadSignalMapNameProvider, DevicePadSignalMapItem::Event >, SerializableObjectList< PackagePad, PackagePadListNameProvider, PackagePad::Event >, SerializableObjectList< Circle, CircleListNameProvider, Circle::Event >, SerializableObjectList< Polygon, PolygonListNameProvider, Polygon::Event >, Board, BoardClipboardData, SchematicClipboardData, Schematic, Alignment, BoardClipboardData::Plane, StrokeText, SchematicClipboardData::NetSegment, SerializableKeyValueMap< T >, ComponentInstance, SerializableKeyValueMap< LocalizedKeywordsMapPolicy >, SerializableKeyValueMap< LocalizedNameMapPolicy >, SerializableKeyValueMap< NormDependentPrefixMapPolicy >, SerializableKeyValueMap< LocalizedDescriptionMapPolicy >, SchematicClipboardData::SymbolInstance, ProjectMetadata, Component, Trace, BoardClipboardData::NetSegment, BoardFabricationOutputSettings, Circuit, BoardDesignRules, NetLine, LibraryBaseElement, ComponentSignalInstance, FootprintPad, BI_NetSegment, Symbol, SI_NetSegment, BI_NetLine, Footprint, NetSignal, ComponentSymbolVariant, BI_Plane, ComponentSymbolVariantItem, BI_Device, BoardClipboardData::Device, SchematicClipboardData::ComponentInstance, SI_Symbol, WorkspaceSettings, Device, SI_NetLine, FootprintClipboardData, BI_Footprint, Via, ComponentSignal, SymbolPin, Path, Text, ComponentPinSignalMapItem, Library, Circle, Polygon, Package, SymbolClipboardData, BI_Via, BoardLayerStack, Attribute, NetClass, ProjectSettings, BI_Polygon, BI_StrokeText, BI_NetPoint, SI_NetPoint, NetLabel, SI_NetLabel, PackagePad, ErcMsgList, Junction, LibraryCategory, LibraryElement, Hole, DevicePadSignalMapItem, BoardUserSettings, BI_Hole, TraceAnchor, SI_Polygon, NetLineAnchor, GridProperties, SI_Text, Vertex, and GraphicsLayerStackAppearanceSettings.
◆ serializeObjectContainer()
static void serializeObjectContainer |
( |
SExpression & |
root, |
|
|
const T & |
container, |
|
|
const QString & |
itemName |
|
) |
| |
|
inlinestatic |
◆ serializePointerContainer()
static void serializePointerContainer |
( |
SExpression & |
root, |
|
|
const T & |
container, |
|
|
const QString & |
itemName |
|
) |
| |
|
inlinestatic |
◆ serializePointerContainerUuidSorted()
static void serializePointerContainerUuidSorted |
( |
SExpression & |
root, |
|
|
const T & |
container, |
|
|
const QString & |
itemName |
|
) |
| |
|
inlinestatic |
The documentation for this class was generated from the following file: