[gimp] app: move tool event debug output to a utility function
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: move tool event debug output to a utility function
- Date: Thu, 24 Feb 2011 15:33:37 +0000 (UTC)
commit c11b0d2a79265f1ae9318f40b491a5e5aa8c3992
Author: Michael Natterer <mitch gimp org>
Date: Thu Feb 24 12:34:57 2011 +0100
app: move tool event debug output to a utility function
to reduce clutter in gimp_display_shell_canvas_tool_events().
app/display/gimpdisplayshell-tool-events.c | 43 +-----------
app/widgets/gimpwidgets-utils.c | 103 ++++++++++++++++++++++++++++
app/widgets/gimpwidgets-utils.h | 2 +
3 files changed, 108 insertions(+), 40 deletions(-)
---
diff --git a/app/display/gimpdisplayshell-tool-events.c b/app/display/gimpdisplayshell-tool-events.c
index 143e511..c96cba3 100644
--- a/app/display/gimpdisplayshell-tool-events.c
+++ b/app/display/gimpdisplayshell-tool-events.c
@@ -333,14 +333,15 @@ gimp_display_shell_canvas_tool_events (GtkWidget *canvas,
gimp_display_shell_update_focus (shell, &image_coords, state);
}
+ GIMP_LOG (TOOL_EVENTS, "event (display %p): %s",
+ display, gimp_print_event (event));
+
switch (event->type)
{
case GDK_ENTER_NOTIFY:
{
GdkEventCrossing *cevent = (GdkEventCrossing *) event;
- GIMP_LOG (TOOL_EVENTS, "event (display %p): ENTER_NOTIFY", display);
-
if (cevent->mode != GDK_CROSSING_NORMAL)
return TRUE;
@@ -357,8 +358,6 @@ gimp_display_shell_canvas_tool_events (GtkWidget *canvas,
{
GdkEventCrossing *cevent = (GdkEventCrossing *) event;
- GIMP_LOG (TOOL_EVENTS, "event (display %p): LEAVE_NOTIFY", display);
-
if (cevent->mode != GDK_CROSSING_NORMAL)
return TRUE;
@@ -373,8 +372,6 @@ gimp_display_shell_canvas_tool_events (GtkWidget *canvas,
break;
case GDK_PROXIMITY_IN:
- GIMP_LOG (TOOL_EVENTS, "event (display %p): PROXIMITY_IN", display);
-
tool_manager_oper_update_active (gimp,
&image_coords, state,
shell->proximity,
@@ -382,8 +379,6 @@ gimp_display_shell_canvas_tool_events (GtkWidget *canvas,
break;
case GDK_PROXIMITY_OUT:
- GIMP_LOG (TOOL_EVENTS, "event (display %p): PROXIMITY_OUT", display);
-
shell->proximity = FALSE;
gimp_display_shell_clear_software_cursor (shell);
@@ -399,8 +394,6 @@ gimp_display_shell_canvas_tool_events (GtkWidget *canvas,
if (fevent->in)
{
- GIMP_LOG (TOOL_EVENTS, "event (display %p): FOCUS_IN", display);
-
if (G_UNLIKELY (! gtk_widget_has_focus (canvas)))
g_warning ("%s: FOCUS_IN but canvas has no focus", G_STRFUNC);
@@ -416,8 +409,6 @@ gimp_display_shell_canvas_tool_events (GtkWidget *canvas,
}
else
{
- GIMP_LOG (TOOL_EVENTS, "event (display %p): FOCUS_OUT", display);
-
if (G_LIKELY (gtk_widget_has_focus (canvas)))
g_warning ("%s: FOCUS_OUT but canvas has focus", G_STRFUNC);
@@ -451,9 +442,6 @@ gimp_display_shell_canvas_tool_events (GtkWidget *canvas,
if (! gtk_widget_has_focus (canvas))
gtk_widget_grab_focus (canvas);
- GIMP_LOG (TOOL_EVENTS, "event (display %p): BUTTON_PRESS (%d @ %0.0f:%0.0f)",
- display, bevent->button, bevent->x, bevent->y);
-
/* if the toplevel window didn't have focus, the above
* gtk_widget_grab_focus() didn't set the canvas' HAS_FOCUS
* flags, so check for it here again.
@@ -623,9 +611,6 @@ gimp_display_shell_canvas_tool_events (GtkWidget *canvas,
GdkEventButton *bevent = (GdkEventButton *) event;
GimpTool *active_tool;
- GIMP_LOG (TOOL_EVENTS, "event (display %p): 2BUTTON_PRESS (%d @ %0.0f:%0.0f)",
- display, bevent->button, bevent->x, bevent->y);
-
if (gimp->busy)
return TRUE;
@@ -652,9 +637,6 @@ gimp_display_shell_canvas_tool_events (GtkWidget *canvas,
GdkEventButton *bevent = (GdkEventButton *) event;
GimpTool *active_tool;
- GIMP_LOG (TOOL_EVENTS, "event (display %p): 3BUTTON_PRESS (%d @ %0.0f:%0.0f)",
- display, bevent->button, bevent->x, bevent->y);
-
if (gimp->busy)
return TRUE;
@@ -681,9 +663,6 @@ gimp_display_shell_canvas_tool_events (GtkWidget *canvas,
GdkEventButton *bevent = (GdkEventButton *) event;
GimpTool *active_tool;
- GIMP_LOG (TOOL_EVENTS, "event (display %p): BUTTON_RELEASE (%d @ %0.0f:%0.0f)",
- display, bevent->button, bevent->x, bevent->y);
-
gimp_display_shell_autoscroll_stop (shell);
if (gimp->busy)
@@ -753,9 +732,6 @@ gimp_display_shell_canvas_tool_events (GtkWidget *canvas,
GdkScrollDirection direction;
GimpController *wheel;
- GIMP_LOG (TOOL_EVENTS, "event (display %p): SCROLL (%d)",
- display, sevent->direction);
-
wheel = gimp_controllers_get_wheel (gimp);
if (wheel &&
@@ -847,9 +823,6 @@ gimp_display_shell_canvas_tool_events (GtkWidget *canvas,
GdkEvent *compressed_motion = NULL;
GimpTool *active_tool;
- GIMP_LOG (TOOL_EVENTS, "event (display %p): MOTION_NOTIFY (%0.0f:%0.0f %d)",
- display, mevent->x, mevent->y, mevent->time);
-
if (gimp->busy)
return TRUE;
@@ -1035,11 +1008,6 @@ gimp_display_shell_canvas_tool_events (GtkWidget *canvas,
GdkEventKey *kevent = (GdkEventKey *) event;
GimpTool *active_tool;
- GIMP_LOG (TOOL_EVENTS, "event (display %p): KEY_PRESS (%d, %s)",
- display, kevent->keyval,
- gdk_keyval_name (kevent->keyval) ?
- gdk_keyval_name (kevent->keyval) : "<none>");
-
active_tool = tool_manager_get_active (gimp);
if (state & GDK_BUTTON1_MASK)
@@ -1166,11 +1134,6 @@ gimp_display_shell_canvas_tool_events (GtkWidget *canvas,
GdkEventKey *kevent = (GdkEventKey *) event;
GimpTool *active_tool;
- GIMP_LOG (TOOL_EVENTS, "event (display %p): KEY_RELEASE (%d, %s)",
- display, kevent->keyval,
- gdk_keyval_name (kevent->keyval) ?
- gdk_keyval_name (kevent->keyval) : "<none>");
-
active_tool = tool_manager_get_active (gimp);
if (state & GDK_BUTTON1_MASK)
diff --git a/app/widgets/gimpwidgets-utils.c b/app/widgets/gimpwidgets-utils.c
index 94bfec7..8a89fe4 100644
--- a/app/widgets/gimpwidgets-utils.c
+++ b/app/widgets/gimpwidgets-utils.c
@@ -1186,3 +1186,106 @@ gimp_widget_flush_expose (GtkWidget *widget)
gdk_window_process_updates (gtk_widget_get_window (widget), FALSE);
gdk_flush ();
}
+
+static gboolean
+gimp_print_event_free (gpointer data)
+{
+ g_free (data);
+
+ return FALSE;
+}
+
+const gchar *
+gimp_print_event (const GdkEvent *event)
+{
+ gchar *str;
+
+ switch (event->type)
+ {
+ case GDK_ENTER_NOTIFY:
+ str = g_strdup ("ENTER_NOTIFY");
+ break;
+
+ case GDK_LEAVE_NOTIFY:
+ str = g_strdup ("LEAVE_NOTIFY");
+ break;
+
+ case GDK_PROXIMITY_IN:
+ str = g_strdup ("PROXIMITY_IN");
+ break;
+
+ case GDK_PROXIMITY_OUT:
+ str = g_strdup ("PROXIMITY_OUT");
+ break;
+
+ case GDK_FOCUS_CHANGE:
+ if (event->focus_change.in)
+ str = g_strdup ("FOCUS_IN");
+ else
+ str = g_strdup ("FOCUS_OUT");
+ break;
+
+ case GDK_BUTTON_PRESS:
+ str = g_strdup_printf ("BUTTON_PRESS (%d @ %0.0f:%0.0f)",
+ event->button.button,
+ event->button.x,
+ event->button.y);
+ break;
+
+ case GDK_2BUTTON_PRESS:
+ str = g_strdup_printf ("2BUTTON_PRESS (%d @ %0.0f:%0.0f)",
+ event->button.button,
+ event->button.x,
+ event->button.y);
+ break;
+
+ case GDK_3BUTTON_PRESS:
+ str = g_strdup_printf ("3BUTTON_PRESS (%d @ %0.0f:%0.0f)",
+ event->button.button,
+ event->button.x,
+ event->button.y);
+ break;
+
+ case GDK_BUTTON_RELEASE:
+ str = g_strdup_printf ("BUTTON_RELEASE (%d @ %0.0f:%0.0f)",
+ event->button.button,
+ event->button.x,
+ event->button.y);
+ break;
+
+ case GDK_SCROLL:
+ str = g_strdup_printf ("SCROLL (%d)",
+ event->scroll.direction);
+ break;
+
+ case GDK_MOTION_NOTIFY:
+ str = g_strdup_printf ("MOTION_NOTIFY (%0.0f:%0.0f %d)",
+ event->motion.x,
+ event->motion.y,
+ event->motion.time);
+ break;
+
+ case GDK_KEY_PRESS:
+ str = g_strdup_printf ("KEY_PRESS (%d, %s)",
+ event->key.keyval,
+ gdk_keyval_name (event->key.keyval) ?
+ gdk_keyval_name (event->key.keyval) : "<none>");
+ break;
+
+ case GDK_KEY_RELEASE:
+ str = g_strdup_printf ("KEY_RELEASE (%d, %s)",
+ event->key.keyval,
+ gdk_keyval_name (event->key.keyval) ?
+ gdk_keyval_name (event->key.keyval) : "<none>");
+ break;
+
+ default:
+ str = g_strdup_printf ("UNHANDLED (type %d)",
+ event->type);
+ break;
+ }
+
+ g_idle_add (gimp_print_event_free, str);
+
+ return str;
+}
diff --git a/app/widgets/gimpwidgets-utils.h b/app/widgets/gimpwidgets-utils.h
index 2468f0d..0cde3ca 100644
--- a/app/widgets/gimpwidgets-utils.h
+++ b/app/widgets/gimpwidgets-utils.h
@@ -92,5 +92,7 @@ void gimp_tools_set_tool_options_gui (GimpToolOptions *tool_o
void gimp_widget_flush_expose (GtkWidget *widget);
+const gchar * gimp_print_event (const GdkEvent *event);
+
#endif /* __GIMP_WIDGETS_UTILS_H__ */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]