From e4831db229641ee88ad8a2c1e0d82d7d3442e96b Mon Sep 17 00:00:00 2001 From: David Robillard Date: Tue, 8 Jan 2013 18:58:11 +0000 Subject: Add signals and default handlers for every property in conventional Gtkmm style. git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@4908 a436a847-0d15-0410-975c-d299462d15a1 --- ganv/Node.hpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'ganv/Node.hpp') diff --git a/ganv/Node.hpp b/ganv/Node.hpp index fb1c1be..c9aaa63 100644 --- a/ganv/Node.hpp +++ b/ganv/Node.hpp @@ -38,6 +38,8 @@ public: : Item(GANV_ITEM(g_object_ref(gobj))) { g_signal_connect(gobj, "moved", G_CALLBACK(on_moved), this); + CONNECT_PROP_SIGNAL(gobj, selected, + on_notify, &Node::on_selected) } ~Node() { @@ -83,6 +85,13 @@ private: static void on_moved(GanvNode* node, double x, double y) { Glib::wrap(node)->_signal_moved.emit(x, y); } + + template + static void on_notify(GObject* gobj, GParamSpec* pspec, gpointer signal) { + T value; + g_object_get(gobj, g_param_spec_get_name(pspec), &value, NULL); + ((sigc::signal*)signal)->emit(value); + } }; } // namespace Ganv -- cgit v1.2.1