From db0945912618c1534e1ae4d7731e5db9e0f2a09b Mon Sep 17 00:00:00 2001 From: Martin Hanzik <martin@hanzik.com> Date: Sun, 29 Apr 2018 17:26:01 +0200 Subject: [PATCH] Add origin connection box as parent of Connection --- agui2/src/Graphics/Connection/Connection.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/agui2/src/Graphics/Connection/Connection.cpp b/agui2/src/Graphics/Connection/Connection.cpp index 786e0d162b..426357230d 100644 --- a/agui2/src/Graphics/Connection/Connection.cpp +++ b/agui2/src/Graphics/Connection/Connection.cpp @@ -12,13 +12,13 @@ #define SHORTEST_LINE 20.0 Connection::Connection(OutputConnectionBox* origin, InputConnectionBox* target) - : originConnectionBox(origin) + : QGraphicsItem(origin) + , originConnectionBox(origin) , targetConnectionBox(target) { this->setZValue(2); - this->boundRect = Utils::pointsToRect(origin->pos(), target->pos()); + this->boundRect = Utils::pointsToRect({}, target->pos() - origin->pos()); this->boundRect.adjust(-1, -1, 1, 1); - origin->scene()->addItem(this); origin->scene()->update(); auto* originModel = origin->getParent()->getModelBox(); @@ -35,8 +35,8 @@ QRectF Connection::boundingRect() const { void Connection::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget) { painter->setPen(QPen(Qt::black,1)); - QPointF originPoint = this->originConnectionBox->scenePos(); - QPointF targetPoint = this->targetConnectionBox->scenePos(); + QPointF originPoint; + QPointF targetPoint = this->targetConnectionBox->scenePos() - this->originConnectionBox->scenePos(); if ((targetPoint.x() - originPoint.x()) > SHORTEST_LINE * 2) this->drawDirectConnection(painter, originPoint, targetPoint); -- GitLab