Skip to content
Snippets Groups Projects
Commit 3febb81e authored by Mikhail Svechnikov's avatar Mikhail Svechnikov Committed by Mikhail Svechnikov
Browse files

doing common spinbox

parent 96265dda
No related branches found
No related tags found
1 merge request!964GUI refactoring: move spinbox/combobox/textbox/checkbox creating functions to WidgetUtils
......@@ -19,7 +19,7 @@ SafeSpinBox::SafeSpinBox(bool easyScrollable, QWidget* parent)
: QSpinBox{parent}
, easyScrollable(easyScrollable)
{
setFocusPolicy(Qt::StrongFocus);
}
void SafeSpinBox::wheelEvent(QWheelEvent *event)
......
......@@ -31,7 +31,7 @@ AxisPropertyEditor::AxisPropertyEditor(QWidget* parent, const QString& groupTitl
auto* formLayout = new QFormLayout(this);
formLayout->setFieldGrowthPolicy(QFormLayout::FieldsStayAtSizeHint);
m_nbinsSpinBox = GUI::Util::createSpinBox(axisProperty->nbins());
m_nbinsSpinBox = GUI::Util::createSpinBoxRow(formLayout, axisProperty->nbins());
m_minSpinBox = GUI::Util::createDoubleSpinBoxRow(formLayout, axisProperty->min());
m_maxSpinBox = GUI::Util::createDoubleSpinBoxRow(formLayout, axisProperty->max());
......
......@@ -16,6 +16,7 @@
#include "GUI/Model/Device/AxesItems.h"
#include "GUI/Model/Device/RectangularDetectorItem.h"
#include "GUI/View/Common/DoubleSpinBox.h"
#include "GUI/View/Common/SafeSpinBox.h"
#include "GUI/View/Instrument/DetectorAlignmentEditor.h"
#include "GUI/View/Instrument/ResolutionFunctionEditor.h"
#include "GUI/View/Tool/GroupBoxCollapser.h"
......@@ -41,7 +42,7 @@ RectangularDetectorEditor::RectangularDetectorEditor(QWidget* parent,
xAxisGroupBox->setProperty("subgroup", true); // for stylesheet addressing
auto* xAxisFormLayout = new QFormLayout(xAxisGroupBox);
auto* xAxisNbinsSpinBox = new QSpinBox(xAxisGroupBox);
auto* xAxisNbinsSpinBox = new SafeSpinBox;
xAxisNbinsSpinBox->setRange(1, 65536);
xAxisNbinsSpinBox->setValue(detector->xSize());
xAxisFormLayout->addRow("Nbins:", xAxisNbinsSpinBox);
......@@ -68,7 +69,7 @@ RectangularDetectorEditor::RectangularDetectorEditor(QWidget* parent,
yAxisGroupBox->setProperty("subgroup", true); // for stylesheet addressing
auto* yAxisFormLayout = new QFormLayout(yAxisGroupBox);
auto* yAxisNbinsSpinBox = new QSpinBox(yAxisGroupBox);
auto* yAxisNbinsSpinBox = new SafeSpinBox;
yAxisNbinsSpinBox->setRange(1, 65536);
yAxisNbinsSpinBox->setValue(detector->ySize());
yAxisFormLayout->addRow("Nbins:", yAxisNbinsSpinBox);
......
......@@ -24,12 +24,36 @@
#include <QCheckBox>
#include <QLineEdit>
//QWidget* MinimizerSettingsWidget::createSpinbox(UIntDescriptor d)
//{
// auto* spinBox = new QSpinBox(this);
// spinBox->setToolTip(d.tooltip);
// spinBox->setMaximum(std::numeric_limits<int>::max());
// spinBox->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed);
// if (d.limits.hasLowerLimit())
// spinBox->setMinimum(static_cast<int>(d.limits.lowerLimit()));
// if (d.limits.hasUpperLimit())
// spinBox->setMaximum(static_cast<int>(d.limits.upperLimit()));
// spinBox->setValue(d.get());
// QObject::connect(spinBox, QOverload<int>::of(&QSpinBox::valueChanged),
// [=](int newValue) { d.set(newValue); });
// m_updaters << [=]() {
// QSignalBlocker b(spinBox);
// spinBox->setValue(d.get());
// };
// return spinBox;
//}
SafeSpinBox* GUI::Util::createSpinBox(const UIntDescriptor& d,
std::function<void(uint)> slot,
bool easyScrollable)
{
auto* spinBox = new SafeSpinBox(easyScrollable);
spinBox->setFocusPolicy(Qt::StrongFocus);
spinBox->setToolTip(d.tooltip);
spinBox->setMaximum(std::numeric_limits<int>::max());
spinBox->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed);
......@@ -74,7 +98,6 @@ QString GUI::Util::labelWithUnit(const QString& label, variant<QString, Unit> un
{
const QString s = std::holds_alternative<QString>(unit) ? std::get<QString>(unit)
: unitAsString(std::get<Unit>(unit));
if (!s.isEmpty())
return label + " [" + s + "]";
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment