LibrePCB Developers Documentation
SchematicSelectionQuery Class Referencefinal

The SchematicSelectionQuery class. More...

#include <schematicselectionquery.h>

Inherits QObject.

+ Collaboration diagram for SchematicSelectionQuery:

Classes

struct  NetSegmentItems
 

Public Member Functions

 SchematicSelectionQuery ()=delete
 
 SchematicSelectionQuery (const SchematicSelectionQuery &other)=delete
 
 SchematicSelectionQuery (const QList< SI_Symbol *> &symbols, const QList< SI_NetSegment *> &netsegments, const QList< SI_Polygon *> &polygons, const QList< SI_Text *> &texts, QObject *parent=nullptr)
 
 ~SchematicSelectionQuery () noexcept
 
const QSet< SI_Symbol * > & getSymbols () const noexcept
 
const QSet< SI_NetPoint * > & getNetPoints () const noexcept
 
const QSet< SI_NetLine * > & getNetLines () const noexcept
 
const QSet< SI_NetLabel * > & getNetLabels () const noexcept
 
const QSet< SI_Polygon * > & getPolygons () const noexcept
 
const QSet< SI_Text * > & getTexts () const noexcept
 
QHash< SI_NetSegment *, NetSegmentItemsgetNetSegmentItems () const noexcept
 Get net points, net lines and net labels grouped by net segment. More...
 
int getResultCount () const noexcept
 
bool isResultEmpty () const noexcept
 
void addSelectedSymbols () noexcept
 
void addSelectedNetPoints () noexcept
 
void addSelectedNetLines () noexcept
 
void addSelectedNetLabels () noexcept
 
void addSelectedPolygons () noexcept
 
void addSelectedTexts () noexcept
 
void addNetPointsOfNetLines (bool onlyIfAllNetLinesSelected=false) noexcept
 Add net points of the selected net lines. More...
 
void addNetLinesOfSymbolPins () noexcept
 
SchematicSelectionQueryoperator= (const SchematicSelectionQuery &rhs)=delete
 

Private Attributes

const QList< SI_Symbol * > & mSymbols
 
const QList< SI_NetSegment * > & mNetSegments
 
const QList< SI_Polygon * > & mPolygons
 
const QList< SI_Text * > & mTexts
 
QSet< SI_Symbol * > mResultSymbols
 
QSet< SI_NetPoint * > mResultNetPoints
 
QSet< SI_NetLine * > mResultNetLines
 
QSet< SI_NetLabel * > mResultNetLabels
 
QSet< SI_Polygon * > mResultPolygons
 
QSet< SI_Text * > mResultTexts
 

Detailed Description

Constructor & Destructor Documentation

◆ SchematicSelectionQuery() [1/3]

◆ SchematicSelectionQuery() [2/3]

◆ SchematicSelectionQuery() [3/3]

SchematicSelectionQuery ( const QList< SI_Symbol *> &  symbols,
const QList< SI_NetSegment *> &  netsegments,
const QList< SI_Polygon *> &  polygons,
const QList< SI_Text *> &  texts,
QObject *  parent = nullptr 
)

◆ ~SchematicSelectionQuery()

~SchematicSelectionQuery ( )
noexcept

Member Function Documentation

◆ getSymbols()

const QSet<SI_Symbol*>& getSymbols ( ) const
inlinenoexcept

◆ getNetPoints()

const QSet<SI_NetPoint*>& getNetPoints ( ) const
inlinenoexcept

◆ getNetLines()

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

◆ getNetLabels()

const QSet<SI_NetLabel*>& getNetLabels ( ) const
inlinenoexcept

◆ getPolygons()

const QSet<SI_Polygon*>& getPolygons ( ) const
inlinenoexcept

◆ getTexts()

const QSet<SI_Text*>& getTexts ( ) const
inlinenoexcept
+ Here is the call graph for this function:

◆ getNetSegmentItems()

QHash< SI_NetSegment *, SchematicSelectionQuery::NetSegmentItems > getNetSegmentItems ( ) const
noexcept

Get net points, net lines and net labels grouped by net segment.

Same as getNetPoints(), getNetLines() and getNetLabels(), but grouped by their corresponding net segments. Only net segments containing selected items are returned.

Returns
List of net segments containing the selected items
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getResultCount()

int getResultCount ( ) const
noexcept
+ Here is the caller graph for this function:

◆ isResultEmpty()

bool isResultEmpty ( ) const
inlinenoexcept
+ Here is the call graph for this function:

◆ addSelectedSymbols()

void addSelectedSymbols ( )
noexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addSelectedNetPoints()

void addSelectedNetPoints ( )
noexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addSelectedNetLines()

void addSelectedNetLines ( )
noexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addSelectedNetLabels()

void addSelectedNetLabels ( )
noexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addSelectedPolygons()

void addSelectedPolygons ( )
noexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addSelectedTexts()

void addSelectedTexts ( )
noexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addNetPointsOfNetLines()

void addNetPointsOfNetLines ( bool  onlyIfAllNetLinesSelected = false)
noexcept

Add net points of the selected net lines.

Parameters
onlyIfAllNetLinesSelectedIf true, net points are added only if all connected net lines are selected. If false, net points are added if at least one of the connected net lines is selected.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addNetLinesOfSymbolPins()

void addNetLinesOfSymbolPins ( )
noexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ operator=()

SchematicSelectionQuery& operator= ( const SchematicSelectionQuery rhs)
delete
+ Here is the caller graph for this function:

Member Data Documentation

◆ mSymbols

const QList<SI_Symbol*>& mSymbols
private

◆ mNetSegments

const QList<SI_NetSegment*>& mNetSegments
private

◆ mPolygons

const QList<SI_Polygon*>& mPolygons
private

◆ mTexts

const QList<SI_Text*>& mTexts
private

◆ mResultSymbols

QSet<SI_Symbol*> mResultSymbols
private

◆ mResultNetPoints

QSet<SI_NetPoint*> mResultNetPoints
private

◆ mResultNetLines

QSet<SI_NetLine*> mResultNetLines
private

◆ mResultNetLabels

QSet<SI_NetLabel*> mResultNetLabels
private

◆ mResultPolygons

QSet<SI_Polygon*> mResultPolygons
private

◆ mResultTexts

QSet<SI_Text*> mResultTexts
private

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