LibrePCB Developers Documentation
SI_SymbolPin Class Referencefinal

The SI_SymbolPin class. More...

#include <si_symbolpin.h>

+ Inheritance diagram for SI_SymbolPin:
+ Collaboration diagram for SI_SymbolPin:

Public Types

enum class  Event
 
typedef Slot< SI_SymbolPin, EventOnEditedSlot
 

Public Member Functions

 SI_SymbolPin ()=delete
 
 SI_SymbolPin (const SI_SymbolPin &other)=delete
 
 SI_SymbolPin (SI_Symbol &symbol, const Uuid &pinUuid)
 
 ~SI_SymbolPin ()
 
const PointgetPosition () const noexcept override
 Get the absolute position of the pin (scene coordinates) More...
 
const AnglegetRotation () const noexcept
 Get the absolute rotation of the pin (scene coordinates) More...
 
const QString & getName () const noexcept
 
const QStringList & getNumbers () const noexcept
 
const QString & getNumbersTruncated () const noexcept
 
const PointgetNumbersPosition () const noexcept
 
const AlignmentgetNumbersAlignment () const noexcept
 
const UuidgetLibPinUuid () const noexcept
 
SI_SymbolgetSymbol () const noexcept
 
const SymbolPingetLibPin () const noexcept
 
ComponentSignalInstancegetComponentSignalInstance () const noexcept
 
NetSignalgetCompSigInstNetSignal () const noexcept
 
SI_NetSegmentgetNetSegmentOfLines () const noexcept
 
bool isRequired () const noexcept
 
bool isUsed () const noexcept
 
bool isVisibleJunction () const noexcept
 
bool isOpen () const noexcept override
 
NetLineAnchor toNetLineAnchor () const noexcept override
 
void addToSchematic () override
 
void removeFromSchematic () override
 
void registerNetLine (SI_NetLine &netline) override
 
void unregisterNetLine (SI_NetLine &netline) override
 
const QSet< SI_NetLine * > & getNetLines () const noexcept override
 
SI_SymbolPinoperator= (const SI_SymbolPin &rhs)=delete
 
- Public Member Functions inherited from SI_Base
 SI_Base ()=delete
 
 SI_Base (const SI_Base &other)=delete
 
 SI_Base (Schematic &schematic) noexcept
 
virtual ~SI_Base () noexcept
 
ProjectgetProject () const noexcept
 
CircuitgetCircuit () const noexcept
 
SchematicgetSchematic () const noexcept
 
virtual bool isAddedToSchematic () const noexcept
 
virtual void addToSchematic ()
 
virtual void removeFromSchematic ()
 
SI_Baseoperator= (const SI_Base &rhs)=delete
 
- Public Member Functions inherited from SI_NetLineAnchor
 SI_NetLineAnchor () noexcept=default
 
virtual ~SI_NetLineAnchor () noexcept=default
 
virtual void registerNetLine (SI_NetLine &netline)=0
 
virtual void unregisterNetLine (SI_NetLine &netline)=0
 
virtual const QSet< SI_NetLine * > & getNetLines () const noexcept=0
 
virtual const PointgetPosition () const noexcept=0
 
virtual bool isOpen () const noexcept=0
 
virtual NetLineAnchor toNetLineAnchor () const noexcept=0
 

Public Attributes

Signal< SI_SymbolPin, EventonEdited
 

Private Member Functions

void symbolEdited (const SI_Symbol &obj, SI_Symbol::Event event) noexcept
 
void netSignalChanged (NetSignal *from, NetSignal *to) noexcept
 
void netSignalNameChanged () noexcept
 
void padNamesChanged (const QStringList &names) noexcept
 
void updateTransform () noexcept
 
void updateName () noexcept
 
void updateNumbers () noexcept
 
void updateNumbersTransform () noexcept
 
QString getLibraryComponentName () const noexcept
 
QString getComponentSignalNameOrPinUuid () const noexcept
 
QString getNetSignalName () const noexcept
 

Private Attributes

SI_SymbolmSymbol
 
const SymbolPinmSymbolPin
 
const ComponentPinSignalMapItemmPinSignalMapItem
 
ComponentSignalInstancemComponentSignalInstance
 
Point mPosition
 
Angle mRotation
 
QString mName
 
QStringList mNumbers
 
QString mNumbersTruncated
 
Point mNumbersPosition
 
Alignment mNumbersAlignment
 
QSet< SI_NetLine * > mRegisteredNetLines
 all registered netlines More...
 
SI_Symbol::OnEditedSlot mOnSymbolEditedSlot
 

Additional Inherited Members

- Protected Attributes inherited from SI_Base
SchematicmSchematic
 

Detailed Description

The SI_SymbolPin class.

Member Typedef Documentation

◆ OnEditedSlot

Member Enumeration Documentation

◆ Event

enum class Event
strong
Enumerator
PositionChanged 
RotationChanged 
JunctionChanged 
NameChanged 
NumbersChanged 
NumbersPositionChanged 
NumbersAlignmentChanged 
NetNameChanged 

Constructor & Destructor Documentation

◆ SI_SymbolPin() [1/3]

SI_SymbolPin ( )
delete

◆ SI_SymbolPin() [2/3]

SI_SymbolPin ( const SI_SymbolPin other)
delete

◆ SI_SymbolPin() [3/3]

