From f98773800674777455db04f51dd7e816ab875638 Mon Sep 17 00:00:00 2001 From: Andrea Zagli Date: Sat, 19 May 2018 10:13:47 +0200 Subject: [PATCH] Aggiunta la funzione Solipa::gtk_tree_model_get_value_boolean. --- src/utils.c | 34 +++++++++++++++++++++++++++++++++- src/utils.h | 3 ++- 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/src/utils.c b/src/utils.c index 993f9cb..b4ddc69 100644 --- a/src/utils.c +++ b/src/utils.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2017 Andrea Zagli + * Copyright (C) 2010-2018 Andrea Zagli * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -955,6 +955,38 @@ const gchar return ret; } +gboolean +solipa_gtk_tree_model_get_value_boolean (GtkTreeModel *model, GtkTreeIter *iter, gint column) +{ + gboolean ret; + GValue *gval; + + ret = FALSE; + + gval = g_new0 (GValue, 1); + gtk_tree_model_get_value (model, iter, column, gval); + + if (G_VALUE_HOLDS_BOOLEAN (gval)) + { + ret = g_value_get_boolean (gval); + } + else if (G_VALUE_HOLDS_INT (gval)) + { + ret = (g_value_get_int (gval) == 0 ? FALSE : TRUE); + } + else if (G_VALUE_HOLDS_UINT (gval)) + { + ret = ((gint)g_value_get_uint (gval) == 0 ? FALSE : TRUE); + } + else if (G_VALUE_HOLDS_STRING (gval)) + { + ret = zak_utils_string_to_boolean (g_value_get_string (gval)); + } + g_value_unset (gval); + + return ret; +} + struct tm *solipa_gtk_tree_model_get_value_tm (GtkTreeModel *model, GtkTreeIter *iter, gint column, const gchar *format) { diff --git a/src/utils.h b/src/utils.h index d80b10f..51a279c 100644 --- a/src/utils.h +++ b/src/utils.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2015 Andrea Zagli + * Copyright (C) 2010-2018 Andrea Zagli * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -100,6 +100,7 @@ const gchar *solipa_gtk_tree_model_get_value_string (GtkTreeModel *model, GtkTre gint solipa_gtk_tree_model_get_value_integer (GtkTreeModel *model, GtkTreeIter *iter, gint column); gdouble solipa_gtk_tree_model_get_value_double (GtkTreeModel *model, GtkTreeIter *iter, gint column); const gchar *solipa_gtk_tree_model_get_value_double_sql (GtkTreeModel *model, GtkTreeIter *iter, gint column); +gboolean solipa_gtk_tree_model_get_value_boolean (GtkTreeModel *model, GtkTreeIter *iter, gint column); struct tm *solipa_gtk_tree_model_get_value_tm (GtkTreeModel *model, GtkTreeIter *iter, gint column, const gchar *format); GDateTime *solipa_gtk_tree_model_get_value_gdatetime (GtkTreeModel *model, GtkTreeIter *iter, gint column, const gchar *format); -- 2.49.0