+ g_object_unref (msg);
+}
+
+static void
+debug_window_domain_formatter (GtkTreeViewColumn *tree_column,
+ GtkCellRenderer *cell,
+ GtkTreeModel *tree_model,
+ GtkTreeIter *iter,
+ gpointer data)
+{
+ TpDebugMessage *msg;
+
+ gtk_tree_model_get (tree_model, iter, COL_DEBUG_MESSAGE, &msg, -1);
+
+ g_object_set (G_OBJECT (cell), "text", tp_debug_message_get_domain (msg),
+ NULL);
+
+ g_object_unref (msg);
+}
+
+static void
+debug_window_category_formatter (GtkTreeViewColumn *tree_column,
+ GtkCellRenderer *cell,
+ GtkTreeModel *tree_model,
+ GtkTreeIter *iter,
+ gpointer data)
+{
+ TpDebugMessage *msg;
+ const gchar *category;
+
+ gtk_tree_model_get (tree_model, iter, COL_DEBUG_MESSAGE, &msg, -1);
+
+ category = tp_debug_message_get_category (msg);
+
+ g_object_set (G_OBJECT (cell), "text", category ? category : "", NULL);
+
+ g_object_unref (msg);
+}
+
+static void
+debug_window_message_formatter (GtkTreeViewColumn *tree_column,
+ GtkCellRenderer *cell,
+ GtkTreeModel *tree_model,
+ GtkTreeIter *iter,
+ gpointer data)
+{
+ TpDebugMessage *msg;
+
+ gtk_tree_model_get (tree_model, iter, COL_DEBUG_MESSAGE, &msg, -1);
+
+ g_object_set (G_OBJECT (cell), "text",
+ tp_debug_message_get_message (msg), NULL);
+
+ g_object_unref (msg);
+}
+
+static void
+debug_window_level_formatter (GtkTreeViewColumn *tree_column,
+ GtkCellRenderer *cell,
+ GtkTreeModel *tree_model,
+ GtkTreeIter *iter,
+ gpointer data)
+{
+ TpDebugMessage *msg;
+ const gchar *level;
+
+ gtk_tree_model_get (tree_model, iter, COL_DEBUG_MESSAGE, &msg, -1);
+
+ level = log_level_to_string (tp_debug_message_get_level (msg));
+
+ g_object_set (G_OBJECT (cell), "text", level, NULL);
+
+ g_object_unref (msg);