20#ifndef LIBREPCB_EDITOR_SYMBOLGRAPHICSITEM_H
21#define LIBREPCB_EDITOR_SYMBOLGRAPHICSITEM_H
43class CircleGraphicsItem;
44class IF_GraphicsLayerProvider;
45class PolygonGraphicsItem;
46class SymbolPinGraphicsItem;
47class TextGraphicsItem;
64 All = Pins | Circles | Polygons | Texts,
67 AcceptNearMatch = (1 << 10),
76 std::shared_ptr<const
Component> cmp =
nullptr,
78 const QStringList& localeOrder = {})
noexcept;
83 std::shared_ptr<
SymbolPin> pin) noexcept {
87 std::shared_ptr<Circle> circle)
noexcept {
91 std::shared_ptr<Polygon> polygon)
noexcept {
95 std::shared_ptr<Text> text)
noexcept {
98 QList<std::shared_ptr<SymbolPinGraphicsItem>>
getSelectedPins() noexcept;
103 const QPainterPath& posAreaSmall, const QPainterPath& posAreaLarge,
104 FindFlags flags) noexcept;
The Angle class is used to represent an angle (for example 12.75 degrees)
Definition: angle.h:78
The Circle class.
Definition: circle.h:46
The Component class represents a "generic" device in the library.
Definition: component.h:73
The ComponentSymbolVariantItem class represents one symbol of a component symbol variant.
Definition: componentsymbolvariantitem.h:54
The Point class is used to represent a point/coordinate/vector, for example (1.2mm; 5....
Definition: point.h:79
The Polygon class.
Definition: polygon.h:45
The Symbol class represents the part of a component which is added to schematics.
Definition: symbol.h:55
The SymbolPin class represents one pin of a symbol.
Definition: symbolpin.h:51
The Text class.
Definition: text.h:48
The CircleGraphicsItem class.
Definition: circlegraphicsitem.h:48
The IF_GraphicsLayerProvider class defines an interface for classes which provide layers.
Definition: graphicslayer.h:111
The PolygonGraphicsItem class.
Definition: polygongraphicsitem.h:48
The SymbolGraphicsItem class.
Definition: symbolgraphicsitem.h:56
std::shared_ptr< CircleGraphicsItem > getGraphicsItem(std::shared_ptr< Circle > circle) noexcept
Definition: symbolgraphicsitem.h:86
QMap< std::shared_ptr< Polygon >, std::shared_ptr< PolygonGraphicsItem > > mPolygonGraphicsItems
Definition: symbolgraphicsitem.h:136
std::shared_ptr< const ComponentSymbolVariantItem > mItem
Definition: symbolgraphicsitem.h:129
void syncCircles() noexcept
Definition: symbolgraphicsitem.cpp:257
QList< std::shared_ptr< QGraphicsItem > > findItemsAtPos(const QPainterPath &posAreaSmall, const QPainterPath &posAreaLarge, FindFlags flags) noexcept
Definition: symbolgraphicsitem.cpp:121
std::shared_ptr< const Component > mComponent
Definition: symbolgraphicsitem.h:128
QList< std::shared_ptr< CircleGraphicsItem > > getSelectedCircles() noexcept
Definition: symbolgraphicsitem.cpp:89
Symbol & mSymbol
Definition: symbolgraphicsitem.h:126
std::shared_ptr< SymbolPinGraphicsItem > getGraphicsItem(std::shared_ptr< SymbolPin > pin) noexcept
Definition: symbolgraphicsitem.h:82
QList< std::shared_ptr< PolygonGraphicsItem > > getSelectedPolygons() noexcept
Definition: symbolgraphicsitem.cpp:100
void symbolEdited(const Symbol &symbol, Symbol::Event event) noexcept
Definition: symbolgraphicsitem.cpp:328
void updateAllTexts() noexcept
Definition: symbolgraphicsitem.cpp:200
const IF_GraphicsLayerProvider & mLayerProvider
Definition: symbolgraphicsitem.h:127
std::shared_ptr< TextGraphicsItem > getGraphicsItem(std::shared_ptr< Text > text) noexcept
Definition: symbolgraphicsitem.h:94
QMap< std::shared_ptr< Circle >, std::shared_ptr< CircleGraphicsItem > > mCircleGraphicsItems
Definition: symbolgraphicsitem.h:134
void syncPins() noexcept
Definition: symbolgraphicsitem.cpp:234
FindFlag
Definition: symbolgraphicsitem.h:58
void syncTexts() noexcept
Definition: symbolgraphicsitem.cpp:305
void setSelectionRect(const QRectF rect) noexcept
Definition: symbolgraphicsitem.cpp:209
std::shared_ptr< PolygonGraphicsItem > getGraphicsItem(std::shared_ptr< Polygon > polygon) noexcept
Definition: symbolgraphicsitem.h:90
void setRotation(const Angle &rot) noexcept
Definition: symbolgraphicsitem.cpp:196
QList< std::shared_ptr< TextGraphicsItem > > getSelectedTexts() noexcept
Definition: symbolgraphicsitem.cpp:111
QMap< std::shared_ptr< SymbolPin >, std::shared_ptr< SymbolPinGraphicsItem > > mPinGraphicsItems
Definition: symbolgraphicsitem.h:132
void syncPolygons() noexcept
Definition: symbolgraphicsitem.cpp:280
Symbol::OnEditedSlot mOnEditedSlot
Definition: symbolgraphicsitem.h:141
~SymbolGraphicsItem() noexcept
Definition: symbolgraphicsitem.cpp:70
void substituteText(TextGraphicsItem &text) noexcept
Definition: symbolgraphicsitem.cpp:349
QStringList mLocaleOrder
Definition: symbolgraphicsitem.h:130
void setPosition(const Point &pos) noexcept
Definition: symbolgraphicsitem.cpp:192
QMap< std::shared_ptr< Text >, std::shared_ptr< TextGraphicsItem > > mTextGraphicsItems
Definition: symbolgraphicsitem.h:138
QList< std::shared_ptr< SymbolPinGraphicsItem > > getSelectedPins() noexcept
Definition: symbolgraphicsitem.cpp:78
The SymbolPinGraphicsItem class.
Definition: symbolpingraphicsitem.h:53
The TextGraphicsItem class is the graphical representation of a librepcb::Text.
Definition: textgraphicsitem.h:49
Definition: occmodel.cpp:77