diff options
| author | Alexander Valavanis <valavanisalex@gmail.com> | 2019-02-03 18:42:15 +0000 |
|---|---|---|
| committer | Alexander Valavanis <valavanisalex@gmail.com> | 2019-02-03 18:42:15 +0000 |
| commit | 75064d97c015e5ed87de38411fbd8b046d450793 (patch) | |
| tree | 49d675b66f85ec788b64761409e9fbc3892c7c0f /src/ui/widget/unit-tracker.cpp | |
| parent | Merge branch 'master' of gitlab.com:inkscape/inkscape (diff) | |
| download | inkscape-75064d97c015e5ed87de38411fbd8b046d450793.tar.gz inkscape-75064d97c015e5ed87de38411fbd8b046d450793.zip | |
UnitTracker: Create tool item without using GtkAction
Diffstat (limited to 'src/ui/widget/unit-tracker.cpp')
| -rw-r--r-- | src/ui/widget/unit-tracker.cpp | 20 |
1 files changed, 19 insertions, 1 deletions
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; } } |
