From 75064d97c015e5ed87de38411fbd8b046d450793 Mon Sep 17 00:00:00 2001 From: Alexander Valavanis Date: Sun, 3 Feb 2019 18:42:15 +0000 Subject: UnitTracker: Create tool item without using GtkAction --- src/ui/widget/unit-tracker.cpp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'src/ui/widget/unit-tracker.cpp') diff --git a/src/ui/widget/unit-tracker.cpp b/src/ui/widget/unit-tracker.cpp index 4114ed378..665bb7497 100644 --- a/src/ui/widget/unit-tracker.cpp +++ b/src/ui/widget/unit-tracker.cpp @@ -20,7 +20,7 @@ #include "unit-tracker.h" #include "ink-select-one-action.h" - +#include "combo-tool-item.h" #define COLUMN_STRING 0 @@ -68,6 +68,7 @@ UnitTracker::UnitTracker(UnitType unit_type) : UnitTracker::~UnitTracker() { _actionList.clear(); + _combo_list.clear(); // Unhook weak references to GtkAdjustments for (auto i : _adjList) { @@ -152,6 +153,9 @@ void UnitTracker::setFullVal(GtkAdjustment *adj, gdouble val) _priorValues[adj] = val; } +/** + * \deprecated Use create_tool_item instead + */ InkSelectOneAction *UnitTracker::createAction(Glib::ustring const &name, Glib::ustring const &label, Glib::ustring const &tooltip) @@ -171,6 +175,16 @@ InkSelectOneAction *UnitTracker::createAction(Glib::ustring const &name, return act; } +ComboToolItem * +UnitTracker::create_tool_item(Glib::ustring const &label, + Glib::ustring const &tooltip) +{ + auto combo = ComboToolItem::create(label, tooltip, "NotUsed", _store); + combo->signal_changed().connect(sigc::mem_fun(*this, &UnitTracker::_unitChangedCB)); + _combo_list.push_back(combo); + return combo; +} + void UnitTracker::_unitChangedCB(int active) { _setActive(active); @@ -262,6 +276,10 @@ void UnitTracker::_setActive(gint active) act->set_active (active); } + for (auto combo : _combo_list) { + if(combo) combo->set_active(active); + } + _activeUnitInitialized = true; } } -- cgit v1.2.3