Skip to content

Commit c14e4f5

Browse files
committed
Separating StaticFilter into own file and adding new GUISetting Methods. These will probably be replaced again soon.
1 parent fc3cf1a commit c14e4f5

38 files changed

+261
-85
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ set(SOURCE_FILES
8484
${CMAKE_CURRENT_LIST_DIR}/Src/DasherCore/SimpleTimer.cpp
8585
# ${CMAKE_CURRENT_LIST_DIR}/Src/DasherCore/SocketInput.cpp
8686
# ${CMAKE_CURRENT_LIST_DIR}/Src/DasherCore/SocketInputBase.cpp
87+
${CMAKE_CURRENT_LIST_DIR}/Src/DasherCore/StaticFilter.cpp
8788
${CMAKE_CURRENT_LIST_DIR}/Src/DasherCore/StylusFilter.cpp
8889
${CMAKE_CURRENT_LIST_DIR}/Src/DasherCore/TimeSpan.cpp
8990
${CMAKE_CURRENT_LIST_DIR}/Src/DasherCore/Trainer.cpp

Src/Common/ModuleSettings.h

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,39 +37,45 @@ namespace Dasher {
3737
struct ModuleSetting
3838
{
3939
SettingsType Type;
40-
ModuleSetting(SettingsType Type, Dasher::Parameter Param, std::string Name, std::string Description) : Type(Type), Param(Param), Description(Description), Name(Name) {}
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) {}
4141
virtual ~ModuleSetting() {};
42+
43+
bool operator<(const ModuleSetting& other) const
44+
{
45+
return Name < other.Name;
46+
}
4247

4348
std::string Name;
4449
std::string Description;
4550
Dasher::Parameter Param;
51+
bool AdvancedSetting;
4652
};
4753

4854
struct TextboxSetting : ModuleSetting {
49-
TextboxSetting(Dasher::Parameter Param, std::string Name, std::string Description) : ModuleSetting(SettingsType::TextField, Param, Name, Description) {}
55+
TextboxSetting(Dasher::Parameter Param, std::string Name, std::string Description, bool AdvancedSetting) : ModuleSetting(SettingsType::TextField, Param, Name, Description, AdvancedSetting) {}
5056
};
5157

5258
struct SliderSetting : ModuleSetting {
53-
SliderSetting(Dasher::Parameter Param, std::string Name, std::string Description, int min, int max, int step) : ModuleSetting(SettingsType::Slider, Param, Name, Description), min(min), max(max), step(step) {};
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) {};
5460
int min;
5561
int max;
5662
int step;
5763
};
5864

5965
struct SpinSetting : ModuleSetting {
60-
SpinSetting(Dasher::Parameter Param, std::string Name, std::string Description, int min, int max, int step) : ModuleSetting(SettingsType::Step, Param, Name, Description), min(min), max(max), step(step) {}
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) {}
6167
int min;
6268
int max;
6369
int step;
6470
};
6571

6672
struct EnumSetting : ModuleSetting {
67-
EnumSetting(Dasher::Parameter Param, std::string Name, std::string Description, std::unordered_map<std::string, int> Enums) : ModuleSetting(SettingsType::Enum, Param, Name, Description), Enums(Enums) {};
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) {};
6874
std::unordered_map<std::string, int> Enums;
6975
};
7076

7177
struct SwitchSetting : ModuleSetting {
72-
SwitchSetting(Dasher::Parameter Param, std::string Name, std::string Description) : ModuleSetting(SettingsType::Switch, Param, Name, Description) {};
78+
SwitchSetting(Dasher::Parameter Param, std::string Name, std::string Description, bool AdvancedSetting) : ModuleSetting(SettingsType::Switch, Param, Name, Description, AdvancedSetting) {};
7379
};
7480
}
75-
}
81+
}

Src/DasherCore/ButtonMode.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
#include <I18n.h>
88
#include <cmath>
99

10+
#include "DasherButtons.h"
1011
#include "DasherScreen.h"
1112
#include "DasherInterfaceBase.h"
1213

@@ -29,6 +30,13 @@ static SModuleSettings sSettings[] = {
2930
{BP_GLOBAL_KEYBOARD, T_BOOL, -1, -1, -1, -1, _("Global keyboard grab")}
3031
};
3132

33+
void CButtonMode::GetUISettings(UISettingList& List) {
34+
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);
38+
}
39+
3240
// FIX iStyle == 0
3341

3442
CButtonMode::CButtonMode(CSettingsStore* pSettingsStore, CDasherInterfaceBase *pInterface, bool bMenu, const char *szName)

Src/DasherCore/ButtonMode.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +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;
2627
protected:
2728
void SetupBoxes() override;
2829
void DirectKeyDown(unsigned long iTime, Keys::VirtualKey Key, CDasherView* pView, CDasherModel* pModel) override;

Src/DasherCore/ButtonMultiPress.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,12 @@ CButtonMultiPress::CButtonMultiPress(CSettingsStore* pSettingsStore, CDasherInte
2727
: CDynamicButtons(pSettingsStore, pInterface, pFramerate, szName) {
2828
}
2929

30+
void CButtonMultiPress::GetUISettings(UISettingList& List) {
31+
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);
34+
}
35+
3036
void CButtonMultiPress::Timer(unsigned long iTime, CDasherView *pView, CDasherInput *pInput, CDasherModel *pModel, CExpansionPolicy **pol) {
3137
if(m_bKeyDown && !m_bKeyHandled && ((iTime - m_iKeyDownTime) > static_cast<unsigned long>(m_pSettingsStore->GetLongParameter(LP_HOLD_TIME)))) {
3238
ButtonEvent(iTime, m_iHeldId, 1, pModel);

Src/DasherCore/ButtonMultiPress.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ 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;
42+
4143
protected:
4244
virtual unsigned int maxClickCount()=0;
4345
void reverse(unsigned long iTime) override;

Src/DasherCore/ClickFilter.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#include "ClickFilter.h"
22
#include "DasherInterfaceBase.h"
3+
#include "StaticFilter.h"
34
#include <algorithm>
45

56
using namespace Dasher;
@@ -18,6 +19,15 @@ static SModuleSettings sSettings[] = {
1819
{BP_CURVE_MOUSE_LINE, T_BOOL, -1, -1, -1, -1, _("Curve lines to follow the non-linearity of the view transform")},
1920
};
2021

22+
void CClickFilter::GetUISettings(UISettingList& List) {
23+
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);
29+
}
30+
2131
bool CClickFilter::DecorateView(CDasherView *pView, CDasherInput *pInput) {
2232
bool bChanged(false);
2333
if (m_pSettingsStore->GetBoolParameter(BP_DRAW_MOUSE_LINE)) {

Src/DasherCore/ClickFilter.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22

33
#include <I18n.h>
44

5-
#include "InputFilter.h"
5+
#include "SettingsStore.h"
6+
#include "StaticFilter.h"
67

78
/// \ingroup InputFilter
89
/// @{
@@ -26,7 +27,8 @@ class CClickFilter : public CStaticFilter, private CZoomAdjuster {
2627
virtual bool DecorateView(CDasherView *pView, CDasherInput *pInput) override;
2728
virtual void KeyDown(unsigned long iTime, Keys::VirtualKey Key, CDasherView *pView, CDasherInput *pInput, CDasherModel *pModel) override;
2829
virtual bool GetSettings(SModuleSettings **pSettings, int *iCount) override;
29-
30+
virtual void GetUISettings(UISettingList& List) override;
31+
3032
private:
3133
//for mouse lines
3234
myint m_iLastX, m_iLastY;

Src/DasherCore/CompassMode.cpp

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

24+
void CCompassMode::GetUISettings(UISettingList& List) {
25+
CDasherButtons::GetUISettings(List);
26+
DeclareSpinButtonSetting(List, Dasher::Parameter::LP_RIGHTZOOM, "LP_RIGHTZOOM", "", false, 1024, 10240, 1024);
27+
}
28+
2429
// FIX iStyle == 2
2530

2631
CCompassMode::CCompassMode(CSettingsStore* pSettingsStore, CDasherInterfaceBase *pInterface)

Src/DasherCore/CompassMode.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +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;
2223

2324
protected:
2425
void SetupBoxes() override;

0 commit comments

Comments
 (0)