OpenMW
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
enumsetting.hpp
Go to the documentation of this file.
1 #ifndef CSM_PREFS_ENUMSETTING_H
2 #define CSM_PREFS_ENUMSETTING_H
3 
4 #include <vector>
5 
6 #include "setting.hpp"
7 
8 namespace CSMPrefs
9 {
10  struct EnumValue
11  {
12  std::string mValue;
13  std::string mTooltip;
14 
15  EnumValue (const std::string& value, const std::string& tooltip = "");
16 
17  EnumValue (const char *value);
18  };
19 
20  struct EnumValues
21  {
22  std::vector<EnumValue> mValues;
23 
24  EnumValues& add (const EnumValues& values);
25 
26  EnumValues& add (const EnumValue& value);
27 
28  EnumValues& add (const std::string& value, const std::string& tooltip);
29  };
30 
31  class EnumSetting : public Setting
32  {
33  Q_OBJECT
34 
35  std::string mTooltip;
38 
39  public:
40 
41  EnumSetting (Category *parent, Settings::Manager *values,
42  QMutex *mutex, const std::string& key, const std::string& label,
43  const EnumValue& default_);
44 
45  EnumSetting& setTooltip (const std::string& tooltip);
46 
47  EnumSetting& addValues (const EnumValues& values);
48 
49  EnumSetting& addValue (const EnumValue& value);
50 
51  EnumSetting& addValue (const std::string& value, const std::string& tooltip);
52 
54  virtual std::pair<QWidget *, QWidget *> makeWidgets (QWidget *parent);
55 
56  private slots:
57 
58  void valueChanged (int value);
59  };
60 }
61 
62 #endif
EnumValue mDefault
Definition: enumsetting.hpp:36
std::string mTooltip
Definition: enumsetting.hpp:35
EnumValues mValues
Definition: enumsetting.hpp:37
std::string mTooltip
Definition: enumsetting.hpp:13
virtual std::pair< QWidget *, QWidget * > makeWidgets(QWidget *parent)
Return label, input widget.
Definition: enumsetting.cpp:71
std::string mValue
Definition: enumsetting.hpp:12
Definition: category.hpp:12
Definition: enumsetting.hpp:20
Definition: enumsetting.hpp:10
EnumSetting & addValues(const EnumValues &values)
Definition: enumsetting.cpp:53
Definition: setting.hpp:22
void valueChanged(int value)
Definition: enumsetting.cpp:104
EnumSetting(Category *parent, Settings::Manager *values, QMutex *mutex, const std::string &key, const std::string &label, const EnumValue &default_)
Definition: enumsetting.cpp:42
EnumSetting & setTooltip(const std::string &tooltip)
Definition: enumsetting.cpp:47
Definition: enumsetting.hpp:31
EnumSetting & addValue(const EnumValue &value)
Definition: enumsetting.cpp:59
Settings management (can change during runtime)
Definition: settings.hpp:17
std::vector< EnumValue > mValues
Definition: enumsetting.hpp:22
EnumValues & add(const EnumValues &values)
Definition: enumsetting.cpp:23
EnumValue(const std::string &value, const std::string &tooltip="")
Definition: enumsetting.cpp:14