12 virtual ~PreferencesModule();
15 virtual const char* GetName()
const = 0;
16 virtual void Render() = 0;
19 virtual const char* GetParentPath()
const {
return ""; }
24 void AddSubModule(PreferencesModule* sub);
25 const std::vector<PreferencesModule*>& GetSubModules()
const;
28 std::string GetFullPath()
const;
29 std::string GetSettingsFilePath()
const;
32 bool IsDirty()
const {
return mDirty; }
33 void SetDirty(
bool dirty) { mDirty = dirty; }
36 std::vector<PreferencesModule*> mSubModules;
41#define DECLARE_PREFERENCES_MODULE(Class) \
42 static const char* GetStaticName(); \
43 static const char* GetStaticParentPath();
45#define DEFINE_PREFERENCES_MODULE(Class, Name, ParentPath) \
46 const char* Class::GetStaticName() { return Name; } \
47 const char* Class::GetStaticParentPath() { return ParentPath; }
Definition JsonHelpers.h:15