[empathy: 5/53] Add GtkTreeView to debug dialog.
- From: Jonny Lamb <jonnylamb src gnome org>
- To: svn-commits-list gnome org
- Subject: [empathy: 5/53] Add GtkTreeView to debug dialog.
- Date: Thu, 4 Jun 2009 12:15:28 -0400 (EDT)
commit db4456ba5fabfef982a13359df599f7040aa5275
Author: Jonny Lamb <jonny lamb collabora co uk>
Date: Sun Apr 19 20:21:01 2009 +0100
Add GtkTreeView to debug dialog.
Signed-off-by: Jonny Lamb <jonny lamb collabora co uk>
---
src/empathy-debug-dialog.c | 67 ++++++++++++++++++++++++++++++++++++++++----
1 files changed, 61 insertions(+), 6 deletions(-)
diff --git a/src/empathy-debug-dialog.c b/src/empathy-debug-dialog.c
index e07705b..bc29a21 100644
--- a/src/empathy-debug-dialog.c
+++ b/src/empathy-debug-dialog.c
@@ -36,11 +36,23 @@ enum
PROP_PARENT
};
+enum
+{
+ COL_TIMESTAMP = 0,
+ COL_DOMAIN,
+ COL_CATEGORY,
+ COL_LEVEL,
+ COL_MESSAGE,
+ NUM_COLS
+};
+
#define GET_PRIV(obj) EMPATHY_GET_PRIV (obj, EmpathyDebugDialog)
typedef struct
{
GtkWidget *filter;
GtkWindow *parent;
+ GtkWidget *view;
+ GtkListStore *store;
gboolean dispose_run;
} EmpathyDebugDialogPriv;
@@ -53,9 +65,13 @@ debug_dialog_constructor (GType type,
EmpathyDebugDialogPriv *priv;
GtkWidget *vbox;
GtkWidget *toolbar;
- GtkWidget *button;
GtkWidget *image;
GtkToolItem *item;
+ GtkCellRenderer *renderer;
+ GtkWidget *scrolled_win;
+
+ /* tmp */
+ GtkTreeIter iter;
object = G_OBJECT_CLASS (empathy_debug_dialog_parent_class)->constructor
(type, n_construct_params, construct_params);
@@ -131,10 +147,45 @@ debug_dialog_constructor (GType type,
gtk_widget_show (GTK_WIDGET (priv->filter));
/* Debug treeview */
- button = gtk_button_new_with_label ("Foo");
- gtk_widget_show (button);
-
- gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0);
+ priv->view = gtk_tree_view_new ();
+
+ renderer = gtk_cell_renderer_text_new ();
+
+ gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (priv->view),
+ -1, _("Time"), renderer, "text", COL_TIMESTAMP, NULL);
+ gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (priv->view),
+ -1, _("Domain"), renderer, "text", COL_DOMAIN, NULL);
+ gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (priv->view),
+ -1, _("Category"), renderer, "text", COL_CATEGORY, NULL);
+ gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (priv->view),
+ -1, _("Level"), renderer, "text", COL_LEVEL, NULL);
+ gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (priv->view),
+ -1, _("Message"), renderer, "text", COL_MESSAGE, NULL);
+
+ priv->store = gtk_list_store_new (NUM_COLS, G_TYPE_DOUBLE,
+ G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
+
+ gtk_list_store_append (priv->store, &iter);
+ gtk_list_store_set (priv->store, &iter,
+ COL_TIMESTAMP, 2.0,
+ COL_DOMAIN, "domain",
+ COL_CATEGORY, "category",
+ COL_LEVEL, "level",
+ COL_MESSAGE, "message",
+ -1);
+
+ gtk_tree_view_set_model (GTK_TREE_VIEW (priv->view),
+ GTK_TREE_MODEL (priv->store));
+
+ scrolled_win = gtk_scrolled_window_new (NULL, NULL);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win),
+ GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+
+ gtk_widget_show (priv->view);
+ gtk_container_add (GTK_CONTAINER (scrolled_win), priv->view);
+
+ gtk_widget_show (scrolled_win);
+ gtk_box_pack_start (GTK_BOX (vbox), scrolled_win, TRUE, TRUE, 0);
gtk_widget_show (GTK_WIDGET (object));
@@ -202,7 +253,11 @@ debug_dialog_dispose (GObject *object)
priv->dispose_run = TRUE;
- g_object_unref (priv->parent);
+ if (priv->parent)
+ g_object_unref (priv->parent);
+
+ if (priv->store)
+ g_object_unref (priv->store);
(G_OBJECT_CLASS (empathy_debug_dialog_parent_class)->dispose) (object);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]