45 sp = Gtk::manage(
new Gtk::SpinButton);
46 sp->set_valign(Gtk::ALIGN_CENTER);
48 pack_start(*sp,
false,
false, 0);
51 Gtk::SpinButton &get_spinbutton()
59 sp->signal_value_changed().connect([
this] {
60 value = sp->get_value();
61 preferences.signal_changed().emit();
67 Gtk::SpinButton *sp =
nullptr;
73 const std::vector<std::pair<T, std::string>> &names)
76 combo = Gtk::manage(
new Gtk::ComboBoxText);
77 for (
const auto &[key, enum_value] : names) {
78 combo->append(std::to_string(
static_cast<int>(key)), enum_value);
80 combo->set_valign(Gtk::ALIGN_CENTER);
82 pack_start(*combo,
false,
false, 0);
87 combo->set_active_id(std::to_string(
static_cast<int>(value)));
88 combo->signal_changed().connect([
this] {
89 value =
static_cast<T
>(std::stoi(combo->get_active_id()));
90 preferences.signal_changed().emit();
96 Gtk::ComboBoxText *combo =
nullptr;