[graph-gtk] Added "canvas-rightclicked" signal for when a right click isn't on a node
- From: Isaac Wagner <isaacbw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [graph-gtk] Added "canvas-rightclicked" signal for when a right click isn't on a node
- Date: Sat, 4 Aug 2012 17:12:48 +0000 (UTC)
commit 9e3ba25b4b46512b4890b1ded486e6b4d7f4fbca
Author: Isaac Wagner <isaacbw src gnome org>
Date: Sat Aug 4 12:39:54 2012 -0400
Added "canvas-rightclicked" signal for when a right click isn't on a node
graph-gtk/graph-gtk-view.c | 16 ++++++++++++++++
1 files changed, 16 insertions(+), 0 deletions(-)
---
diff --git a/graph-gtk/graph-gtk-view.c b/graph-gtk/graph-gtk-view.c
index 4b39391..d69b032 100644
--- a/graph-gtk/graph-gtk-view.c
+++ b/graph-gtk/graph-gtk-view.c
@@ -115,6 +115,16 @@ graph_gtk_view_class_init (GraphGtkViewClass *klass)
G_TYPE_NONE,
1,
GRAPH_TYPE_GTK_NODE);
+
+ g_signal_new("canvas-rightclicked",
+ GRAPH_TYPE_GTK_VIEW,
+ G_SIGNAL_RUN_FIRST,
+ 0, //no class method
+ NULL, //no accumulator,
+ NULL,
+ NULL,
+ G_TYPE_NONE,
+ 0);
}
static void
@@ -339,15 +349,21 @@ graph_gtk_view_button_pressed(GtkWidget* widget, GdkEventButton* event)
else if(event->button == 3)
{
GList *nodes = NULL;
+ gboolean yes = FALSE;
for(nodes = g_list_last(self->nodes); nodes != NULL; nodes = nodes->prev)
{
GraphGtkNode *node = (GraphGtkNode*)nodes->data;
if(graph_gtk_node_is_within(node, event->x+self->pan_x, event->y+self->pan_y))
{
g_signal_emit_by_name(widget, "node-rightclicked", GRAPH_GTK_NODE(node));
+ yes = TRUE;
break;
}
}
+ if(!yes)
+ {
+ g_signal_emit_by_name(widget, "canvas-rightclicked");
+ }
}
return FALSE;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]