36#ifndef PreferenceManager_h
37#define PreferenceManager_h
72 void SavePreferences();
74 Preference& GetPreference(
const std::string& path);
76 const std::string& GetConfigDirectory()
77 {
return m_configDir; }
80 int64_t GetInt(
const std::string& path)
const;
81 int64_t GetEnumRaw(
const std::string& path)
const;
82 const std::string& GetString(
const std::string& path)
const;
83 double GetReal(
const std::string& path)
const;
84 bool GetBool(
const std::string& path)
const;
85 ImU32 GetColor(
const std::string& path)
const;
87 ImVec4 GetColorFloat4(
const std::string& path)
const
88 {
return ImGui::ColorConvertU32ToFloat4(GetColor(path)); }
90 FontDescription GetFont(
const std::string& path)
const;
92 template<
typename E >
93 E GetEnum(
const std::string& path)
const
95 return this->GetPreference(path).GetEnum<
E>();
100 void DeterminePath();
101 void InitializeDefaults();
102 void LoadPreferences();
103 bool HasPreferenceFile()
const;
104 const Preference& GetPreference(
const std::string& path)
const;
108 std::string m_filePath;
109 std::string m_configDir;
Data structure modeling a hierachical property tree.
Definition AcceleratorBuffer.h:204
Definition PreferenceTree.h:133
Definition PreferenceManager.h:45
Definition Preference.h:120