From ed037b19105f01b4b7cb4d5b79b4daeb57a25884 Mon Sep 17 00:00:00 2001 From: Alexander Valavanis Date: Sun, 27 Jan 2019 14:24:01 +0000 Subject: SpinButtonToolItem: Allow default numeric menu descriptions & migrate RectToolbar --- src/ui/widget/spin-button-tool-item.cpp | 13 +++++++++---- src/ui/widget/spin-button-tool-item.h | 4 ++-- 2 files changed, 11 insertions(+), 6 deletions(-) (limited to 'src/ui/widget') diff --git a/src/ui/widget/spin-button-tool-item.cpp b/src/ui/widget/spin-button-tool-item.cpp index ecca051a4..2efb24ff9 100644 --- a/src/ui/widget/spin-button-tool-item.cpp +++ b/src/ui/widget/spin-button-tool-item.cpp @@ -484,10 +484,10 @@ SpinButtonToolItem::grab_button_focus() } void -SpinButtonToolItem::set_custom_numeric_menu_items(std::vector& values, - std::vector& labels) +SpinButtonToolItem::set_custom_numeric_menu_data(std::vector& values, + const std::vector& labels) { - if(values.size() != labels.size()) { + if(values.size() != labels.size() && !labels.empty()) { g_warning("Cannot add custom menu items. Value and label arrays are different sizes"); return; } @@ -497,7 +497,12 @@ SpinButtonToolItem::set_custom_numeric_menu_items(std::vector& va int i = 0; for (auto value : values) { - _custom_menu_data.push_back(std::make_pair(value, labels[i++])); + if(labels.empty()) { + _custom_menu_data.push_back(std::make_pair(value, "")); + } + else { + _custom_menu_data.push_back(std::make_pair(value, labels[i++])); + } } } diff --git a/src/ui/widget/spin-button-tool-item.h b/src/ui/widget/spin-button-tool-item.h index 90667da54..2dd0b2172 100644 --- a/src/ui/widget/spin-button-tool-item.h +++ b/src/ui/widget/spin-button-tool-item.h @@ -73,8 +73,8 @@ public: void set_focus_widget(Gtk::Widget *widget); void grab_button_focus(); - void set_custom_numeric_menu_items(std::vector& values, - std::vector& labels); + void set_custom_numeric_menu_data(std::vector& values, + const std::vector& labels = std::vector()); }; } // namespace Widget } // namespace UI -- cgit v1.2.3