From d15e65a21d7f0bbded0e68d515f9e06db5d73aa7 Mon Sep 17 00:00:00 2001 From: Andrea Zagli Date: Mon, 19 Oct 2009 17:07:21 +0200 Subject: [PATCH] Removed const from every return values. Removed some memory leaks. Some bugfixes. Some new string localized. --- docs/reference/libgtkform-decl.txt | 62 ++++++++++---------- po/it.po | 49 ++++++++++++++-- src/field.c | 20 ++++--- src/field.h | 14 ++--- src/fieldboolean.c | 48 ++++++++++----- src/fieldboolean.h | 6 +- src/fielddatetime.c | 90 +++++++++++++++++++++-------- src/fielddatetime.h | 6 +- src/fieldfloat.c | 48 ++++++++++----- src/fieldfloat.h | 6 +- src/fieldinteger.c | 44 +++++++------- src/fieldinteger.h | 6 +- src/fieldtext.c | 46 ++++++++++----- src/fieldtext.h | 6 +- src/form.c | 33 ++++++----- src/form.h | 2 +- src/key.c | 4 +- src/widget.c | 38 +++++++++--- src/widget.h | 6 +- src/widgetcheck.c | 10 ++-- src/widgetcheck.h | 2 +- src/widgetcombobox.c | 22 ++++--- src/widgetcombobox.h | 2 +- src/widgetentry.c | 4 +- src/widgetentry.h | 2 +- src/widgetlabel.c | 4 +- src/widgetlabel.h | 2 +- src/widgetspin.c | 6 +- src/widgetspin.h | 2 +- src/widgettextview.c | 2 +- src/widgettextview.h | 2 +- test/database.db | Bin 2048 -> 2048 bytes test/from_xml_with_db.c | 5 ++ test/test_db.gui | 9 +-- test/test_db.xml | 14 ++--- 35 files changed, 401 insertions(+), 221 deletions(-) diff --git a/docs/reference/libgtkform-decl.txt b/docs/reference/libgtkform-decl.txt index bb16289..74cb43a 100644 --- a/docs/reference/libgtkform-decl.txt +++ b/docs/reference/libgtkform-decl.txt @@ -54,7 +54,7 @@ void gtk_form_widget_spin_get_value_stringify -const gchar * +gchar * GtkFormWidget *widget @@ -123,7 +123,7 @@ void gtk_form_widget_check_get_value_stringify -const gchar * +gchar * GtkFormWidget *widget @@ -192,17 +192,17 @@ void gtk_form_field_boolean_get_value_stringify -const gchar * +gchar * GtkFormField *field gtk_form_field_boolean_get_value -const GValue * +GValue * GtkFormField *field gtk_form_field_boolean_get_value_sql -const gchar * +gchar * GtkFormField *field @@ -278,7 +278,7 @@ struct _GtkFormWidgetClass { GObjectClass parent_class; - const gchar *(*get_value_stringify) (GtkFormWidget *fwidget); + gchar *(*get_value_stringify) (GtkFormWidget *fwidget); gboolean (*set_value_stringify) (GtkFormWidget *fwidget, const gchar *value); @@ -307,7 +307,7 @@ GtkFormWidget *fwidget gtk_form_widget_get_widget_name -const gchar * +gchar * GtkFormWidget *fwidget @@ -322,7 +322,7 @@ GtkFormWidget *fwidget, GtkLabel *label gtk_form_widget_get_value_stringify -const gchar * +gchar * GtkFormWidget *fwidget @@ -391,17 +391,17 @@ void gtk_form_field_text_get_value_stringify -const gchar * +gchar * GtkFormField *field gtk_form_field_text_get_value -const GValue * +GValue * GtkFormField *field gtk_form_field_text_get_value_sql -const gchar * +gchar * GtkFormField *field @@ -485,17 +485,17 @@ void gtk_form_field_datetime_get_value_stringify -const gchar * +gchar * GtkFormField *field gtk_form_field_datetime_get_value -const GValue * +GValue * GtkFormField *field gtk_form_field_datetime_get_value_sql -const gchar * +gchar * GtkFormField *field @@ -599,7 +599,7 @@ void gtk_form_widget_label_get_value_stringify -const gchar * +gchar * GtkFormWidget *widget @@ -663,17 +663,17 @@ void gtk_form_field_float_get_value_stringify -const gchar * +gchar * GtkFormField *field gtk_form_field_float_get_value -const GValue * +GValue * GtkFormField *field gtk_form_field_float_get_value_sql -const gchar * +gchar * GtkFormField *field @@ -841,7 +841,7 @@ void gtk_form_widget_textview_get_value_stringify -const gchar * +gchar * GtkFormWidget *widget @@ -897,9 +897,9 @@ struct _GtkFormFieldClass { GObjectClass parent_class; - const gchar *(*get_value_stringify) (GtkFormField *field); - const GValue *(*get_value) (GtkFormField *field); - const gchar *(*get_value_sql) (GtkFormField *field); + gchar *(*get_value_stringify) (GtkFormField *field); + GValue *(*get_value) (GtkFormField *field); + gchar *(*get_value_sql) (GtkFormField *field); gboolean (*clear) (GtkFormField *field); gboolean (*is_empty) (GtkFormField *field); @@ -925,7 +925,7 @@ GtkFormWidget *fwidget gtk_form_field_get_field_name -const gchar * +gchar * GtkFormField *field @@ -935,17 +935,17 @@ GtkFormField *field gtk_form_field_get_value_stringify -const gchar * +gchar * GtkFormField *field gtk_form_field_get_value -const GValue * +GValue * GtkFormField *field gtk_form_field_get_value_sql -const gchar * +gchar * GtkFormField *field @@ -1213,7 +1213,7 @@ void gtk_form_widget_combo_box_get_value_stringify -const gchar * +gchar * GtkFormWidget *widget @@ -1282,7 +1282,7 @@ void gtk_form_widget_entry_get_value_stringify -const gchar * +gchar * GtkFormWidget *widget @@ -1351,17 +1351,17 @@ void gtk_form_field_integer_get_value_stringify -const gchar * +gchar * GtkFormField *field gtk_form_field_integer_get_value -const GValue * +GValue * GtkFormField *field gtk_form_field_integer_get_value_sql -const gchar * +gchar * GtkFormField *field diff --git a/po/it.po b/po/it.po index b78f38e..b96cc5f 100644 --- a/po/it.po +++ b/po/it.po @@ -6,16 +6,55 @@ msgid "" msgstr "" "Project-Id-Version: 0.1.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-10-05 18:20+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Report-Msgid-Bugs-To: Andrea Zagli \n" +"POT-Creation-Date: 2009-10-19 16:12+0200\n" +"PO-Revision-Date: 2009-10-19 16:15+0200\n" "Last-Translator: Andrea Zagli \n" -"Language-Team: LANGUAGE \n" +"Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../src/form.c:1336 +#: ../src/fielddatetime.c:391 +msgid "GtkFormField hasn't a field name." +msgstr "GtkFormField non ha un nome di campo." + +#: ../src/form.c:214 +#, c-format +msgid "Error on loading GtkBuilder file: %s\n" +msgstr "Errore durante il caricamento del file GtkBuilder: %s\n" + +#: ../src/form.c:277 +#, c-format +msgid "Label «%s» not found." +msgstr "Etichetta «%s» non trovata." + +#: ../src/form.c:429 +#, c-format +msgid "Field of type «%s» not found." +msgstr "Campo di tipo «%s» non trovato." + +#: ../src/form.c:438 +#, c-format +msgid "Widget of type «%s» not found." +msgstr "Widget di tipo «%s» non trovato." + +#. TO DO +#: ../src/form.c:448 +msgid "The file is not a valid gtkform definition file." +msgstr "Il file non è un file di definizione di gtkform valido." + +#: ../src/form.c:810 ../src/form.c:1077 +#, c-format +msgid "Object «%s» not found." +msgstr "Oggetto «%s» non trovato." + +#: ../src/form.c:1343 #, c-format msgid "The field «%s» is obligatory." msgstr "Il campo «%s» è obbligatorio." + +#: ../src/widget.c:140 +#, c-format +msgid "Widget «%s» not found." +msgstr "Widget «%s» non trovato." diff --git a/src/field.c b/src/field.c index d16a03d..a3eac80 100644 --- a/src/field.c +++ b/src/field.c @@ -142,12 +142,12 @@ GtkFormField * * Returns: the field's name. */ -const gchar +gchar *gtk_form_field_get_field_name (GtkFormField *field) { GtkFormFieldPrivate *priv = GTK_FORM_FIELD_GET_PRIVATE (field); - return (const gchar *)g_strdup (priv->field); + return g_strdup (priv->field); } /** @@ -169,10 +169,12 @@ GtkFormWidget * @field: a #GtkFormField object. * */ -const gchar +gchar *gtk_form_field_get_value_stringify (GtkFormField *field) { - const gchar *ret; + gchar *ret; + + ret = g_strdup (""); if (IS_GTK_FORM_FIELD (field) && GTK_FORM_FIELD_GET_CLASS (field)->get_value_stringify != NULL) { @@ -187,10 +189,10 @@ const gchar * @field: a #GtkFormField object. * */ -const GValue +GValue *gtk_form_field_get_value (GtkFormField *field) { - const GValue *ret; + GValue *ret; if (IS_GTK_FORM_FIELD (field) && GTK_FORM_FIELD_GET_CLASS (field)->get_value != NULL) { @@ -205,10 +207,12 @@ const GValue * @field: a #GtkFormField object. * */ -const gchar +gchar *gtk_form_field_get_value_sql (GtkFormField *field) { - const gchar *ret; + gchar *ret; + + ret = g_strdup (""); if (IS_GTK_FORM_FIELD (field) && GTK_FORM_FIELD_GET_CLASS (field)->get_value_sql != NULL) { diff --git a/src/field.h b/src/field.h index d6a2e77..919a4b3 100644 --- a/src/field.h +++ b/src/field.h @@ -49,9 +49,9 @@ struct _GtkFormFieldClass { GObjectClass parent_class; - const gchar *(*get_value_stringify) (GtkFormField *field); - const GValue *(*get_value) (GtkFormField *field); - const gchar *(*get_value_sql) (GtkFormField *field); + gchar *(*get_value_stringify) (GtkFormField *field); + GValue *(*get_value) (GtkFormField *field); + gchar *(*get_value_sql) (GtkFormField *field); gboolean (*clear) (GtkFormField *field); gboolean (*is_empty) (GtkFormField *field); @@ -65,12 +65,12 @@ GType gtk_form_field_get_type (void) G_GNUC_CONST; GtkFormField *gtk_form_field_new (void); GtkFormField *gtk_form_field_new_from_gtk_form_widget (GtkFormWidget *fwidget); -const gchar *gtk_form_field_get_field_name (GtkFormField *field); +gchar *gtk_form_field_get_field_name (GtkFormField *field); GtkFormWidget *gtk_form_field_get_form_widget (GtkFormField *field); -const gchar *gtk_form_field_get_value_stringify (GtkFormField *field); -const GValue *gtk_form_field_get_value (GtkFormField *field); -const gchar *gtk_form_field_get_value_sql (GtkFormField *field); +gchar *gtk_form_field_get_value_stringify (GtkFormField *field); +GValue *gtk_form_field_get_value (GtkFormField *field); +gchar *gtk_form_field_get_value_sql (GtkFormField *field); gboolean gtk_form_field_clear (GtkFormField *field); diff --git a/src/fieldboolean.c b/src/fieldboolean.c index 6e7653c..e9e5d47 100644 --- a/src/fieldboolean.c +++ b/src/fieldboolean.c @@ -102,14 +102,15 @@ GtkFormField * @field: a #GtkFormField object. * */ -const gchar +gchar *gtk_form_field_boolean_get_value_stringify (GtkFormField *field) { - const gchar *ret = NULL; + gchar *ret; + GtkFormWidget *fw; - g_return_val_if_fail (IS_GTK_FORM_FIELD_BOOLEAN (field), NULL); + ret = g_strdup (""); - GtkFormWidget *fw; + g_return_val_if_fail (IS_GTK_FORM_FIELD_BOOLEAN (field), ret); g_object_get (field, "form-widget", &fw, @@ -128,14 +129,16 @@ const gchar * @field: a #GtkFormField object. * */ -const GValue +GValue *gtk_form_field_boolean_get_value (GtkFormField *field) { - GValue *ret = NULL; - const gchar *value; + GValue *ret; + gchar *value; g_return_val_if_fail (IS_GTK_FORM_FIELD_BOOLEAN (field), NULL); + ret = NULL; + value = gtk_form_field_boolean_get_value_stringify (field); if (value != NULL) @@ -143,9 +146,11 @@ const GValue ret = g_malloc0 (sizeof (GValue)); g_value_init (ret, G_TYPE_BOOLEAN); g_value_set_boolean (ret, strtol (value, NULL, 10)); + + g_free (value); } - return (const GValue *)ret; + return ret; } /** @@ -153,15 +158,15 @@ const GValue * @field: a #GtkFormField object. * */ -const gchar +gchar *gtk_form_field_boolean_get_value_sql (GtkFormField *field) { - const gchar *ret; - const gchar *value; + gchar *ret; + gchar *value; - g_return_val_if_fail (IS_GTK_FORM_FIELD_BOOLEAN (field), NULL); + ret = g_strdup (""); - ret = NULL; + g_return_val_if_fail (IS_GTK_FORM_FIELD_BOOLEAN (field), ret); value = gtk_form_field_boolean_get_value_stringify (field); @@ -172,6 +177,8 @@ const gchar bool_value = gtk_form_field_boolean_str_to_boolean (value); ret = g_strconcat ("'", (bool_value ? "1" : "0"), "'", NULL); + + g_free (value); } return ret; @@ -225,7 +232,7 @@ gtk_form_filed_boolean_is_changed (GtkFormField *field) { gboolean ret = FALSE; GtkFormFieldBooleanPrivate *priv; - const gchar *value; + gchar *value; g_return_val_if_fail (IS_GTK_FORM_FIELD_BOOLEAN (field), FALSE); @@ -235,6 +242,8 @@ gtk_form_filed_boolean_is_changed (GtkFormField *field) ret = (priv->original_value != gtk_form_field_boolean_str_to_boolean (value)); + g_free (value); + return ret; } @@ -247,7 +256,7 @@ void gtk_form_field_boolean_set_as_origin (GtkFormField *field) { GtkFormFieldBooleanPrivate *priv; - const gchar *value; + gchar *value; g_return_if_fail (IS_GTK_FORM_FIELD_BOOLEAN (field)); @@ -256,6 +265,8 @@ gtk_form_field_boolean_set_as_origin (GtkFormField *field) value = gtk_form_field_boolean_get_value_stringify (field); priv->original_value = gtk_form_field_boolean_str_to_boolean (value); + + g_free (value); } /** @@ -270,7 +281,7 @@ gtk_form_field_boolean_set_from_datamodel (GtkFormField *field, GdaDataModel *dm { gboolean ret = FALSE; GtkFormFieldBooleanPrivate *priv; - const gchar *field_name; + gchar *field_name; gchar *value; g_return_val_if_fail (IS_GTK_FORM_FIELD_BOOLEAN (field), FALSE); @@ -292,6 +303,9 @@ gtk_form_field_boolean_set_from_datamodel (GtkFormField *field, GdaDataModel *dm priv->original_value = gtk_form_field_boolean_str_to_boolean (value); + g_free (field_name); + g_free (value); + return ret; } @@ -328,6 +342,8 @@ gtk_form_field_boolean_str_to_boolean (const gchar *value) bool_value = TRUE; } + g_free (str_value); + return bool_value; } diff --git a/src/fieldboolean.h b/src/fieldboolean.h index 856b566..c1a9ca4 100644 --- a/src/fieldboolean.h +++ b/src/fieldboolean.h @@ -52,9 +52,9 @@ GType gtk_form_field_boolean_get_type (void) G_GNUC_CONST; GtkFormField *gtk_form_field_boolean_new (void); -const gchar *gtk_form_field_boolean_get_value_stringify (GtkFormField *field); -const GValue *gtk_form_field_boolean_get_value (GtkFormField *field); -const gchar *gtk_form_field_boolean_get_value_sql (GtkFormField *field); +gchar *gtk_form_field_boolean_get_value_stringify (GtkFormField *field); +GValue *gtk_form_field_boolean_get_value (GtkFormField *field); +gchar *gtk_form_field_boolean_get_value_sql (GtkFormField *field); gboolean gtk_form_field_boolean_clear (GtkFormField *field); diff --git a/src/fielddatetime.c b/src/fielddatetime.c index 7b323ac..ff56a5e 100644 --- a/src/fielddatetime.c +++ b/src/fielddatetime.c @@ -16,10 +16,16 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#ifdef HAVE_CONFIG_H + #include +#endif + #include #include #include +#include + #include "widget.h" #include "fielddatetime.h" @@ -135,16 +141,15 @@ GtkFormField * @field: a #GtkFormField object. * */ -const gchar +gchar *gtk_form_field_datetime_get_value_stringify (GtkFormField *field) { - const gchar *ret; - + gchar *ret; GtkFormWidget *fw; - g_return_val_if_fail (IS_GTK_FORM_FIELD_DATETIME (field), NULL); + ret = g_strdup (""); - ret = NULL; + g_return_val_if_fail (IS_GTK_FORM_FIELD_DATETIME (field), ret); g_object_get (field, "form-widget", &fw, @@ -164,12 +169,12 @@ const gchar * * Returns: a #GValue of type G_TYPE_POINTER that point to a struct tm. */ -const GValue +GValue *gtk_form_field_datetime_get_value (GtkFormField *field) { struct tm *datetime; GValue *ret; - const gchar *value; + gchar *value; GtkFormFieldDateTimePrivate *priv; g_return_val_if_fail (IS_GTK_FORM_FIELD_DATETIME (field), NULL); @@ -186,9 +191,11 @@ const GValue ret = g_malloc0 (sizeof (GValue)); g_value_init (ret, G_TYPE_POINTER); g_value_set_pointer (ret, datetime); + + g_free (value); } - return (const GValue *)ret; + return ret; } /** @@ -196,37 +203,42 @@ const GValue * @field: a #GtkFormField object. * */ -const gchar +gchar *gtk_form_field_datetime_get_value_sql (GtkFormField *field) { - const gchar *ret; - const gchar *value; - const gchar *format; + gchar *ret; + gchar *value; + gchar *format; GtkFormFieldDateTimePrivate *priv; - g_return_val_if_fail (IS_GTK_FORM_FIELD_DATETIME (field), NULL); + ret = g_strdup ("''"); + + g_return_val_if_fail (IS_GTK_FORM_FIELD_DATETIME (field), ret); priv = GTK_FORM_FIELD_DATETIME_GET_PRIVATE (GTK_FORM_FIELD_DATETIME (field)); - ret = NULL; value = gtk_form_field_datetime_get_value_stringify (field); format = gtk_form_field_datetime_get_str_format (GTK_FORM_FIELD_DATETIME (field)); - if (value != NULL) + if (value != NULL && format != NULL) { struct tm *datetime; datetime = gtk_form_field_datetime_get_tm_from_str (value, priv->display_format); if (datetime != NULL) { - gchar *value; + gchar *dvalue; - value = gtk_form_field_datetime_get_str_from_tm (datetime, format); - if (value != NULL) + dvalue = gtk_form_field_datetime_get_str_from_tm (datetime, format); + if (dvalue != NULL) { - ret = g_strconcat ("'", value, "'", NULL); + ret = g_strconcat ("'", dvalue, "'", NULL); + + g_free (dvalue); } } + + g_free (value); } return ret; @@ -256,6 +268,8 @@ gtk_form_field_datetime_clear (GtkFormField *field) if (value != NULL) { ret = gtk_form_field_datetime_set_value_stringify (field, value); + + g_free (value); } } else @@ -378,12 +392,16 @@ gtk_form_field_datetime_set_from_datamodel (GtkFormField *field, GdaDataModel *d ret = gtk_form_field_datetime_set_value_stringify (field, value); priv->original_value = g_memdup (datetime, sizeof (struct tm)); + + g_free (value); } else { - g_warning ("GtkFormField hasn't a field name."); + g_warning (_("GtkFormField hasn't a field name.")); } + g_free (field_name); + return ret; } @@ -416,6 +434,7 @@ struct tm new_str = g_strstrip (g_strdup (str)); if (g_strcmp0 (new_str, "") == 0) { + g_free (new_str); return NULL; } @@ -435,18 +454,27 @@ struct tm if (delimiters == NULL || g_strcmp0 (delimiters, "") == 0) { + g_free (delimiters); + g_free (new_format); + g_free (new_str); return NULL; } str_tokens = g_strsplit_set (str, delimiters, -1); if (str_tokens == NULL) { + g_free (delimiters); + g_free (new_format); + g_free (new_str); return NULL; } format_tokens = g_strsplit_set (format, delimiters, -1); if (format_tokens == NULL) { + g_free (delimiters); + g_free (new_format); + g_free (new_str); return NULL; } @@ -485,6 +513,10 @@ struct tm } } + g_free (delimiters); + g_free (new_format); + g_free (new_str); + return ret; } @@ -508,7 +540,9 @@ gchar { gchar *ret; - g_return_val_if_fail (datetime != NULL, ""); + ret = g_strdup (""); + + g_return_val_if_fail (datetime != NULL, ret); ret = gtk_form_field_datetime_str_replace (format, "%Y", g_strdup_printf ("%04u", datetime->tm_year + 1900)); @@ -651,6 +685,7 @@ gtk_form_field_datetime_set_value_stringify (GtkFormField *field, const gchar *v * gtk_form_field_datetime_get_str_format: * @field: a #GtkFormFieldDateTime object. * + * Returns: the strftime format string for the current type. */ static gchar *gtk_form_field_datetime_get_str_format (GtkFormFieldDateTime *field) @@ -658,7 +693,9 @@ static gchar gchar *format; GtkFormFieldDateTimePrivate *priv; - g_return_val_if_fail (IS_GTK_FORM_FIELD_DATETIME (field), NULL); + format = NULL; + + g_return_val_if_fail (IS_GTK_FORM_FIELD_DATETIME (field), format); priv = GTK_FORM_FIELD_DATETIME_GET_PRIVATE (field); @@ -675,6 +712,11 @@ static gchar case GTK_FORM_FIELD_DATETIME_TYPE_TIME: format = g_strdup ("%H-%M-%S"); break; + + default: + g_warning (_("GtkFormFieldDateTimeType not supported: %d."), priv->type); + format = NULL; + break; } return format; @@ -686,7 +728,7 @@ static gchar * @origin: the string to replace. * @replace: the string to insert. * - * Returns: a string with replaced string. + * Returns: a string with replaced string. Must be freed. */ static gchar *gtk_form_field_datetime_str_replace (const gchar *string, @@ -700,7 +742,7 @@ static gchar if (p == NULL) { - return (gchar *)string; + return g_strdup (string); } ret = g_strndup (string, p - string); diff --git a/src/fielddatetime.h b/src/fielddatetime.h index f6a0f7a..09dba45 100644 --- a/src/fielddatetime.h +++ b/src/fielddatetime.h @@ -59,9 +59,9 @@ enum GtkFormField *gtk_form_field_datetime_new (void); -const gchar *gtk_form_field_datetime_get_value_stringify (GtkFormField *field); -const GValue *gtk_form_field_datetime_get_value (GtkFormField *field); -const gchar *gtk_form_field_datetime_get_value_sql (GtkFormField *field); +gchar *gtk_form_field_datetime_get_value_stringify (GtkFormField *field); +GValue *gtk_form_field_datetime_get_value (GtkFormField *field); +gchar *gtk_form_field_datetime_get_value_sql (GtkFormField *field); gboolean gtk_form_field_datetime_clear (GtkFormField *field); diff --git a/src/fieldfloat.c b/src/fieldfloat.c index 8695f4d..a8a5159 100644 --- a/src/fieldfloat.c +++ b/src/fieldfloat.c @@ -102,16 +102,16 @@ GtkFormField * @field: a #GtkFormField object. * */ -const gchar +gchar *gtk_form_field_float_get_value_stringify (GtkFormField *field) { - const gchar *ret; + gchar *ret; GtkFormWidget *fw; - g_return_val_if_fail (IS_GTK_FORM_FIELD_FLOAT (field), NULL); + ret = g_strdup (""); - ret = NULL; + g_return_val_if_fail (IS_GTK_FORM_FIELD_FLOAT (field), ret); g_object_get (field, "form-widget", &fw, @@ -119,13 +119,15 @@ const gchar if (IS_GTK_FORM_WIDGET (fw)) { - const gchar *value; + gchar *value; value = gtk_form_widget_get_value_stringify (fw); if (value != NULL) { ret = g_strdup_printf ("%f", strtod (value, NULL)); + + g_free (value); } } @@ -137,21 +139,26 @@ const gchar * @field: a #GtkFormField object. * */ -const GValue +GValue *gtk_form_field_float_get_value (GtkFormField *field) { - GValue *ret = NULL; + GValue *ret; + gchar *value; - const gchar *value = gtk_form_field_float_get_value_stringify (field); + ret = NULL; + + value = gtk_form_field_float_get_value_stringify (field); if (value != NULL) { ret = g_malloc0 (sizeof (GValue)); g_value_init (ret, G_TYPE_FLOAT); g_value_set_float (ret, strtod (value, NULL)); + + g_free (value); } - return (const GValue *)ret; + return ret; } /** @@ -159,11 +166,15 @@ const GValue * @field: a #GtkFormField object. * */ -const gchar +gchar *gtk_form_field_float_get_value_sql (GtkFormField *field) { - const gchar *ret = NULL; - const gchar *value = gtk_form_field_float_get_value_stringify (field); + gchar *ret; + gchar *value; + + ret = g_strdup (""); + + value = gtk_form_field_float_get_value_stringify (field); if (value != NULL) { @@ -175,6 +186,8 @@ const gchar ret = g_strdup_printf ("%f", fval); setlocale (LC_NUMERIC, cur); + + g_free (value); } return ret; @@ -208,7 +221,7 @@ gboolean gtk_form_field_float_is_empty (GtkFormField *field) { gboolean ret; - const gchar *value; + gchar *value; g_return_val_if_fail (IS_GTK_FORM_FIELD_FLOAT (field), TRUE); @@ -223,6 +236,8 @@ gtk_form_field_float_is_empty (GtkFormField *field) ret = FALSE; } + g_free (value); + return ret; } @@ -278,8 +293,8 @@ gtk_form_field_float_set_from_datamodel (GtkFormField *field, GdaDataModel *dm, { gboolean ret = FALSE; GtkFormFieldFloatPrivate *priv; - const gchar *value; - const gchar *field_name; + gchar *value; + gchar *field_name; g_return_val_if_fail (IS_GTK_FORM_FIELD_FLOAT (field), FALSE); g_return_val_if_fail (GDA_IS_DATA_MODEL (dm), FALSE); @@ -294,6 +309,9 @@ gtk_form_field_float_set_from_datamodel (GtkFormField *field, GdaDataModel *dm, priv->original_value = g_strtod (value, NULL); + g_free (field_name); + g_free (value); + return ret; } diff --git a/src/fieldfloat.h b/src/fieldfloat.h index 60a7e0e..f048571 100644 --- a/src/fieldfloat.h +++ b/src/fieldfloat.h @@ -52,9 +52,9 @@ GType gtk_form_field_float_get_type (void) G_GNUC_CONST; GtkFormField *gtk_form_field_float_new (void); -const gchar *gtk_form_field_float_get_value_stringify (GtkFormField *field); -const GValue *gtk_form_field_float_get_value (GtkFormField *field); -const gchar *gtk_form_field_float_get_value_sql (GtkFormField *field); +gchar *gtk_form_field_float_get_value_stringify (GtkFormField *field); +GValue *gtk_form_field_float_get_value (GtkFormField *field); +gchar *gtk_form_field_float_get_value_sql (GtkFormField *field); gboolean gtk_form_field_float_clear (GtkFormField *field); diff --git a/src/fieldinteger.c b/src/fieldinteger.c index 934e4a3..06afcb2 100644 --- a/src/fieldinteger.c +++ b/src/fieldinteger.c @@ -100,14 +100,14 @@ GtkFormField * @field: a #GtkFormField object. * */ -const gchar +gchar *gtk_form_field_integer_get_value_stringify (GtkFormField *field) { - const gchar *ret; + gchar *ret; GtkFormWidget *fw; - ret = NULL; + ret = g_strdup (""); g_object_get (field, "form-widget", &fw, @@ -115,13 +115,15 @@ const gchar if (IS_GTK_FORM_WIDGET (fw)) { - const gchar *value; + gchar *value; value = gtk_form_widget_get_value_stringify (fw); if (value != NULL) { ret = g_strdup_printf ("%d", strtol (value, NULL, 10)); + + g_free (value); } } @@ -133,11 +135,11 @@ const gchar * @field: a #GtkFormField object. * */ -const GValue +GValue *gtk_form_field_integer_get_value (GtkFormField *field) { GValue *ret; - const gchar *value; + gchar *value; g_return_val_if_fail (IS_GTK_FORM_FIELD_INTEGER (field), NULL); @@ -150,9 +152,11 @@ const GValue ret = g_malloc0 (sizeof (GValue)); g_value_init (ret, G_TYPE_INT); g_value_set_int (ret, atol (value)); + + g_free (value); } - return (const GValue *)ret; + return ret; } /** @@ -160,21 +164,12 @@ const GValue * @field: a #GtkFormField object. * */ -const gchar +gchar *gtk_form_field_integer_get_value_sql (GtkFormField *field) { - const gchar *ret; - const gchar *value; - - g_return_val_if_fail (IS_GTK_FORM_FIELD_INTEGER (field), NULL); - - ret = NULL; - - value = gtk_form_field_integer_get_value_stringify (field); - - ret = value; + g_return_val_if_fail (IS_GTK_FORM_FIELD_INTEGER (field), "0"); - return ret; + return gtk_form_field_integer_get_value_stringify (field); } /** @@ -205,7 +200,7 @@ gboolean gtk_form_field_integer_is_empty (GtkFormField *field) { gboolean ret; - const gchar *value; + gchar *value; g_return_val_if_fail (IS_GTK_FORM_FIELD_INTEGER (field), TRUE); @@ -220,6 +215,8 @@ gtk_form_field_integer_is_empty (GtkFormField *field) ret = FALSE; } + g_free (value); + return ret; } @@ -274,8 +271,8 @@ gtk_form_field_integer_set_from_datamodel (GtkFormField *field, GdaDataModel *dm { gboolean ret = FALSE; GtkFormFieldIntegerPrivate *priv; - const gchar *value; - const gchar *field_name; + gchar *value; + gchar *field_name; g_return_val_if_fail (GDA_IS_DATA_MODEL (dm), FALSE); @@ -289,6 +286,9 @@ gtk_form_field_integer_set_from_datamodel (GtkFormField *field, GdaDataModel *dm priv->original_value = strtol (value, NULL, 10); + g_free (field_name); + g_free (value); + return ret; } diff --git a/src/fieldinteger.h b/src/fieldinteger.h index 0fe0afe..e559ac9 100644 --- a/src/fieldinteger.h +++ b/src/fieldinteger.h @@ -52,9 +52,9 @@ GType gtk_form_field_integer_get_type (void) G_GNUC_CONST; GtkFormField *gtk_form_field_integer_new (void); -const gchar *gtk_form_field_integer_get_value_stringify (GtkFormField *field); -const GValue *gtk_form_field_integer_get_value (GtkFormField *field); -const gchar *gtk_form_field_integer_get_value_sql (GtkFormField *field); +gchar *gtk_form_field_integer_get_value_stringify (GtkFormField *field); +GValue *gtk_form_field_integer_get_value (GtkFormField *field); +gchar *gtk_form_field_integer_get_value_sql (GtkFormField *field); gboolean gtk_form_field_integer_clear (GtkFormField *field); diff --git a/src/fieldtext.c b/src/fieldtext.c index ec70194..72db199 100644 --- a/src/fieldtext.c +++ b/src/fieldtext.c @@ -103,10 +103,10 @@ GtkFormField * @field: a #GtkFormField object. * */ -const gchar +gchar *gtk_form_field_text_get_value_stringify (GtkFormField *field) { - const gchar *ret = NULL; + gchar *ret; GtkFormWidget *fw; @@ -114,6 +114,8 @@ const gchar "form-widget", &fw, NULL); + ret = g_strdup (""); + if (IS_GTK_FORM_WIDGET (fw)) { ret = gtk_form_widget_get_value_stringify (fw); @@ -127,21 +129,26 @@ const gchar * @field: a #GtkFormField object. * */ -const GValue +GValue *gtk_form_field_text_get_value (GtkFormField *field) { - GValue *ret = NULL; + GValue *ret; + gchar *value; + + ret = NULL; - const gchar *value = gtk_form_field_text_get_value_stringify (field); + value = gtk_form_field_text_get_value_stringify (field); if (value != NULL) { ret = g_malloc0 (sizeof (GValue)); g_value_init (ret, G_TYPE_STRING); g_value_set_string (ret, value); + + g_free (value); } - return (const GValue *)ret; + return ret; } /** @@ -149,15 +156,21 @@ const GValue * @field: a #GtkFormField object. * */ -const gchar +gchar *gtk_form_field_text_get_value_sql (GtkFormField *field) { - const gchar *ret = NULL; - const gchar *value = gtk_form_field_text_get_value_stringify (field); + gchar *ret; + gchar *value; + + ret = g_strup (""); + + value = gtk_form_field_text_get_value_stringify (field); if (value != NULL) { ret = g_strconcat ("'", gdaex_strescape (value, NULL), "'", NULL); + + g_free (value); } return ret; @@ -191,13 +204,13 @@ gboolean gtk_form_field_text_is_empty (GtkFormField *field) { gboolean ret; - const gchar *value; + gchar *value; g_return_val_if_fail (IS_GTK_FORM_FIELD_TEXT (field), TRUE); value = gtk_form_field_text_get_value_stringify (field); - if (g_strcmp0 (value, "") == 0) + if (value != NULL && g_strcmp0 (value, "") == 0) { ret = TRUE; } @@ -206,6 +219,8 @@ gtk_form_field_text_is_empty (GtkFormField *field) ret = FALSE; } + g_free (value); + return ret; } @@ -219,7 +234,7 @@ gtk_form_field_text_is_changed (GtkFormField *field) { gboolean ret = FALSE; GtkFormFieldTextPrivate *priv; - const gchar *value; + gchar *value; g_return_val_if_fail (IS_GTK_FORM_FIELD_TEXT (field), FALSE); @@ -229,6 +244,8 @@ gtk_form_field_text_is_changed (GtkFormField *field) ret = (g_strcmp0 (priv->original_value, value) != 0); + g_free (value); + return ret; } @@ -262,7 +279,7 @@ gtk_form_field_text_set_from_datamodel (GtkFormField *field, GdaDataModel *dm, g gboolean ret = FALSE; GtkFormFieldTextPrivate *priv; gchar *strret; - const gchar *field_name; + gchar *field_name; g_return_val_if_fail (IS_GTK_FORM_FIELD_TEXT (field), FALSE); g_return_val_if_fail (GDA_IS_DATA_MODEL (dm), FALSE); @@ -280,6 +297,9 @@ gtk_form_field_text_set_from_datamodel (GtkFormField *field, GdaDataModel *dm, g priv->original_value = g_strdup (strret); + g_free (field_name); + g_free (strret); + return ret; } diff --git a/src/fieldtext.h b/src/fieldtext.h index b7ec022..5a96a51 100644 --- a/src/fieldtext.h +++ b/src/fieldtext.h @@ -52,9 +52,9 @@ GType gtk_form_field_text_get_type (void) G_GNUC_CONST; GtkFormField *gtk_form_field_text_new (void); -const gchar *gtk_form_field_text_get_value_stringify (GtkFormField *field); -const GValue *gtk_form_field_text_get_value (GtkFormField *field); -const gchar *gtk_form_field_text_get_value_sql (GtkFormField *field); +gchar *gtk_form_field_text_get_value_stringify (GtkFormField *field); +GValue *gtk_form_field_text_get_value (GtkFormField *field); +gchar *gtk_form_field_text_get_value_sql (GtkFormField *field); gboolean gtk_form_field_text_clear (GtkFormField *field); diff --git a/src/form.c b/src/form.c index a6301cb..b107042 100644 --- a/src/form.c +++ b/src/form.c @@ -211,7 +211,7 @@ GtkForm if (gtk_builder_add_from_file (priv->gtkbuilder, filename, &error) <= 0) { priv->gtkbuilder = NULL; - g_warning ("Error on loading GtkBuilder file: %s\n", + g_warning (_("Error on loading GtkBuilder file: %s\n"), error->message); } } @@ -274,7 +274,7 @@ GtkForm } else { - g_warning ("Label «%s» not found.", label); + g_warning (_("Label «%s» not found."), label); } } } @@ -426,7 +426,7 @@ GtkForm } else { - g_warning ("Field of type «%s» not found.", type); + g_warning (_("Field of type «%s» not found."), type); } } @@ -435,7 +435,7 @@ GtkForm } else { - g_warning ("Widget of type «%s» not found.", type); + g_warning (_("Widget of type «%s» not found."), type); } } @@ -445,7 +445,7 @@ GtkForm else { /* TO DO */ - g_warning ("The file is not a valid gtkform definition file."); + g_warning (_("The file is not a valid gtkform definition file.")); } } @@ -500,18 +500,23 @@ GtkBuilder * gtk_form_get_table: * @form: a #GtkForm object. * - * Returns: the table's name associated to the form. + * Returns: the table's name associated to the form. Must be freed. */ -const gchar +gchar *gtk_form_get_table (GtkForm *form) { + gchar *ret; GtkFormPrivate *priv; - g_return_val_if_fail (IS_GTK_FORM (form), NULL); + ret = g_strdup (""); + + g_return_val_if_fail (IS_GTK_FORM (form), ret); priv = GTK_FORM_GET_PRIVATE (form); - return (const gchar *)g_strdup (priv->table); + ret = g_strdup (priv->table); + + return ret; } /** @@ -539,8 +544,8 @@ gtk_form_set_table (GtkForm *form, const gchar *table) * * Returns: the #GtkFormKey associated to the form. */ -GtkFormKey * -gtk_form_get_key (GtkForm *form) +GtkFormKey +*gtk_form_get_key (GtkForm *form) { GtkFormPrivate *priv; @@ -807,7 +812,7 @@ GObject } else { - g_warning ("Object «%s» not found.", object_name); + g_warning (_("Object «%s» not found."), object_name); } } @@ -1074,7 +1079,7 @@ gtk_form_set_sensitive_by_name (GtkForm *form, gboolean sensitive, ...) } else { - g_warning ("Object «%s» not found.", object_name); + g_warning (_("Object «%s» not found."), object_name); } } @@ -1129,7 +1134,7 @@ gchar gchar *where = ""; const gchar *field_name; - g_return_val_if_fail (IS_GTK_FORM (form), NULL); + g_return_val_if_fail (IS_GTK_FORM (form), sql); priv = GTK_FORM_GET_PRIVATE (form); diff --git a/src/form.h b/src/form.h index bdc2300..2101497 100644 --- a/src/form.h +++ b/src/form.h @@ -60,7 +60,7 @@ GtkForm *gtk_form_new_from_file (const gchar *filename, GtkBuilder *gtkbuilder); GtkBuilder *gtk_form_get_gtkbuilder (GtkForm *form); -const gchar *gtk_form_get_table (GtkForm *form); +gchar *gtk_form_get_table (GtkForm *form); void gtk_form_set_table (GtkForm *form, const gchar *table); GtkFormKey *gtk_form_get_key (GtkForm *form); diff --git a/src/key.c b/src/key.c index 0860e1a..4d24a44 100644 --- a/src/key.c +++ b/src/key.c @@ -192,7 +192,7 @@ gchar GtkFormKeyPrivate *priv; GSList *fields; - g_return_val_if_fail (IS_GTK_FORM_KEY (gtk_form_key), NULL); + g_return_val_if_fail (IS_GTK_FORM_KEY (gtk_form_key), sql); priv = GTK_FORM_KEY_GET_PRIVATE (gtk_form_key); @@ -217,6 +217,8 @@ gchar sql = g_strconcat (" WHERE ", g_strdup (sql + 5), NULL); } + g_free (field_name); + return sql; } diff --git a/src/widget.c b/src/widget.c index 9522816..6a9e234 100644 --- a/src/widget.c +++ b/src/widget.c @@ -16,6 +16,12 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#ifdef HAVE_CONFIG_H + #include +#endif + +#include + #include #include "widget.h" @@ -131,7 +137,7 @@ gtk_form_widget_set_from_gtkbuilder (GtkFormWidget *fwidget, } else { - g_warning ("Widget «%s» not found.", widget_name); + g_warning (_("Widget «%s» not found."), widget_name); } return ret; @@ -158,18 +164,23 @@ GtkWidget * gtk_form_widget_get_widget_name: * @fwidget: a #GtkFormWidget object. * - * Returns: the #GtkFormWidget's name. + * Returns: the #GtkFormWidget's name. Must be freed. */ -const gchar +gchar *gtk_form_widget_get_widget_name (GtkFormWidget *fwidget) { + gchar *ret; GtkFormWidgetPrivate *priv; - g_return_val_if_fail (IS_GTK_FORM_WIDGET (fwidget), NULL); + ret = g_strdup (""); + + g_return_val_if_fail (IS_GTK_FORM_WIDGET (fwidget), ret); priv = GTK_FORM_WIDGET_GET_PRIVATE (fwidget); - return (const gchar *)g_strdup (priv->widget_name); + ret = g_strdup (priv->widget_name); + + return ret; } /** @@ -212,14 +223,21 @@ gtk_form_widget_set_label (GtkFormWidget *fwidget, GtkLabel *label) * gtk_form_widget_get_value_stringify: * @fwidget: a #GtkFormWidget object. * + * Returns: The widget's value as a string. Must be freed. */ -const gchar +gchar *gtk_form_widget_get_value_stringify (GtkFormWidget *fwidget) { + gchar *ret; + + ret = NULL; + if (IS_GTK_FORM_WIDGET (fwidget) && GTK_FORM_WIDGET_GET_CLASS (fwidget)->get_value_stringify != NULL) { - GTK_FORM_WIDGET_GET_CLASS (fwidget)->get_value_stringify (fwidget); + ret = GTK_FORM_WIDGET_GET_CLASS (fwidget)->get_value_stringify (fwidget); } + + return ret; } /** @@ -231,10 +249,14 @@ const gchar gboolean gtk_form_widget_set_value_stringify (GtkFormWidget *fwidget, const gchar *value) { + gboolean ret; + if (IS_GTK_FORM_WIDGET (fwidget) && GTK_FORM_WIDGET_GET_CLASS (fwidget)->set_value_stringify != NULL) { - GTK_FORM_WIDGET_GET_CLASS (fwidget)->set_value_stringify (fwidget, value); + ret = GTK_FORM_WIDGET_GET_CLASS (fwidget)->set_value_stringify (fwidget, value); } + + return ret; } /** diff --git a/src/widget.h b/src/widget.h index 29e0702..6d3199a 100644 --- a/src/widget.h +++ b/src/widget.h @@ -46,7 +46,7 @@ struct _GtkFormWidgetClass { GObjectClass parent_class; - const gchar *(*get_value_stringify) (GtkFormWidget *fwidget); + gchar *(*get_value_stringify) (GtkFormWidget *fwidget); gboolean (*set_value_stringify) (GtkFormWidget *fwidget, const gchar *value); @@ -63,12 +63,12 @@ gboolean gtk_form_widget_set_from_gtkbuilder (GtkFormWidget *fwidget, GtkWidget *gtk_form_widget_get_widget (GtkFormWidget *fwidget); -const gchar *gtk_form_widget_get_widget_name (GtkFormWidget *fwidget); +gchar *gtk_form_widget_get_widget_name (GtkFormWidget *fwidget); GtkWidget *gtk_form_widget_get_label (GtkFormWidget *fwidget); void gtk_form_widget_set_label (GtkFormWidget *fwidget, GtkLabel *label); -const gchar *gtk_form_widget_get_value_stringify (GtkFormWidget *fwidget); +gchar *gtk_form_widget_get_value_stringify (GtkFormWidget *fwidget); gboolean gtk_form_widget_set_value_stringify (GtkFormWidget *fwidget, const gchar *value); diff --git a/src/widgetcheck.c b/src/widgetcheck.c index 3875b9d..b822f1b 100644 --- a/src/widgetcheck.c +++ b/src/widgetcheck.c @@ -88,13 +88,15 @@ GtkFormWidget * @widget: * */ -const gchar +gchar *gtk_form_widget_check_get_value_stringify (GtkFormWidget *fwidget) { GtkWidget *w; gchar *ret; - g_return_val_if_fail (IS_GTK_FORM_WIDGET_CHECK (fwidget), ""); + ret = g_strdup ("FALSE"); + + g_return_val_if_fail (IS_GTK_FORM_WIDGET_CHECK (fwidget), ret); w = gtk_form_widget_get_widget (fwidget); @@ -102,10 +104,6 @@ const gchar { ret = g_strdup ("TRUE"); } - else - { - ret = g_strdup ("FALSE"); - } return ret; } diff --git a/src/widgetcheck.h b/src/widgetcheck.h index 9a337f7..f257fb3 100644 --- a/src/widgetcheck.h +++ b/src/widgetcheck.h @@ -50,7 +50,7 @@ GType gtk_form_widget_check_get_type (void) G_GNUC_CONST; GtkFormWidget *gtk_form_widget_check_new (void); -const gchar *gtk_form_widget_check_get_value_stringify (GtkFormWidget *widget); +gchar *gtk_form_widget_check_get_value_stringify (GtkFormWidget *widget); gboolean gtk_form_widget_check_set_value_stringify (GtkFormWidget *fwidget, const gchar *value); diff --git a/src/widgetcombobox.c b/src/widgetcombobox.c index e9bd7f4..b107b87 100644 --- a/src/widgetcombobox.c +++ b/src/widgetcombobox.c @@ -95,18 +95,23 @@ GtkFormWidget * @fwidget: a #GtkFormWidget object. * */ -const gchar +gchar *gtk_form_widget_combo_box_get_value_stringify (GtkFormWidget *fwidget) { - const gchar *ret = ""; + gchar *ret; + GtkWidget *w; + GtkFormWidgetComboBoxPrivate *priv; + GtkTreeModel *tmodel; - g_return_val_if_fail (IS_GTK_FORM_WIDGET_COMBO_BOX (fwidget), NULL); + ret = g_strdup (""); - GtkWidget *w = gtk_form_widget_get_widget (fwidget); + g_return_val_if_fail (IS_GTK_FORM_WIDGET_COMBO_BOX (fwidget), ret); - GtkFormWidgetComboBoxPrivate *priv = GTK_FORM_WIDGET_COMBO_BOX_GET_PRIVATE (fwidget); + w = gtk_form_widget_get_widget (fwidget); - GtkTreeModel *tmodel = gtk_combo_box_get_model (GTK_COMBO_BOX (w)); + priv = GTK_FORM_WIDGET_COMBO_BOX_GET_PRIVATE (fwidget); + + tmodel = gtk_combo_box_get_model (GTK_COMBO_BOX (w)); if (tmodel != NULL) { GtkTreeIter iter; @@ -121,7 +126,10 @@ const gchar g_value_init (gvstr, G_TYPE_STRING); g_value_transform (gvalue, gvstr); - ret = g_value_get_string (gvstr); + ret = g_strdup (g_value_get_string (gvstr)); + + g_value_unset (gvstr); + g_value_unset (gvalue); } } diff --git a/src/widgetcombobox.h b/src/widgetcombobox.h index cf069ab..6ef3080 100644 --- a/src/widgetcombobox.h +++ b/src/widgetcombobox.h @@ -50,7 +50,7 @@ GType gtk_form_widget_combo_box_get_type (void) G_GNUC_CONST; GtkFormWidget *gtk_form_widget_combo_box_new (void); -const gchar *gtk_form_widget_combo_box_get_value_stringify (GtkFormWidget *widget); +gchar *gtk_form_widget_combo_box_get_value_stringify (GtkFormWidget *widget); gboolean gtk_form_widget_combo_box_set_value_stringify (GtkFormWidget *fwidget, const gchar *value); diff --git a/src/widgetentry.c b/src/widgetentry.c index 4983084..687d92b 100644 --- a/src/widgetentry.c +++ b/src/widgetentry.c @@ -84,12 +84,12 @@ GtkFormWidget * @widget: * */ -const gchar +gchar *gtk_form_widget_entry_get_value_stringify (GtkFormWidget *fwidget) { GtkWidget *w = gtk_form_widget_get_widget (fwidget); - return gtk_entry_get_text (GTK_ENTRY (w)); + return g_strdup (gtk_entry_get_text (GTK_ENTRY (w))); } /** diff --git a/src/widgetentry.h b/src/widgetentry.h index b8990d7..62f38b9 100644 --- a/src/widgetentry.h +++ b/src/widgetentry.h @@ -50,7 +50,7 @@ GType gtk_form_widget_entry_get_type (void) G_GNUC_CONST; GtkFormWidget *gtk_form_widget_entry_new (void); -const gchar *gtk_form_widget_entry_get_value_stringify (GtkFormWidget *widget); +gchar *gtk_form_widget_entry_get_value_stringify (GtkFormWidget *widget); gboolean gtk_form_widget_entry_set_value_stringify (GtkFormWidget *fwidget, const gchar *value); diff --git a/src/widgetlabel.c b/src/widgetlabel.c index 87923d8..6f984fb 100644 --- a/src/widgetlabel.c +++ b/src/widgetlabel.c @@ -83,12 +83,12 @@ GtkFormWidget * @widget: * */ -const gchar +gchar *gtk_form_widget_label_get_value_stringify (GtkFormWidget *fwidget) { GtkWidget *w = gtk_form_widget_get_widget (fwidget);; - return gtk_label_get_text (GTK_LABEL (w)); + return g_strdup (gtk_label_get_text (GTK_LABEL (w))); } /** diff --git a/src/widgetlabel.h b/src/widgetlabel.h index eefa2d8..42024a3 100644 --- a/src/widgetlabel.h +++ b/src/widgetlabel.h @@ -50,7 +50,7 @@ GType gtk_form_widget_label_get_type (void) G_GNUC_CONST; GtkFormWidget *gtk_form_widget_label_new (void); -const gchar *gtk_form_widget_label_get_value_stringify (GtkFormWidget *widget); +gchar *gtk_form_widget_label_get_value_stringify (GtkFormWidget *widget); gboolean gtk_form_widget_label_set_value_stringify (GtkFormWidget *fwidget, const gchar *value); diff --git a/src/widgetspin.c b/src/widgetspin.c index b2042b7..42b594d 100644 --- a/src/widgetspin.c +++ b/src/widgetspin.c @@ -86,15 +86,15 @@ GtkFormWidget * @widget: a #GtkFormWidget object. * */ -const gchar +gchar *gtk_form_widget_spin_get_value_stringify (GtkFormWidget *fwidget) { GtkWidget *w; gchar *ret; - g_return_val_if_fail (IS_GTK_FORM_WIDGET_SPIN (fwidget), NULL); + ret = g_strdup (""); - ret = NULL; + g_return_val_if_fail (IS_GTK_FORM_WIDGET_SPIN (fwidget), ret); w = gtk_form_widget_get_widget (fwidget); diff --git a/src/widgetspin.h b/src/widgetspin.h index 888d30b..886350f 100644 --- a/src/widgetspin.h +++ b/src/widgetspin.h @@ -50,7 +50,7 @@ GType gtk_form_widget_spin_get_type (void) G_GNUC_CONST; GtkFormWidget *gtk_form_widget_spin_new (void); -const gchar *gtk_form_widget_spin_get_value_stringify (GtkFormWidget *widget); +gchar *gtk_form_widget_spin_get_value_stringify (GtkFormWidget *widget); gboolean gtk_form_widget_spin_set_value_stringify (GtkFormWidget *fwidget, const gchar *value); diff --git a/src/widgettextview.c b/src/widgettextview.c index 5c3f896..2378219 100644 --- a/src/widgettextview.c +++ b/src/widgettextview.c @@ -84,7 +84,7 @@ GtkFormWidget * @widget: a #GtkFormWidget object. * */ -const gchar +gchar *gtk_form_widget_textview_get_value_stringify (GtkFormWidget *fwidget) { gchar *ret = NULL; diff --git a/src/widgettextview.h b/src/widgettextview.h index 9c27053..dcadf36 100644 --- a/src/widgettextview.h +++ b/src/widgettextview.h @@ -50,7 +50,7 @@ GType gtk_form_widget_textview_get_type (void) G_GNUC_CONST; GtkFormWidget *gtk_form_widget_textview_new (void); -const gchar *gtk_form_widget_textview_get_value_stringify (GtkFormWidget *widget); +gchar *gtk_form_widget_textview_get_value_stringify (GtkFormWidget *widget); gboolean gtk_form_widget_textview_set_value_stringify (GtkFormWidget *fwidget, const gchar *value); diff --git a/test/database.db b/test/database.db index 1d3b906331c3a2fa77bc42c00e68d6fe4bba6d21..8ba071fbb5132c66f70c0a71c55970715707c8ee 100644 GIT binary patch delta 174 zcmZn=Xb_kn%_y}|<|#8j^Hc_AW_bqY3(WG&smuYJ1zGr+IbE1I7*rV<8678|XO}bQ z;>_gCK6QNG3GHSAJKKshUroTjlJBg_aCRm_vuvP%E}CM6|; delta 143 zcmZn=Xb_kn%_zK4<|#8T0|Nsyb1EbAROVyMshb5^_?Ra)m}}*!GBPqBWv~HKjJn2U zsYNMz%p43Lo;5>yW@1iGzCuA}K|y{B0{T_Xbp0|P5C0ssJL9~%Gw diff --git a/test/from_xml_with_db.c b/test/from_xml_with_db.c index f191319..bfe95cd 100644 --- a/test/from_xml_with_db.c +++ b/test/from_xml_with_db.c @@ -72,6 +72,11 @@ on_btn_save_clicked (GtkButton *button, { gchar *sql; + if (!gtk_form_check (form, TRUE, NULL, TRUE, w, FALSE)) + { + return; + } + if (current_id == 0) { /* must find new id */ diff --git a/test/test_db.gui b/test/test_db.gui index 216dc37..4765b94 100644 --- a/test/test_db.gui +++ b/test/test_db.gui @@ -12,6 +12,7 @@ True 3 + vertical True @@ -236,7 +237,7 @@ spread - gtk-new + gtk-new True True True @@ -253,7 +254,7 @@ - gtk-save + gtk-save True True True @@ -270,7 +271,7 @@ - gtk-delete + gtk-delete True True True @@ -304,7 +305,7 @@ - gtk-open + gtk-open True True True diff --git a/test/test_db.xml b/test/test_db.xml index 25f3e59..3b0db42 100644 --- a/test/test_db.xml +++ b/test/test_db.xml @@ -4,42 +4,42 @@ customers
- + t - + TRUE - + - + 0 3 - + - + It is... - + %d/%m/%Y -- 2.50.0