Handled positioning of the target package widget in the container, instead of within the widget itself

This commit is contained in:
Nav
2021-09-26 18:18:12 +01:00
parent 73d422ebd5
commit 3a12395515
7 changed files with 76 additions and 4 deletions

View File

@@ -0,0 +1,26 @@
#include "TargetPackageWidgetContainer.hpp"
using namespace Bloom;
using namespace Bloom::Widgets::InsightTargetWidgets;
TargetPackageWidgetContainer::TargetPackageWidgetContainer(QWidget* parent): QWidget(parent) {
this->packageWidget = this->findChild<TargetPackageWidget*>();
}
void TargetPackageWidgetContainer::resizeEvent(QResizeEvent* event) {
if (this->packageWidget == nullptr) {
return;
}
const auto packageSize = this->packageWidget->size();
this->packageWidget->setGeometry(
(this->width() / 2) - (packageSize.width() / 2),
(this->height() / 2) - (packageSize.height() / 2),
packageSize.width(),
packageSize.height()
);
}
void TargetPackageWidgetContainer::setPackageWidget(TargetPackageWidget* packageWidget) {
this->packageWidget = packageWidget;
}

View File

@@ -0,0 +1,24 @@
#pragma once
#include <QWidget>
#include <QResizeEvent>
#include "TargetPackageWidget.hpp"
namespace Bloom::Widgets::InsightTargetWidgets
{
class TargetPackageWidgetContainer: public QWidget
{
Q_OBJECT
private:
TargetPackageWidget* packageWidget = nullptr;
protected:
void resizeEvent(QResizeEvent* event) override;
public:
TargetPackageWidgetContainer(QWidget* parent);
void setPackageWidget(TargetPackageWidget* packageWidget);
};
}