49 #include <QStaticText>
66 SensorItem::SensorItem(
const QString& dispChName, qint32 chNumber,
const QPointF& coordinate,
const QColor& channelColor, QGraphicsItem *parent)
67 : QGraphicsObject(parent)
68 , m_sDisplayChName(dispChName)
69 , m_iChNumber(chNumber)
70 , m_qPointFCoord(coordinate)
71 , m_qColorChannel(channelColor)
72 , m_bIsHighlighted(false)
75 setZValue(m_iChNumber);
77 setFlags(ItemIsSelectable);
78 setAcceptHoverEvents(
true);
86 return QRectF(-25, -30, 50, 50);
95 path.addRect(-25, -30, 50, 50);
102 void SensorItem::paint(QPainter *painter,
const QStyleOptionGraphicsItem *option, QWidget *widget)
107 painter->setPen(Qt::NoPen);
108 painter->setBrush(Qt::darkGray);
109 painter->drawEllipse(-12, -12, 30, 30);
111 if (option->state & QStyle::State_MouseOver)
112 painter->setBrush(Qt::lightGray);
114 painter->setBrush(m_bIsChoosen ? Qt::yellow : m_qColorChannel);
116 painter->setPen(Qt::black);
117 painter->drawEllipse(-15, -15, 30, 30);
120 painter->setPen(QPen(Qt::black, 1));
121 QStaticText staticChName = QStaticText(m_sDisplayChName);
122 QSizeF sizeText = staticChName.size();
123 painter->drawStaticText(-15+((30-sizeText.width())/2), -32, staticChName);
131 m_qColorChannel = channelColor;
139 QGraphicsItem::mousePressEvent(event);
153 QGraphicsItem::mouseMoveEvent(event);
161 QGraphicsItem::mouseReleaseEvent(event);
162 m_bIsChoosen = !m_bIsChoosen;
void mouseMoveEvent(QGraphicsSceneMouseEvent *event)
void itemChanged(SensorItem *item)
void setColor(const QColor &channelColor)
Declaration of the SensorItem Class.
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0)
void mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
void mousePressEvent(QGraphicsSceneMouseEvent *event)
QRectF boundingRect() const
QPainterPath shape() const
SensorItem(const QString &dispChName, qint32 chNumber, const QPointF &coordinate, const QColor &channelColor, QGraphicsItem *parent=0)