From e690d8c1385c45ec33d8bc986ba561aba11d639b Mon Sep 17 00:00:00 2001 From: Nav Date: Thu, 22 Apr 2021 21:48:07 +0100 Subject: [PATCH] Fixed pin alignment issue with Insight QFP target widget. --- .../QFP/QuadFlatPackageWidget.cpp | 40 ++++++++++--------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/src/Insight/UserInterfaces/InsightWindow/TargetWidgets/QFP/QuadFlatPackageWidget.cpp b/src/Insight/UserInterfaces/InsightWindow/TargetWidgets/QFP/QuadFlatPackageWidget.cpp index c1502307..78a9564a 100644 --- a/src/Insight/UserInterfaces/InsightWindow/TargetWidgets/QFP/QuadFlatPackageWidget.cpp +++ b/src/Insight/UserInterfaces/InsightWindow/TargetWidgets/QFP/QuadFlatPackageWidget.cpp @@ -112,12 +112,7 @@ void QuadFlatPackageWidget::drawWidget(QPainter& painter) { auto parentContainerHeight = parentWidget->height(); auto parentContainerWidth = parentWidget->width(); - -// auto verticalPinWidgetHeight = this->topPinLayout->findChildren().front()->height(); -// auto verticalPinWidgetWidth = this->topPinLayout->findChildren().front()->width(); -// auto horizontalPinWidgetHeight = this->leftPinLayout->findChildren().front()->height(); -// auto horizontalPinWidgetWidth = this->leftPinLayout->findChildren().front()->width(); - + auto verticalPinWidgetHeight = PinWidget::MAXIMUM_VERTICAL_HEIGHT; auto verticalPinWidgetWidth = PinWidget::MAXIMUM_VERTICAL_WIDTH; auto horizontalPinWidgetHeight = PinWidget::MAXIMUM_HORIZONTAL_HEIGHT; @@ -125,15 +120,22 @@ void QuadFlatPackageWidget::drawWidget(QPainter& painter) { auto pinCountPerLayout = static_cast(this->pinWidgets.size() / 4); - auto width = ((horizontalPinWidgetHeight + QuadFlatPackageWidget::PIN_WIDGET_SPACING) * pinCountPerLayout - + QuadFlatPackageWidget::PIN_WIDGET_LAYOUT_PADDING); + /* + * Horizontal layouts are the right and left pin layouts - the ones that hold horizontal pin widgets. + * The bottom and top layouts are vertical layouts, as they hold the vertical pin widgets. + */ + auto horizontalLayoutHeight = ((horizontalPinWidgetHeight + QuadFlatPackageWidget::PIN_WIDGET_SPACING) * pinCountPerLayout + + QuadFlatPackageWidget::PIN_WIDGET_LAYOUT_PADDING - QuadFlatPackageWidget::PIN_WIDGET_SPACING); - auto containerWidth = width + (horizontalPinWidgetWidth * 2); + auto verticalLayoutWidth = ((verticalPinWidgetWidth + QuadFlatPackageWidget::PIN_WIDGET_SPACING) * pinCountPerLayout + + QuadFlatPackageWidget::PIN_WIDGET_LAYOUT_PADDING - QuadFlatPackageWidget::PIN_WIDGET_SPACING); + + auto containerWidth = verticalLayoutWidth + (horizontalPinWidgetWidth * 2); this->topPinLayout->setGeometry(QRect( horizontalPinWidgetWidth, 0, - width, + verticalLayoutWidth, verticalPinWidgetHeight )); @@ -141,34 +143,34 @@ void QuadFlatPackageWidget::drawWidget(QPainter& painter) { 0, verticalPinWidgetHeight, containerWidth, - width + horizontalLayoutHeight )); this->leftPinLayout->setGeometry(QRect( 0, verticalPinWidgetHeight, horizontalPinWidgetWidth, - width + horizontalLayoutHeight )); this->bodyWidget->setGeometry(QRect( horizontalPinWidgetWidth, verticalPinWidgetHeight, - width, - width + horizontalLayoutHeight, + horizontalLayoutHeight )); this->rightPinLayout->setGeometry(QRect( - width + horizontalPinWidgetWidth, + horizontalLayoutHeight + horizontalPinWidgetWidth, verticalPinWidgetHeight, horizontalPinWidgetWidth, - width + horizontalLayoutHeight )); this->bottomPinLayout->setGeometry(QRect( horizontalPinWidgetWidth, - verticalPinWidgetHeight + width, - width, + verticalPinWidgetHeight + horizontalLayoutHeight, + verticalLayoutWidth, verticalPinWidgetHeight )); @@ -202,7 +204,7 @@ void QuadFlatPackageWidget::drawWidget(QPainter& painter) { pinWidgetLayoutMargin ); - auto containerHeight = width + (verticalPinWidgetHeight * 2); + auto containerHeight = horizontalLayoutHeight + (verticalPinWidgetHeight * 2); this->setGeometry( (parentContainerWidth / 2) - (containerWidth / 2), (parentContainerHeight / 2) - (containerHeight / 2),