11#include <QGraphicsItem>
12#include <QGraphicsScene>
13#include <QGraphicsSceneMouseEvent>
14#include <QGraphicsView>
17#include <QStyleOption>
22#include "graphwidget.h"
24#include "structures.h"
44 QMap<QString, QString>, QString ID);
61 QList<Wire*>
Wires()
const {
return WireList; }
63 enum { Type = UserType + 1 };
64 int type()
const {
return Type; }
72 QPainterPath
shape()
const;
78 void paint(QPainter* painter,
const QStyleOptionGraphicsItem* option,
113 QVariant
itemChange(GraphicsItemChange change,
const QVariant& value);
118 QGraphicsItem::mousePressEvent(event);
124 QGraphicsItem::mouseReleaseEvent(event);
131 QList<Wire*> WireList;
134 ComponentType CompType;
136 QMap<QString, QString> Value;
141 void RotatePoint(QPoint&);
146 void RotatePoint(QPoint&,
double);
150 void paintCapacitor(QPainter*);
151 void paintInductor(QPainter*);
152 void paintTransmissionLine(QPainter*);
153 void paintResistor(QPainter*);
154 void paintComplexImpedance(QPainter*);
155 void paintTerm(QPainter*);
156 void paintGND(QPainter*);
157 void paintOpenStub(QPainter*);
158 void paintShortStub(QPainter*);
159 void paintCoupledLines(QPainter*);
160 void paintCoupler(QPainter*);
161 void paintSPAR(QPainter*);
164 void paintMicrostripLine(QPainter*);
165 void paintMicrostripStep(QPainter*);
166 void paintMicrostripOpen(QPainter*);
167 void paintMicrostripVia(QPainter*);
168 void paintMicrostripCoupledLines(QPainter*);
Component information container.
Definition infoclasses.h:18
Graphical component representation in schematic.
Definition component.h:33
void mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
Handle mouse release events.
Definition component.h:122
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)
Handle double click events.
Definition component.cpp:211
QRectF boundingRect() const
Get component bounding rectangle.
Definition component.cpp:42
QMap< QString, QString > getParameters()
Get component parameters.
Definition component.h:101
QString getID()
Get component identifier.
Definition component.h:88
void setComponentType(ComponentType CT)
Set component type.
Definition component.h:105
void DoubleClicked(struct ComponentInfo)
Emitted when component is double-clicked.
void addWire(Wire *Wire)
Add wire connection to component.
Definition component.cpp:37
ComponentType getComponentType()
Get component type.
Definition component.h:109
QPainterPath shape() const
Get component selection shape.
Definition component.cpp:88
QList< Wire * > Wires() const
Get list of connected wires to this component.
Definition component.h:61
QVariant itemChange(GraphicsItemChange change, const QVariant &value)
Handle item change events.
Definition component.cpp:195
void mousePressEvent(QGraphicsSceneMouseEvent *event)
Handle mouse press events.
Definition component.h:116
~Component()
Class destructor.
Definition component.h:53
void setParameters(QMap< QString, QString > val)
Set component parameters.
Definition component.h:97
QPoint getPortLocation(int)
Get port location in component coordinates.
Definition component.cpp:222
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
Paint component on scene.
Definition component.cpp:119
void setRotation(double R)
Set component rotation angle.
Definition component.h:92
Abstract base class for schematic symbols.
Definition symbol.h:34
Wire connection between symbols.
Definition wire.h:21
Utility functions needed across the whole project.
Definition of the classes related to the component, nodes and wires data.
Wire connection between symbols (definition)