SI_SymbolPin ( SI_Symbol symbol,
const Uuid pinUuid 
)
explicit
+ Here is the call graph for this function:

◆ ~SI_SymbolPin()

+ Here is the call graph for this function:

Member Function Documentation

◆ getPosition()

const Point & getPosition ( ) const
inlineoverridevirtualnoexcept

Get the absolute position of the pin (scene coordinates)

Returns
Absolute pin position

Implements SI_NetLineAnchor.

+ Here is the caller graph for this function:

◆ getRotation()

const Angle & getRotation ( ) const
inlinenoexcept

Get the absolute rotation of the pin (scene coordinates)

Returns
Absolute pin rotation
+ Here is the caller graph for this function:

◆ getName()

const QString & getName ( ) const
inlinenoexcept
+ Here is the caller graph for this function:

◆ getNumbers()

const QStringList & getNumbers ( ) const
inlinenoexcept
+ Here is the caller graph for this function:

◆ getNumbersTruncated()

const QString & getNumbersTruncated ( ) const
inlinenoexcept
+ Here is the caller graph for this function:

◆ getNumbersPosition()

const Point & getNumbersPosition ( ) const
inlinenoexcept
+ Here is the caller graph for this function:

◆ getNumbersAlignment()

const Alignment & getNumbersAlignment ( ) const
inlinenoexcept
+ Here is the caller graph for this function:

◆ getLibPinUuid()

const Uuid & getLibPinUuid ( ) const
noexcept
+ Here is the call graph for this function:

◆ getSymbol()

SI_Symbol & getSymbol ( ) const
inlinenoexcept
+ Here is the caller graph for this function:

◆ getLibPin()

const SymbolPin & getLibPin ( ) const
inlinenoexcept
+ Here is the caller graph for this function:

◆ getComponentSignalInstance()

ComponentSignalInstance * getComponentSignalInstance ( ) const
inlinenoexcept
+ Here is the caller graph for this function:

◆ getCompSigInstNetSignal()

NetSignal * getCompSigInstNetSignal ( ) const
noexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getNetSegmentOfLines()

SI_NetSegment * getNetSegmentOfLines ( ) const
noexcept

◆ isRequired()

bool isRequired ( ) const
noexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isUsed()

bool isUsed ( ) const
inlinenoexcept
+ Here is the caller graph for this function:

◆ isVisibleJunction()

bool isVisibleJunction ( ) const
noexcept
+ Here is the caller graph for this function:

◆ isOpen()

bool isOpen ( ) const
inlineoverridevirtualnoexcept

Implements SI_NetLineAnchor.

◆ toNetLineAnchor()

NetLineAnchor toNetLineAnchor ( ) const
overridevirtualnoexcept

Implements SI_NetLineAnchor.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addToSchematic()

void addToSchematic ( )
overridevirtual

Reimplemented from SI_Base.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ removeFromSchematic()

void removeFromSchematic ( )
overridevirtual

Reimplemented from SI_Base.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ registerNetLine()

void registerNetLine ( SI_NetLine netline)
overridevirtual

Implements SI_NetLineAnchor.

+ Here is the call graph for this function:

◆ unregisterNetLine()

void unregisterNetLine ( SI_NetLine netline)
overridevirtual

Implements SI_NetLineAnchor.

+ Here is the call graph for this function:

◆ getNetLines()

const QSet< SI_NetLine * > & getNetLines ( ) const
inlineoverridevirtualnoexcept

Implements SI_NetLineAnchor.

+ Here is the caller graph for this function:

◆ operator=()

SI_SymbolPin & operator= ( const SI_SymbolPin rhs)
delete

◆ symbolEdited()

void symbolEdited ( const SI_Symbol obj,
SI_Symbol::Event  event 
)
privatenoexcept

◆ netSignalChanged()

void netSignalChanged ( NetSignal from,
NetSignal to 
)
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ netSignalNameChanged()

void netSignalNameChanged ( )
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ padNamesChanged()

void padNamesChanged ( const QStringList &  names)
privatenoexcept

◆ updateTransform()

void updateTransform ( )
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateName()

void updateName ( )
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateNumbers()

void updateNumbers ( )
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateNumbersTransform()

void updateNumbersTransform ( )
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getLibraryComponentName()

QString getLibraryComponentName ( ) const
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getComponentSignalNameOrPinUuid()

QString getComponentSignalNameOrPinUuid ( ) const
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getNetSignalName()

QString getNetSignalName ( ) const
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ onEdited

◆ mSymbol

SI_Symbol& mSymbol
private

◆ mSymbolPin

const SymbolPin* mSymbolPin
private

◆ mPinSignalMapItem

const ComponentPinSignalMapItem* mPinSignalMapItem
private

◆ mComponentSignalInstance

ComponentSignalInstance* mComponentSignalInstance
private

◆ mPosition

Point mPosition
private

◆ mRotation

Angle mRotation
private

◆ mName

QString mName
private

◆ mNumbers

QStringList mNumbers
private

◆ mNumbersTruncated

QString mNumbersTruncated
private

◆ mNumbersPosition

Point mNumbersPosition
private

◆ mNumbersAlignment

Alignment mNumbersAlignment
private

◆ mRegisteredNetLines

QSet<SI_NetLine*> mRegisteredNetLines
private

all registered netlines

◆ mOnSymbolEditedSlot

SI_Symbol::OnEditedSlot mOnSymbolEditedSlot
private

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