1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2024-10-06 14:53:21 +02:00
GPXSee/src/GUI/marginswidget.cpp
Martin Tůma 97bea8c56c Added support for Qt6
Removed support for Qt4 and Qt5 < 5.12
2020-12-22 22:09:09 +01:00

112 lines
3.2 KiB
C++

#include <QSpinBox>
#include <QGridLayout>
#include "units.h"
#include "marginswidget.h"
MarginsWidget::MarginsWidget(QWidget *parent) : QWidget(parent)
{
_top = new QSpinBox();
_bottom = new QSpinBox();
_left = new QSpinBox();
_right = new QSpinBox();
_top->setMaximumWidth(_top->sizeHint().width());
_bottom->setMaximumWidth(_bottom->sizeHint().width());
_left->setMaximumWidth(_left->sizeHint().width());
_right->setMaximumWidth(_right->sizeHint().width());
QGridLayout *layout = new QGridLayout();
layout->addWidget(_top, 0, 0, 1, 2, Qt::AlignCenter);
layout->addWidget(_left, 1, 0, 1, 1, Qt::AlignRight);
layout->addWidget(_right, 1, 1, 1, 1, Qt::AlignLeft);
layout->addWidget(_bottom, 2, 0, 1, 2, Qt::AlignCenter);
setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
setLayout(layout);
}
void MarginsWidget::setValue(const QMargins &value)
{
_top->setValue(value.top());
_bottom->setValue(value.bottom());
_left->setValue(value.left());
_right->setValue(value.right());
}
void MarginsWidget::setUnits(const QString &units)
{
_top->setSuffix(UNIT_SPACE + units);
_bottom->setSuffix(UNIT_SPACE + units);
_left->setSuffix(UNIT_SPACE + units);
_right->setSuffix(UNIT_SPACE + units);
_top->setMaximumWidth(_top->sizeHint().width());
_bottom->setMaximumWidth(_bottom->sizeHint().width());
_left->setMaximumWidth(_left->sizeHint().width());
_right->setMaximumWidth(_right->sizeHint().width());
}
QMargins MarginsWidget::value() const
{
return QMargins(_left->value(), _top->value(), _right->value(),
_bottom->value());
}
MarginsFWidget::MarginsFWidget(QWidget *parent) : QWidget(parent)
{
_top = new QDoubleSpinBox();
_bottom = new QDoubleSpinBox();
_left = new QDoubleSpinBox();
_right = new QDoubleSpinBox();
_top->setMaximumWidth(_top->sizeHint().width());
_bottom->setMaximumWidth(_bottom->sizeHint().width());
_left->setMaximumWidth(_left->sizeHint().width());
_right->setMaximumWidth(_right->sizeHint().width());
QGridLayout *layout = new QGridLayout();
layout->addWidget(_top, 0, 0, 1, 2, Qt::AlignCenter);
layout->addWidget(_left, 1, 0, 1, 1, Qt::AlignRight);
layout->addWidget(_right, 1, 1, 1, 1, Qt::AlignLeft);
layout->addWidget(_bottom, 2, 0, 1, 2, Qt::AlignCenter);
setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
setLayout(layout);
}
void MarginsFWidget::setValue(const QMarginsF &value)
{
_top->setValue(value.top());
_bottom->setValue(value.bottom());
_left->setValue(value.left());
_right->setValue(value.right());
}
void MarginsFWidget::setUnits(const QString &units)
{
_top->setSuffix(UNIT_SPACE + units);
_bottom->setSuffix(UNIT_SPACE + units);
_left->setSuffix(UNIT_SPACE + units);
_right->setSuffix(UNIT_SPACE + units);
_top->setMaximumWidth(_top->sizeHint().width());
_bottom->setMaximumWidth(_bottom->sizeHint().width());
_left->setMaximumWidth(_left->sizeHint().width());
_right->setMaximumWidth(_right->sizeHint().width());
}
void MarginsFWidget::setSingleStep(qreal step)
{
_top->setSingleStep(step);
_bottom->setSingleStep(step);
_left->setSingleStep(step);
_right->setSingleStep(step);
}
QMarginsF MarginsFWidget::value() const
{
return QMarginsF(_left->value(), _top->value(), _right->value(),
_bottom->value());
}