Mantid
Loading...
Searching...
No Matches
QScienceSpinBox.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2018 ISIS Rutherford Appleton Laboratory UKRI,
4// NScD Oak Ridge National Laboratory, European Spallation Source,
5// Institut Laue - Langevin & CSNS, Institute of High Energy Physics, CAS
6// SPDX - License - Identifier: GPL - 3.0 +
7#pragma once
8
10
11#include <QDebug>
12#include <QDoubleSpinBox>
13#include <QDoubleValidator>
14#include <QLineEdit>
15#include <QString>
16#include <QVariant>
17
18namespace MantidQt {
19namespace API {
20
21class EXPORT_OPT_MANTIDQT_COMMON QScienceSpinBox : public QDoubleSpinBox {
22 Q_OBJECT
23public:
24 QScienceSpinBox(QWidget *parent = nullptr);
25
26 int decimals() const;
27 void setDecimals(int value);
28
29 QString textFromValue(double value) const override;
30 double valueFromText(const QString &text) const override;
31
32 void setLogSteps(bool logSteps);
33
34private:
36 QChar delimiter, thousand;
37 QDoubleValidator *v;
40
41private:
42 void initLocalValues(QWidget *parent);
43 bool isIntermediateValue(const QString &str) const;
44 QVariant validateAndInterpret(QString &input, int &pos, QValidator::State &state) const;
45 QValidator::State validate(QString &text, int &pos) const override;
46 void fixup(QString &input) const override;
47 QString stripped(const QString &t, int *pos) const;
48 double round(double value) const;
49 void stepBy(int steps) override;
50
51public slots:
52 void stepDown();
53 void stepUp();
54
55signals:
57};
58
59} // namespace API
60} // namespace MantidQt
#define EXPORT_OPT_MANTIDQT_COMMON
Definition: DllOption.h:15
double value
The value of the point.
Definition: FitMW.cpp:51
bool m_logSteps
Will step in a log way (multiplicatively)
The AlgorithmProgressDialogPresenter keeps track of the running algorithms and displays a progress ba...