summaryrefslogtreecommitdiffstats
path: root/src/node.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-04-23 00:02:42 +0000
committerDavid Robillard <d@drobilla.net>2012-04-23 00:02:42 +0000
commitf77f74472a6e46c0af101e7f1d52635c0147efd9 (patch)
tree8f883953ef1b981570c4075f05fb05a46e86456b /src/node.c
parent91c3158e31fb55b55eb75951e6e32b4ba5edce93 (diff)
downloadganv-f77f74472a6e46c0af101e7f1d52635c0147efd9.tar.gz
ganv-f77f74472a6e46c0af101e7f1d52635c0147efd9.tar.bz2
ganv-f77f74472a6e46c0af101e7f1d52635c0147efd9.zip
Resize modules when port labels change.
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@4242 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/node.c')
-rw-r--r--src/node.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/node.c b/src/node.c
index b873450..a8db7c4 100644
--- a/src/node.c
+++ b/src/node.c
@@ -331,6 +331,15 @@ ganv_node_default_move_to(GanvNode* node,
}
}
+static void
+ganv_node_default_resize(GanvNode* node)
+{
+ GanvItem* item = GANV_ITEM(node);
+ if (GANV_IS_NODE(item->parent)) {
+ ganv_node_resize(GANV_NODE(item->parent));
+ }
+}
+
static gboolean
ganv_node_default_event(GanvItem* item,
GdkEvent* event)
@@ -591,6 +600,7 @@ ganv_node_class_init(GanvNodeClass* class)
class->disconnect = ganv_node_default_disconnect;
class->move = ganv_node_default_move;
class->move_to = ganv_node_default_move_to;
+ class->resize = ganv_node_default_resize;
class->tick = ganv_node_default_tick;
class->tail_vector = ganv_node_default_tail_vector;
class->head_vector = ganv_node_default_head_vector;
@@ -665,9 +675,6 @@ ganv_node_get_partner(const GanvNode* node)
return node->impl->partner;
}
-void ganv_node_set_label(GanvNode* node,
- const char* str);
-
void
ganv_node_move(GanvNode* node,
double dx,
@@ -687,10 +694,7 @@ ganv_node_move_to(GanvNode* node,
void
ganv_node_resize(GanvNode* node)
{
- GanvNodeClass* klass = GANV_NODE_GET_CLASS(node);
- if (klass->resize) {
- klass->resize(node);
- }
+ GANV_NODE_GET_CLASS(node)->resize(node);
}
void