Skip to content

Commit ebd4175

Browse files
committed
Reworking ModuleSettings again to move all information to the Parameters.cpp eventually to create a global definition for the descriptions, ranges and other UI features
1 parent 6364971 commit ebd4175

37 files changed

+118
-211
lines changed

Src/Common/ModuleSettings.h

Lines changed: 1 addition & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
#pragma once
22

3-
#include "Parameters.h"
4-
#include <string>
5-
#include <unordered_map>
6-
73
enum 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+
};

Src/DasherCore/ButtonMode.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,9 @@ static SModuleSettings sSettings[] = {
3030
{BP_GLOBAL_KEYBOARD, T_BOOL, -1, -1, -1, -1, _("Global keyboard grab")}
3131
};
3232

33-
void CButtonMode::GetUISettings(UISettingList& List) {
33+
void CButtonMode::GetUISettings(std::vector<Dasher::Parameter>& List) {
3434
CDasherButtons::GetUISettings(List);
35-
DeclareSpinButtonSetting(List, Dasher::Parameter::LP_B, "LP_B", "", false, 2, 10, 1);
36-
DeclareSpinButtonSetting(List, Dasher::Parameter::LP_S, "LP_S", "", false, 0, 256, 1);
37-
DeclareSpinButtonSetting(List, Dasher::Parameter::LP_R, "LP_R", "", false, -89, 89, 10);
35+
AddSettings(List, {LP_B, LP_S, LP_R});
3836
}
3937

4038
// FIX iStyle == 0

Src/DasherCore/ButtonMode.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class CButtonMode : public CDasherButtons
2323
void KeyDown(unsigned long Time, Keys::VirtualKey Key, CDasherView *pView, CDasherInput *pInput, CDasherModel *pModel) override;
2424

2525
bool GetSettings(SModuleSettings **pSettings, int *iCount) override;
26-
virtual void GetUISettings(UISettingList& List) override;
26+
virtual void GetUISettings(std::vector<Dasher::Parameter>& List) override;
2727
protected:
2828
void SetupBoxes() override;
2929
void DirectKeyDown(unsigned long iTime, Keys::VirtualKey Key, CDasherView* pView, CDasherModel* pModel) override;

Src/DasherCore/ButtonMultiPress.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
2020

2121
#include "DasherInterfaceBase.h"
22+
#include "Parameters.h"
2223
#include "ButtonMultiPress.h"
2324

2425
using namespace Dasher;
@@ -27,10 +28,9 @@ CButtonMultiPress::CButtonMultiPress(CSettingsStore* pSettingsStore, CDasherInte
2728
: CDynamicButtons(pSettingsStore, pInterface, pFramerate, szName) {
2829
}
2930

30-
void CButtonMultiPress::GetUISettings(UISettingList& List) {
31+
void CButtonMultiPress::GetUISettings(std::vector<Dasher::Parameter>& List) {
3132
CDynamicButtons::GetUISettings(List);
32-
DeclareSpinButtonSetting(List, Dasher::Parameter::LP_HOLD_TIME, "LP_HOLD_TIME", "", false, 1, 1000, 1);
33-
DeclareSpinButtonSetting(List, Dasher::Parameter::LP_MULTIPRESS_TIME, "LP_MULTIPRESS_TIME", "", false, 1, 1000, 1);
33+
AddSettings(List, {LP_HOLD_TIME, LP_MULTIPRESS_TIME});
3434
}
3535

3636
void CButtonMultiPress::Timer(unsigned long iTime, CDasherView *pView, CDasherInput *pInput, CDasherModel *pModel, CExpansionPolicy **pol) {

Src/DasherCore/ButtonMultiPress.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class CButtonMultiPress : public CDynamicButtons {
3838
void KeyDown(unsigned long iTime, Keys::VirtualKey Key, CDasherView *pView, CDasherInput *pInput, CDasherModel *pModel) override;
3939

4040
void pause() override;
41-
virtual void GetUISettings(UISettingList& List) override;
41+
virtual void GetUISettings(std::vector<Dasher::Parameter>& List) override;
4242

4343
protected:
4444
virtual unsigned int maxClickCount()=0;

Src/DasherCore/ClickFilter.cpp

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,9 @@ static SModuleSettings sSettings[] = {
1919
{BP_CURVE_MOUSE_LINE, T_BOOL, -1, -1, -1, -1, _("Curve lines to follow the non-linearity of the view transform")},
2020
};
2121

22-
void CClickFilter::GetUISettings(UISettingList& List) {
22+
void CClickFilter::GetUISettings(std::vector<Dasher::Parameter>& List) {
2323
CStaticFilter::GetUISettings(List);
24-
DeclareSwitchSetting(List, Dasher::Parameter::BP_DRAW_MOUSE_LINE, "BP_DRAW_MOUSE_LINE", "", false);
25-
DeclareSwitchSetting(List, Dasher::Parameter::BP_CURVE_MOUSE_LINE, "BP_CURVE_MOUSE_LINE", "", false);
26-
DeclareSpinButtonSetting(List, Dasher::Parameter::LP_LINE_WIDTH, "LP_LINE_WIDTH", "", false, 1, 1000, 1);
27-
DeclareSpinButtonSetting(List, Dasher::Parameter::LP_S, "LP_S", "", false, 1, 1000, 1);
28-
DeclareSpinButtonSetting(List, Dasher::Parameter::LP_MAXZOOM, "LP_MAXZOOM", "", false, 1, 1000, 1);
24+
AddSettings(List, {BP_DRAW_MOUSE_LINE,BP_CURVE_MOUSE_LINE,LP_LINE_WIDTH,LP_S, LP_MAXZOOM});
2925
}
3026

3127
bool CClickFilter::DecorateView(CDasherView *pView, CDasherInput *pInput) {

Src/DasherCore/ClickFilter.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class CClickFilter : public CStaticFilter, private CZoomAdjuster {
2727
virtual bool DecorateView(CDasherView *pView, CDasherInput *pInput) override;
2828
virtual void KeyDown(unsigned long iTime, Keys::VirtualKey Key, CDasherView *pView, CDasherInput *pInput, CDasherModel *pModel) override;
2929
virtual bool GetSettings(SModuleSettings **pSettings, int *iCount) override;
30-
virtual void GetUISettings(UISettingList& List) override;
30+
virtual void GetUISettings(std::vector<Dasher::Parameter>& List) override;
3131

3232
private:
3333
//for mouse lines

Src/DasherCore/CompassMode.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ static SModuleSettings sSettings[] = {
2121
{BP_GLOBAL_KEYBOARD, T_BOOL, -1, -1, -1, -1, _("Global keyboard grab")}
2222
};
2323

24-
void CCompassMode::GetUISettings(UISettingList& List) {
24+
void CCompassMode::GetUISettings(std::vector<Dasher::Parameter>& List) {
2525
CDasherButtons::GetUISettings(List);
26-
DeclareSpinButtonSetting(List, Dasher::Parameter::LP_RIGHTZOOM, "LP_RIGHTZOOM", "", false, 1024, 10240, 1024);
26+
AddSettings(List, {LP_RIGHTZOOM});
2727
}
2828

2929
// FIX iStyle == 2

Src/DasherCore/CompassMode.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class CCompassMode : public CDasherButtons
1919
bool DecorateView(CDasherView *pView, CDasherInput *pInput) override;
2020

2121
bool GetSettings(SModuleSettings **pSettings, int *iCount) override;
22-
virtual void GetUISettings(UISettingList& List) override;
22+
virtual void GetUISettings(std::vector<Dasher::Parameter>& List) override;
2323

2424
protected:
2525
void SetupBoxes() override;

Src/DasherCore/DasherButtons.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ CDasherButtons::~CDasherButtons()
1919
delete[] m_pBoxes;
2020
}
2121

22-
void CDasherButtons::GetUISettings(UISettingList& List) {
22+
void CDasherButtons::GetUISettings(std::vector<Dasher::Parameter>& List) {
2323
CStaticFilter::GetUISettings(List);
24-
DeclareSpinButtonSetting(List, Dasher::Parameter::LP_BUTTON_SCAN_TIME, "LP_BUTTON_SCAN_TIME", "", false, 0, 2000, 100);
24+
AddSettings(List, {LP_BUTTON_SCAN_TIME});
2525
}
2626

2727
void CDasherButtons::Activate() {

0 commit comments

Comments
 (0)