1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-02-06 09:39:49 +00:00
OpenMW/apps/opencs/model/prefs/doublesetting.hpp

49 lines
1.1 KiB
C++
Raw Normal View History

2015-12-10 10:58:38 +01:00
#ifndef CSM_PREFS_DOUBLESETTING_H
#define CSM_PREFS_DOUBLESETTING_H
#include "setting.hpp"
class QDoubleSpinBox;
2015-12-10 10:58:38 +01:00
namespace CSMPrefs
{
2022-10-19 19:02:00 +02:00
class Category;
2023-11-12 00:52:09 +01:00
class DoubleSetting final : public TypedSetting<double>
2015-12-10 10:58:38 +01:00
{
2022-09-22 21:26:05 +03:00
Q_OBJECT
2015-12-10 10:58:38 +01:00
2022-09-22 21:26:05 +03:00
int mPrecision;
double mMin;
double mMax;
std::string mTooltip;
QDoubleSpinBox* mWidget;
2015-12-10 10:58:38 +01:00
2022-09-22 21:26:05 +03:00
public:
2023-11-12 00:52:09 +01:00
explicit DoubleSetting(
Category* parent, QMutex* mutex, std::string_view key, const QString& label, Settings::Index& index);
2015-12-10 10:58:38 +01:00
2022-09-22 21:26:05 +03:00
DoubleSetting& setPrecision(int precision);
2015-12-10 10:58:38 +01:00
2022-09-22 21:26:05 +03:00
// defaults to [0, std::numeric_limits<double>::max()]
DoubleSetting& setRange(double min, double max);
2022-09-22 21:26:05 +03:00
DoubleSetting& setMin(double min);
2015-12-10 10:58:38 +01:00
2022-09-22 21:26:05 +03:00
DoubleSetting& setMax(double max);
2015-12-10 10:58:38 +01:00
2022-09-22 21:26:05 +03:00
DoubleSetting& setTooltip(const std::string& tooltip);
2015-12-10 10:58:38 +01:00
2022-09-22 21:26:05 +03:00
/// Return label, input widget.
SettingWidgets makeWidgets(QWidget* parent) override;
2015-12-10 10:58:38 +01:00
2022-09-22 21:26:05 +03:00
void updateWidget() override;
2015-12-10 10:58:38 +01:00
2022-09-22 21:26:05 +03:00
private slots:
2022-09-22 21:26:05 +03:00
void valueChanged(double value);
2015-12-10 10:58:38 +01:00
};
}
#endif