6#include "MRPch/MRJson.h"
30 MRMESH_API
void reset( std::string appName );
42 void reset(
const std::filesystem::path& filePath );
52 MRMESH_API
bool hasBool(
const std::string& key )
const;
55 MRMESH_API
bool getBool(
const std::string& key,
bool defaultValue =
false )
const;
58 MRMESH_API
void setBool(
const std::string& key,
bool keyValue );
62 MRMESH_API
bool hasColor(
const std::string& key )
const;
68 MRMESH_API
void setColor(
const std::string& key,
const Color& keyValue );
84 MRMESH_API Vector2i
getVector2i(
const std::string& key,
const Vector2i& defaultValue = Vector2i() )
const;
87 MRMESH_API
void setVector2i(
const std::string& key,
const Vector2i& keyValue );
90 typedef std::vector<const char*>
Enum;
94 MRMESH_API
bool hasEnum(
const Enum &enumeration,
const std::string& key )
const;
97 MRMESH_API
int getEnum(
const Enum& enumeration,
const std::string& key,
int defaultValue = 0 )
const;
100 MRMESH_API
void setEnum(
const Enum& enumeration,
const std::string& key,
int keyValue );
110 MRMESH_API Json::Value
getJsonValue(
const std::string& key,
const Json::Value& defaultValue = {} );
113 MRMESH_API
void setJsonValue(
const std::string& key,
const Json::Value& keyValue );
116 Json::Value
toJson()
const {
return config_; }
119 void fromJson(
const Json::Value& config ) { config_ = config; }
121 std::string appName_;
124 std::filesystem::path filePath_;
static MRMESH_API Logger & instance()
MRMESH_API const std::shared_ptr< spdlog::logger > & getSpdLogger() const
store this pointer if need to prolong logger life time (necessary to log something from destructors)
stores mask of viewport unique identifiers
Definition MRViewportId.h:42
MRMESH_API bool getBool(const std::string &key, bool defaultValue=false) const
returns MRColor with presented key
MRMESH_API Color getColor(const std::string &key, const Color &defaultValue=Color::black()) const
returns MRColor with presented key
MRMESH_API void setEnum(const Enum &enumeration, const std::string &key, int keyValue)
sets custom enumeration value
std::vector< const char * > Enum
Description of a enumeration as a map between [0...N) and N strings.
Definition MRConfig.h:90
MRMESH_API void reset(std::string appName)
MRMESH_API bool hasColor(const std::string &key) const
returns true if MRColor with presented key exists
MRMESH_API bool hasVector2i(const std::string &key) const
returns true if Vector2i with presented key exists
MRMESH_API void writeToFile()
writes current config to file. (implicitly called from destructor)
Json::Value toJson() const
returns json with content of this config
Definition MRConfig.h:116
void fromJson(const Json::Value &config)
replace current config content with given one
Definition MRConfig.h:119
static constexpr Color black() noexcept
Definition MRColor.h:29
MRMESH_API void setVector2i(const std::string &key, const Vector2i &keyValue)
sets Vector2i for presented key
MRMESH_API int getEnum(const Enum &enumeration, const std::string &key, int defaultValue=0) const
returns custom enumeration value
MRMESH_API const std::string & getAppName() const
the name of the application, UTF8 encoded
MRMESH_API void setJsonValue(const std::string &key, const Json::Value &keyValue)
sets custom json value
MRMESH_API bool hasBool(const std::string &key) const
returns true if MRColor with presented key exists
MRMESH_API bool hasViewportMask(const std::string &key) const
MRMESH_API FileNamesStack getFileStack(const std::string &key, const FileNamesStack &defaultValue=FileNamesStack()) const
returns 'recently used' files list
MRMESH_API ViewportMask getViewportMask(const std::string &key, ViewportMask defaultValue={}) const
MRMESH_API bool hasFileStack(const std::string &key) const
returns true if 'recently used' files exist
std::vector< std::filesystem::path > FileNamesStack
Definition MRIOFilesMenuItems.h:17
MRMESH_API void setViewportMask(const std::string &key, ViewportMask newValue)
MRMESH_API Json::Value getJsonValue(const std::string &key, const Json::Value &defaultValue={})
returns custom json value
MRMESH_API Vector2i getVector2i(const std::string &key, const Vector2i &defaultValue=Vector2i()) const
returns Vector2i with presented key
static MRMESH_API Config & instance()
MRMESH_API void setBool(const std::string &key, bool keyValue)
sets MRColor for presented key
void operator=(Config const &)=delete
MRMESH_API void setFileStack(const std::string &key, const FileNamesStack &keyValue)
sets 'recently used' files list
MRMESH_API bool hasEnum(const Enum &enumeration, const std::string &key) const
returns true if given enumeration value with this key exists and is correct
MRMESH_API void setColor(const std::string &key, const Color &keyValue)
sets MRColor for presented key
MRMESH_API bool hasJsonValue(const std::string &key)
returns true if json value with this key exists
Config(Config const &)=delete
only for bindings generation
Definition MRCameraOrientationPlugin.h:8