summaryrefslogtreecommitdiffstats
path: root/src/node.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2014-01-04 02:45:30 +0000
committerDavid Robillard <d@drobilla.net>2014-01-04 02:45:30 +0000
commit41148a45958710b180adfbc849dcb3bf863cfcb0 (patch)
tree628c234aeec7de7795b932c1f292d8cd09326f51 /src/node.c
parent9dbb41032c9f042912fee7fe58b95657c8cf01f3 (diff)
downloadganv-41148a45958710b180adfbc849dcb3bf863cfcb0.tar.gz
ganv-41148a45958710b180adfbc849dcb3bf863cfcb0.tar.bz2
ganv-41148a45958710b180adfbc849dcb3bf863cfcb0.zip
Fix control updating with animated canvas.
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5254 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/node.c')
-rw-r--r--src/node.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/node.c b/src/node.c
index 72af575..a728cb0 100644
--- a/src/node.c
+++ b/src/node.c
@@ -45,7 +45,8 @@ enum {
PROP_IS_SOURCE,
PROP_SELECTED,
PROP_HIGHLIGHTED,
- PROP_DRAGGABLE
+ PROP_DRAGGABLE,
+ PROP_GRABBED
};
static void
@@ -151,6 +152,7 @@ ganv_node_set_property(GObject* object,
SET_CASE(IS_SOURCE, boolean, impl->is_source);
SET_CASE(HIGHLIGHTED, boolean, impl->highlighted);
SET_CASE(DRAGGABLE, boolean, impl->draggable);
+ SET_CASE(GRABBED, boolean, impl->grabbed);
case PROP_SELECTED:
if (impl->selected != g_value_get_boolean(value)) {
GanvItem* item = GANV_ITEM(object);
@@ -212,6 +214,7 @@ ganv_node_get_property(GObject* object,
GET_CASE(SELECTED, boolean, impl->selected);
GET_CASE(HIGHLIGHTED, boolean, impl->highlighted);
GET_CASE(DRAGGABLE, boolean, impl->draggable);
+ GET_CASE(GRABBED, boolean, impl->grabbed);
case PROP_CANVAS:
g_value_set_object(value, GANV_ITEM(object)->canvas);
break;
@@ -662,6 +665,14 @@ ganv_node_class_init(GanvNodeClass* klass)
0,
G_PARAM_READWRITE));
+ g_object_class_install_property(
+ gobject_class, PROP_GRABBED, g_param_spec_boolean(
+ "grabbed",
+ _("Grabbed"),
+ _("Whether this object is grabbed by the user."),
+ 0,
+ G_PARAM_READWRITE));
+
signal_moved = g_signal_new("moved",
ganv_node_get_type(),
G_SIGNAL_RUN_FIRST,