11#pragma once
22
3- #include " Parameters.h"
4- #include < string>
5- #include < unordered_map>
6-
73enum setting_t {
84 T_BOOL ,
95 T_LONG ,
@@ -21,61 +17,4 @@ struct _SModuleSettings {
2117 int iDivisor ;
2218 int iStep ;
2319 const char * szDescription ;
24- };
25-
26- enum SettingsType
27- {
28- Switch,
29- TextField,
30- Slider,
31- Enum,
32- Step
33- };
34-
35- namespace Dasher {
36- namespace Settings {
37- struct ModuleSetting
38- {
39- SettingsType Type;
40- ModuleSetting (SettingsType Type, Dasher::Parameter Param, std::string Name, std::string Description, bool AdvancedSetting) : Type(Type), Param(Param), Description(Description), Name(Name), AdvancedSetting(AdvancedSetting) {}
41- virtual ~ModuleSetting () {};
42-
43- bool operator <(const ModuleSetting& other) const
44- {
45- return Name < other.Name ;
46- }
47-
48- std::string Name;
49- std::string Description;
50- Dasher::Parameter Param;
51- bool AdvancedSetting;
52- };
53-
54- struct TextboxSetting : ModuleSetting {
55- TextboxSetting (Dasher::Parameter Param, std::string Name, std::string Description, bool AdvancedSetting) : ModuleSetting(SettingsType::TextField, Param, Name, Description, AdvancedSetting) {}
56- };
57-
58- struct SliderSetting : ModuleSetting {
59- SliderSetting (Dasher::Parameter Param, std::string Name, std::string Description, bool AdvancedSetting, int min, int max, int step) : ModuleSetting(SettingsType::Slider, Param, Name, Description, AdvancedSetting), min(min), max(max), step(step) {};
60- int min;
61- int max;
62- int step;
63- };
64-
65- struct SpinSetting : ModuleSetting {
66- SpinSetting (Dasher::Parameter Param, std::string Name, std::string Description, bool AdvancedSetting, int min, int max, int step) : ModuleSetting(SettingsType::Step, Param, Name, Description, AdvancedSetting), min(min), max(max), step(step) {}
67- int min;
68- int max;
69- int step;
70- };
71-
72- struct EnumSetting : ModuleSetting {
73- EnumSetting (Dasher::Parameter Param, std::string Name, std::string Description, bool AdvancedSetting, std::unordered_map<std::string, int > Enums) : ModuleSetting(SettingsType::Enum, Param, Name, Description, AdvancedSetting), Enums(Enums) {};
74- std::unordered_map<std::string, int > Enums;
75- };
76-
77- struct SwitchSetting : ModuleSetting {
78- SwitchSetting (Dasher::Parameter Param, std::string Name, std::string Description, bool AdvancedSetting) : ModuleSetting(SettingsType::Switch, Param, Name, Description, AdvancedSetting) {};
79- };
80- }
81- }
20+ };
0 commit comments