[gimp] app: move tool event debug output to a utility function



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]