MetaImGUI 1.0.0
ImGui Application Template for C++20
Loading...
Searching...
No Matches
MetaImGUI::ConfigManager Class Reference

Configuration manager for persistent application settings. More...

#include <ConfigManager.h>

Classes

struct  Impl
 

Public Member Functions

 ConfigManager ()
 
 ~ConfigManager ()
 
 ConfigManager (const ConfigManager &)=delete
 
ConfigManageroperator= (const ConfigManager &)=delete
 
 ConfigManager (ConfigManager &&)=default
 
ConfigManageroperator= (ConfigManager &&)=default
 
bool Load ()
 Load configuration from disk.
 
bool Save ()
 Save configuration to disk.
 
void Reset ()
 Reset configuration to defaults.
 
bool ConfigFileExists () const
 Check if configuration file exists.
 
std::filesystem::path GetConfigPath () const
 Get configuration file path.
 
void SetWindowPosition (int x, int y)
 
void SetWindowSize (int width, int height)
 
std::optional< std::pair< int, int > > GetWindowPosition () const
 
std::optional< std::pair< int, int > > GetWindowSize () const
 
void SetWindowMaximized (bool maximized)
 
bool GetWindowMaximized () const
 
void SetTheme (const std::string &theme)
 
std::string GetTheme () const
 
void AddRecentFile (const std::string &filepath)
 
std::vector< std::string > GetRecentFiles () const
 
void ClearRecentFiles ()
 
void SetMaxRecentFiles (size_t max)
 
void SetString (const std::string &key, const std::string &value)
 
std::optional< std::string > GetString (const std::string &key) const
 
void SetInt (const std::string &key, int value)
 
std::optional< int > GetInt (const std::string &key) const
 
void SetBool (const std::string &key, bool value)
 
std::optional< bool > GetBool (const std::string &key) const
 
void SetFloat (const std::string &key, float value)
 
std::optional< float > GetFloat (const std::string &key) const
 
bool HasKey (const std::string &key) const
 
void RemoveKey (const std::string &key)
 
std::vector< std::string > GetAllKeys () const
 

Detailed Description

Configuration manager for persistent application settings.

ConfigManager handles loading, saving, and accessing application configuration using JSON format. Settings are stored in the user's config directory.

Supported platforms:

  • Linux: ~/.config/MetaImGUI/
  • Windows: APPDATA%/MetaImGUI/
  • macOS: ~/Library/Application Support/MetaImGUI/

Definition at line 41 of file ConfigManager.h.

Constructor & Destructor Documentation

◆ ConfigManager() [1/3]

MetaImGUI::ConfigManager::ConfigManager ( )

Definition at line 76 of file ConfigManager.cpp.

References GetConfigPath().

◆ ~ConfigManager()

MetaImGUI::ConfigManager::~ConfigManager ( )
default

◆ ConfigManager() [2/3]

MetaImGUI::ConfigManager::ConfigManager ( const ConfigManager )
delete

◆ ConfigManager() [3/3]

MetaImGUI::ConfigManager::ConfigManager ( ConfigManager &&  )
default

Member Function Documentation

◆ AddRecentFile()

void MetaImGUI::ConfigManager::AddRecentFile ( const std::string &  filepath)

Definition at line 236 of file ConfigManager.cpp.

◆ ClearRecentFiles()

void MetaImGUI::ConfigManager::ClearRecentFiles ( )

Definition at line 276 of file ConfigManager.cpp.

◆ ConfigFileExists()

bool MetaImGUI::ConfigManager::ConfigFileExists ( ) const

Check if configuration file exists.

Definition at line 148 of file ConfigManager.cpp.

◆ GetAllKeys()

std::vector< std::string > MetaImGUI::ConfigManager::GetAllKeys ( ) const

Definition at line 380 of file ConfigManager.cpp.

References LOG_WARNING.

◆ GetBool()

std::optional< bool > MetaImGUI::ConfigManager::GetBool ( const std::string &  key) const

Definition at line 336 of file ConfigManager.cpp.

References LOG_WARNING.

◆ GetConfigPath()

std::filesystem::path MetaImGUI::ConfigManager::GetConfigPath ( ) const

Get configuration file path.

Definition at line 153 of file ConfigManager.cpp.

Referenced by ConfigManager().

◆ GetFloat()

std::optional< float > MetaImGUI::ConfigManager::GetFloat ( const std::string &  key) const

