settings: Define specializations for settings

Suggests to a frontend how to represent each setting.
This commit is contained in:
lat9nq 2023-06-21 03:23:36 -04:00
parent ad645c29a4
commit b2438f1fb7
4 changed files with 130 additions and 64 deletions

View file

@ -7,9 +7,10 @@
namespace Settings {
BasicSetting::BasicSetting(Linkage& linkage, const std::string& name, enum Category category_,
bool save_, bool runtime_modifiable_)
: label{name}, category{category_}, id{linkage.count}, save{save_}, runtime_modifiable{
runtime_modifiable_} {
bool save_, bool runtime_modifiable_,
enum Specialization specialization_)
: label{name}, category{category_}, id{linkage.count}, save{save_},
runtime_modifiable{runtime_modifiable_}, specialization{specialization_} {
linkage.by_category[category].push_front(this);
linkage.count++;
}
@ -38,6 +39,10 @@ Category BasicSetting::Category() const {
return category;
}
Specialization BasicSetting::Specialization() const {
return specialization;
}
const std::string& BasicSetting::GetLabel() const {
return label;
}