diff --git a/src/gui/network/FloatingEdgeGraphic.cpp b/src/gui/network/FloatingEdgeGraphic.cpp index cc13973..5a8e5bd 100644 --- a/src/gui/network/FloatingEdgeGraphic.cpp +++ b/src/gui/network/FloatingEdgeGraphic.cpp @@ -21,7 +21,6 @@ void FloatingEdgeGraphic::paint(QPainter *painter, const QStyleOptionGraphicsIte { // auto pen = QPen("white"); - std::cout << "draw\n"; QLinearGradient gradient(socket1_->scenePos(), floatPos_); gradient.setColorAt(0.0, QColor(255, 255, 255, 255)); gradient.setColorAt(1.0, QColor(255, 255, 255, 50)); @@ -35,7 +34,6 @@ void FloatingEdgeGraphic::paint(QPainter *painter, const QStyleOptionGraphicsIte } void FloatingEdgeGraphic::setFloatPos(QPointF floatPos) { - std::cout << "moving" << floatPos.x() << " " << floatPos.y() << "\n"; prepareGeometryChange(); floatPos_ = floatPos; update(); diff --git a/src/gui/network/SocketGraphic.cpp b/src/gui/network/SocketGraphic.cpp index fc91570..e356336 100644 --- a/src/gui/network/SocketGraphic.cpp +++ b/src/gui/network/SocketGraphic.cpp @@ -6,7 +6,10 @@ SocketGraphic::SocketGraphic(QGraphicsItem *parent) : QGraphicsItem(parent) { + brushActive_ = QBrush("white"); + brushInactive_ = QBrush("#9f9f9f"); socketSize_ = 3; + setAcceptHoverEvents(true); } QRectF SocketGraphic::boundingRect() const @@ -18,11 +21,21 @@ QRectF SocketGraphic::boundingRect() const void SocketGraphic::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { - QBrush whiteBrush = QBrush("white"); painter->setPen(Qt::NoPen); - painter->setBrush(whiteBrush); + painter->setBrush(hovered_ ? brushActive_ : brushInactive_); painter->drawEllipse(QPoint(0,0), socketSize_, socketSize_); } +void SocketGraphic::hoverEnterEvent(QGraphicsSceneHoverEvent *event) +{ + hovered_ = true; + update(); +} + +void SocketGraphic::hoverLeaveEvent(QGraphicsSceneHoverEvent *event) +{ + hovered_ = false; + update(); +} diff --git a/src/gui/network/SocketGraphic.h b/src/gui/network/SocketGraphic.h index 8a09759..eb0dd9c 100644 --- a/src/gui/network/SocketGraphic.h +++ b/src/gui/network/SocketGraphic.h @@ -13,5 +13,11 @@ public: private: int socketSize_ = 1; + QBrush brushInactive_; + QBrush brushActive_; + bool hovered_=false; +protected: + void hoverEnterEvent(QGraphicsSceneHoverEvent *event) override; + void hoverLeaveEvent(QGraphicsSceneHoverEvent *event) override; };