Definition at line 356 of file ConfigManager.cpp.

References LOG_WARNING.

◆ GetInt()

std::optional< int > MetaImGUI::ConfigManager::GetInt ( const std::string &  key) const

Definition at line 316 of file ConfigManager.cpp.

References LOG_WARNING.

◆ GetRecentFiles()

std::vector< std::string > MetaImGUI::ConfigManager::GetRecentFiles ( ) const

Definition at line 261 of file ConfigManager.cpp.

References LOG_WARNING.

◆ GetString()

std::optional< std::string > MetaImGUI::ConfigManager::GetString ( const std::string &  key) const

Definition at line 296 of file ConfigManager.cpp.

References LOG_WARNING.

◆ GetTheme()

std::string MetaImGUI::ConfigManager::GetTheme ( ) const

Definition at line 222 of file ConfigManager.cpp.

References LOG_WARNING.

◆ GetWindowMaximized()

bool MetaImGUI::ConfigManager::GetWindowMaximized ( ) const

Definition at line 203 of file ConfigManager.cpp.

References LOG_WARNING.

◆ GetWindowPosition()

std::optional< std::pair< int, int > > MetaImGUI::ConfigManager::GetWindowPosition ( ) const

Definition at line 171 of file ConfigManager.cpp.

References LOG_WARNING.

◆ GetWindowSize()

std::optional< std::pair< int, int > > MetaImGUI::ConfigManager::GetWindowSize ( ) const

Definition at line 184 of file ConfigManager.cpp.

References LOG_WARNING.

◆ HasKey()

bool MetaImGUI::ConfigManager::HasKey ( const std::string &  key) const

Definition at line 368 of file ConfigManager.cpp.

◆ Load()

bool MetaImGUI::ConfigManager::Load ( )

Load configuration from disk.

Returns
true if configuration was loaded successfully

Definition at line 85 of file ConfigManager.cpp.

References LOG_ERROR, and LOG_INFO.

◆ operator=() [1/2]

ConfigManager & MetaImGUI::ConfigManager::operator= ( ConfigManager &&  )
default

◆ operator=() [2/2]

ConfigManager & MetaImGUI::ConfigManager::operator= ( const ConfigManager )
delete

◆ RemoveKey()

void MetaImGUI::ConfigManager::RemoveKey ( const std::string &  key)

Definition at line 373 of file ConfigManager.cpp.

◆ Reset()

void MetaImGUI::ConfigManager::Reset ( )

Reset configuration to defaults.

Definition at line 143 of file ConfigManager.cpp.

◆ Save()

bool MetaImGUI::ConfigManager::Save ( )

Save configuration to disk.

Returns
true if configuration was saved successfully

Definition at line 112 of file ConfigManager.cpp.

References LOG_ERROR, and LOG_INFO.

◆ SetBool()

void MetaImGUI::ConfigManager::SetBool ( const std::string &  key,
bool  value 
)

Definition at line 328 of file ConfigManager.cpp.

◆ SetFloat()

void MetaImGUI::ConfigManager::SetFloat ( const std::string &  key,
float  value 
)

Definition at line 348 of file ConfigManager.cpp.

◆ SetInt()

void MetaImGUI::ConfigManager::SetInt ( const std::string &  key,
int  value 
)

Definition at line 308 of file ConfigManager.cpp.

◆ SetMaxRecentFiles()

void MetaImGUI::ConfigManager::SetMaxRecentFiles ( size_t  max)

Definition at line 281 of file ConfigManager.cpp.

◆ SetString()

void MetaImGUI::ConfigManager::SetString ( const std::string &  key,
const std::string &  value 
)

Definition at line 288 of file ConfigManager.cpp.

◆ SetTheme()

void MetaImGUI::ConfigManager::SetTheme ( const std::string &  theme)

Definition at line 217 of file ConfigManager.cpp.

◆ SetWindowMaximized()

void MetaImGUI::ConfigManager::SetWindowMaximized ( bool  maximized)

Definition at line 198 of file ConfigManager.cpp.

◆ SetWindowPosition()

void MetaImGUI::ConfigManager::SetWindowPosition ( int  x,
int  y 
)

Definition at line 159 of file ConfigManager.cpp.

◆ SetWindowSize()

void MetaImGUI::ConfigManager::SetWindowSize ( int  width,
int  height 
)

Definition at line 165 of file ConfigManager.cpp.


The documentation for this class was generated from the following files: