From c8f5ce65660c4787018a8a56e677593e12a78618 Mon Sep 17 00:00:00 2001 From: Andrea Zagli Date: Sat, 4 Jun 2011 11:48:19 +0200 Subject: [PATCH] Implemented boolean column. --- src/grid.c | 10 +++++++++- src/gridcolumn.c | 5 +++++ tests/grid.c | 3 +++ tests/grid.db | Bin 2048 -> 2048 bytes 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/grid.c b/src/grid.c index 5773618..f4d9304 100644 --- a/src/grid.c +++ b/src/grid.c @@ -375,7 +375,15 @@ static GtkTreeView { cells = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (vcolumn)); cells = g_list_first (cells); - gtk_tree_view_column_add_attribute (vcolumn, (GtkCellRenderer *)cells->data, "text", col); + + if (gdaex_grid_column_get_gtype (gcolumn) == G_TYPE_BOOLEAN) + { + gtk_tree_view_column_add_attribute (vcolumn, (GtkCellRenderer *)cells->data, "active", col); + } + else + { + gtk_tree_view_column_add_attribute (vcolumn, (GtkCellRenderer *)cells->data, "text", col); + } gtk_tree_view_append_column (GTK_TREE_VIEW (view), vcolumn); } diff --git a/src/gridcolumn.c b/src/gridcolumn.c index 75a9532..8926c6a 100644 --- a/src/gridcolumn.c +++ b/src/gridcolumn.c @@ -307,6 +307,11 @@ GtkTreeViewColumn } gtk_cell_renderer_set_alignment (renderer, 1.0, 0.5); } + else if (priv->type == G_TYPE_BOOLEAN) + { + renderer = gtk_cell_renderer_toggle_new (); + gtk_cell_renderer_set_alignment (renderer, 0.5, 0.5); + } else { g_warning ("Error on creating the renderer for column «%s».", priv->title); diff --git a/tests/grid.c b/tests/grid.c index ea5ed43..997963a 100644 --- a/tests/grid.c +++ b/tests/grid.c @@ -64,6 +64,9 @@ main (int argc, char **argv) gcol = gdaex_grid_column_new ("Incoming", "incoming", G_TYPE_DOUBLE, TRUE, TRUE, TRUE, TRUE, 2); gdaex_grid_add_column (grid, gcol); + gcol = gdaex_grid_column_new ("Married", "married", G_TYPE_BOOLEAN, TRUE, TRUE, TRUE, TRUE, -1); + gdaex_grid_add_column (grid, gcol); + wgrid = gdaex_grid_get_widget (grid); gtk_container_add (GTK_CONTAINER (scrolledw), wgrid); diff --git a/tests/grid.db b/tests/grid.db index fd7f26f57a8b4a933d3ab3ae7167e3402f3768a8..146732ff241c3cddb763ca11ac67f21cae4f9585 100644 GIT binary patch delta 179 zcmZn=Xb_knEy&Bjz`z8=Fu*)f$C#g&LHCgyNQRL)ih((5W8oVnu0~}>c5!KG#wOXx zrOaIlItsaoMMasZDGEvX`8lbHd72>g%*d7h0UHqE7%&QrgncEqd+nMh$Zvm=tW1iSx9H+#{&L}F(sL0Nkm7kH9lAo$