Refactoring

This commit is contained in:
Pcornat 2026-03-16 21:42:47 +01:00
commit 93eb59b918
Signed by: Pcornat
GPG key ID: E0326CC678A00BDD
2 changed files with 25 additions and 9 deletions

View file

@ -51,7 +51,7 @@ namespace gui_to_app {
on_stack = true;
switch_->set_active(false);
} else {
app.update_hab_labels();
app.update_labels();
}
} else {
if (!app.erase_obj(obj)) {
@ -62,7 +62,7 @@ namespace gui_to_app {
character::BillyObjects::billy_object_to_string(obj).data()
);
} else {
app.update_hab_labels();
app.update_labels();
}
}
}
@ -206,7 +206,7 @@ namespace gui_to_app {
}
static void convert_to_label(std::array<char, 10> &convert,
const char *err_msg,
const std::string_view &err_msg,
const uint32_t data,
Gtk::Label *const __restrict label) noexcept {
if (const auto [ptr, ec] = std::to_chars(convert.data(), convert.data() + convert.size(), data);
@ -222,12 +222,28 @@ namespace gui_to_app {
}
}
void AppWin2Back::update_hab_labels() const noexcept {
static void update_in_labels(const character::characteristic::Characteristic &charac,
const std::string_view short_name,
const CaracInterface<Gtk::Label> &labels) noexcept {
std::array<char, 10> convert{};
convert_to_label(convert, "base hab", sheet.get_habilete().get_base(), hab_labels.base);
convert_to_label(convert, "carac hab", sheet.get_habilete().get_carac(), hab_labels.carac);
convert_to_label(convert, "materiel hab", sheet.get_habilete().get_materiel(), hab_labels.mat);
convert_to_label(convert, "total hab", sheet.get_habilete().get_total(), hab_labels.total);
convert_to_label(convert, std::format("base {}", short_name), charac.get_base(), labels.base);
convert_to_label(convert,
std::format("carac {}", short_name),
charac.get_carac(),
labels.carac);
convert_to_label(convert,
std::format("materiel {}", short_name),
charac.get_materiel(),
labels.mat);
convert_to_label(convert,
std::format("total {}", short_name),
charac.get_total(),
labels.total);
}
void AppWin2Back::update_labels() const noexcept {
update_in_labels(sheet.get_habilete(), "hab", hab_labels);
update_in_labels(sheet.get_endurance(), "endu", endu_labels);
}
bool AppWin2Back::insert_obj(const character::billyEnums &obj) noexcept {