ServiceMenu: es poden mostrar o ocultar les opcions

This commit is contained in:
2025-06-14 19:58:29 +02:00
parent 8ce5da623b
commit dc9a675667
2 changed files with 22 additions and 17 deletions

View File

@@ -93,6 +93,7 @@ private:
OptionBehavior behavior; // Cómo se interactúa con la opción
void *linked_variable; // Puntero a la variable que controla la opción
ValueType type; // Tipo de la variable
bool hidden = false; // Indica si la opción está oculta en el menú
int min_value; // Valor mínimo (solo aplicable si type == INT)
int max_value; // Valor máximo (solo aplicable si type == INT)
@@ -103,23 +104,23 @@ private:
SettingsGroup target_group; // Grupo al que hace referencia la opción si es de tipo FOLDER
// Constructor para opciones de tipo BOOL, NONE, FOLDER
OptionEntry(std::string cap, SettingsGroup grp, OptionBehavior beh, void *var, ValueType t)
: caption(cap), group(grp), behavior(beh), linked_variable(var), type(t),
OptionEntry(std::string cap, SettingsGroup grp, OptionBehavior beh, void *var, ValueType t, bool hid = false)
: caption(cap), group(grp), behavior(beh), linked_variable(var), type(t), hidden(hid),
min_value(0), max_value(0), step_value(0), list_index(0), target_group(SettingsGroup::SYSTEM) {}
// Constructor para opciones de tipo INT
OptionEntry(std::string cap, SettingsGroup grp, OptionBehavior beh, void *var, ValueType t, int min, int max, int step)
: caption(cap), group(grp), behavior(beh), linked_variable(var), type(t),
OptionEntry(std::string cap, SettingsGroup grp, OptionBehavior beh, void *var, ValueType t, int min, int max, int step, bool hid = false)
: caption(cap), group(grp), behavior(beh), linked_variable(var), type(t), hidden(hid),
min_value(min), max_value(max), step_value(step), list_index(0), target_group(SettingsGroup::SYSTEM) {}
// Constructor para opciones de tipo LIST
OptionEntry(std::string cap, SettingsGroup grp, OptionBehavior beh, void *var, std::vector<std::string> values)
: caption(cap), group(grp), behavior(beh), linked_variable(var), type(ValueType::LIST),
OptionEntry(std::string cap, SettingsGroup grp, OptionBehavior beh, void *var, std::vector<std::string> values, bool hid = false)
: caption(cap), group(grp), behavior(beh), linked_variable(var), type(ValueType::LIST), hidden(hid),
min_value(0), max_value(0), step_value(0), value_list(values), list_index(0), target_group(SettingsGroup::SYSTEM) {}
// Constructor para opciones de tipo FOLDER
OptionEntry(std::string cap, SettingsGroup grp, OptionBehavior beh, SettingsGroup tgtGrp)
: caption(cap), group(grp), behavior(beh), linked_variable(nullptr), type(ValueType::FOLDER),
OptionEntry(std::string cap, SettingsGroup grp, OptionBehavior beh, SettingsGroup tgtGrp, bool hid = false)
: caption(cap), group(grp), behavior(beh), linked_variable(nullptr), type(ValueType::FOLDER), hidden(hid),
min_value(0), max_value(0), step_value(0), list_index(0), target_group(tgtGrp) {}
// Método para modificar el valor de la opción
@@ -191,7 +192,7 @@ private:
SettingsGroup previous_settings_group_; // Grupo de opciones anterior
Aspect aspect_ = Aspect::ASPECT1; // Estilo visual del menú
std::string title_; // Titulo a mostrar en el menu
size_t main_menu_selected_ = 0; // Recuerda la selección del menú principal
size_t main_menu_selected_ = 0; // Recuerda la selección del menú principal
// --- Variables de aspecto ---
Color bg_color_ = SERV_MENU_BG_COLOR; // Color de fondo