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

The SymbolPin class represents one pin of a symbol. More...

#include <symbolpin.h>

+ Inheritance diagram for SymbolPin:
+ Collaboration diagram for SymbolPin:

Public Types

enum  Event
 
typedef Slot< SymbolPin, EventOnEditedSlot
 

Public Member Functions

 SymbolPin ()=delete
 
 SymbolPin (const SymbolPin &other) noexcept
 
 SymbolPin (const Uuid &uuid, const CircuitIdentifier &name, const Point &position, const UnsignedLength &length, const Angle &rotation) noexcept
 
 SymbolPin (const SExpression &node)
 
 ~SymbolPin () noexcept
 
const UuidgetUuid () const noexcept
 
const CircuitIdentifiergetName () const noexcept
 
const PointgetPosition () const noexcept
 
const UnsignedLengthgetLength () const noexcept
 
const AnglegetRotation () const noexcept
 
bool setPosition (const Point &pos) noexcept
 
bool setLength (const UnsignedLength &length) noexcept
 
bool setRotation (const Angle &rotation) noexcept
 
bool setName (const CircuitIdentifier &name) noexcept
 
void registerGraphicsItem (SymbolPinGraphicsItem &item) noexcept
 
void unregisterGraphicsItem (SymbolPinGraphicsItem &item) noexcept
 
void serialize (SExpression &root) const override
 Serialize the object into an existing S-Expression node. More...
 
bool operator== (const SymbolPin &rhs) const noexcept
 
bool operator!= (const SymbolPin &rhs) const noexcept
 
SymbolPinoperator= (const SymbolPin &rhs) noexcept
 
- 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...
 

Public Attributes

Signal< SymbolPin, EventonEdited
 

Private Attributes

Uuid mUuid
 
CircuitIdentifier mName
 
Point mPosition
 
UnsignedLength mLength
 
Angle mRotation
 
SymbolPinGraphicsItemmRegisteredGraphicsItem
 

Additional Inherited Members

- 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 SymbolPin class represents one pin of a symbol.

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

  • UUID

Member Typedef Documentation

Member Enumeration Documentation

enum Event
strong
Enumerator
UuidChanged 
NameChanged 
PositionChanged 
LengthChanged 
RotationChanged 

Constructor & Destructor Documentation

SymbolPin ( )
delete
SymbolPin ( const SymbolPin other)
noexcept
SymbolPin ( const Uuid uuid,
const CircuitIdentifier name,
const Point position,
const UnsignedLength length,
const Angle rotation 
)
noexcept
SymbolPin ( const SExpression node)
explicit
~SymbolPin ( )
noexcept

Member Function Documentation

const Uuid& getUuid ( ) const
inlinenoexcept

+ Here is the caller graph for this function:

const CircuitIdentifier& getName ( ) const
inlinenoexcept

+ Here is the caller graph for this function:

const Point& getPosition ( ) const
inlinenoexcept

+ Here is the caller graph for this function:

const UnsignedLength& getLength ( ) const
inlinenoexcept

+ Here is the caller graph for this function:

const Angle& getRotation ( ) const
inlinenoexcept

+ Here is the caller graph for this function:

bool setPosition ( const Point pos)
noexcept

+ Here is the caller graph for this function:

bool setLength ( const UnsignedLength length)
noexcept

+ Here is the caller graph for this function:

bool setRotation ( const Angle rotation)
noexcept

+ Here is the caller graph for this function:

bool setName ( const CircuitIdentifier name)
noexcept

+ Here is the caller graph for this function:

void registerGraphicsItem ( SymbolPinGraphicsItem item)
noexcept
void unregisterGraphicsItem ( SymbolPinGraphicsItem item)
noexcept

+ Here is the caller graph for this function:

void serialize ( SExpression root) const
overridevirtual

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.

Implements SerializableObject.

+ Here is the call graph for this function:

bool operator== ( const SymbolPin rhs) const
noexcept
bool operator!= ( const SymbolPin rhs) const
inlinenoexcept
SymbolPin & operator= ( const SymbolPin rhs)
noexcept

Member Data Documentation

Signal<SymbolPin, Event> onEdited
Uuid mUuid
private
CircuitIdentifier mName
private
Point mPosition
private
UnsignedLength mLength
private
Angle mRotation
private
SymbolPinGraphicsItem* mRegisteredGraphicsItem
private

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