From: Andrea Zagli Date: Sat, 4 Jun 2011 09:48:19 +0000 (+0200) Subject: Implemented boolean column. X-Git-Tag: 0.3.0~4 X-Git-Url: https://saetta.ns0.it/gitweb?a=commitdiff_plain;h=c8f5ce65660c4787018a8a56e677593e12a78618;p=libgdaex Implemented boolean column. --- 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 fd7f26f..146732f 100644 Binary files a/tests/grid.db and b/tests/grid.db differ