summaryrefslogtreecommitdiffstats
path: root/src/ui/widget/unit-tracker.cpp
diff options
context:
space:
mode:
authorAlexander Valavanis <valavanisalex@gmail.com>2019-02-03 18:42:15 +0000
committerAlexander Valavanis <valavanisalex@gmail.com>2019-02-03 18:42:15 +0000
commit75064d97c015e5ed87de38411fbd8b046d450793 (patch)
tree49d675b66f85ec788b64761409e9fbc3892c7c0f /src/ui/widget/unit-tracker.cpp
parentMerge branch 'master' of gitlab.com:inkscape/inkscape (diff)
downloadinkscape-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.cpp20
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;
}
}