Removed some memory leaks.
Some bugfixes.
Some new string localized.
</FUNCTION>
<FUNCTION>
<NAME>gtk_form_widget_spin_get_value_stringify</NAME>
-<RETURNS>const gchar *</RETURNS>
+<RETURNS>gchar *</RETURNS>
GtkFormWidget *widget
</FUNCTION>
<FUNCTION>
</FUNCTION>
<FUNCTION>
<NAME>gtk_form_widget_check_get_value_stringify</NAME>
-<RETURNS>const gchar *</RETURNS>
+<RETURNS>gchar *</RETURNS>
GtkFormWidget *widget
</FUNCTION>
<FUNCTION>
</FUNCTION>
<FUNCTION>
<NAME>gtk_form_field_boolean_get_value_stringify</NAME>
-<RETURNS>const gchar *</RETURNS>
+<RETURNS>gchar *</RETURNS>
GtkFormField *field
</FUNCTION>
<FUNCTION>
<NAME>gtk_form_field_boolean_get_value</NAME>
-<RETURNS>const GValue *</RETURNS>
+<RETURNS>GValue *</RETURNS>
GtkFormField *field
</FUNCTION>
<FUNCTION>
<NAME>gtk_form_field_boolean_get_value_sql</NAME>
-<RETURNS>const gchar *</RETURNS>
+<RETURNS>gchar *</RETURNS>
GtkFormField *field
</FUNCTION>
<FUNCTION>
{
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);
</FUNCTION>
<FUNCTION>
<NAME>gtk_form_widget_get_widget_name</NAME>
-<RETURNS>const gchar *</RETURNS>
+<RETURNS>gchar *</RETURNS>
GtkFormWidget *fwidget
</FUNCTION>
<FUNCTION>
</FUNCTION>
<FUNCTION>
<NAME>gtk_form_widget_get_value_stringify</NAME>
-<RETURNS>const gchar *</RETURNS>
+<RETURNS>gchar *</RETURNS>
GtkFormWidget *fwidget
</FUNCTION>
<FUNCTION>
</FUNCTION>
<FUNCTION>
<NAME>gtk_form_field_text_get_value_stringify</NAME>
-<RETURNS>const gchar *</RETURNS>
+<RETURNS>gchar *</RETURNS>
GtkFormField *field
</FUNCTION>
<FUNCTION>
<NAME>gtk_form_field_text_get_value</NAME>
-<RETURNS>const GValue *</RETURNS>
+<RETURNS>GValue *</RETURNS>
GtkFormField *field
</FUNCTION>
<FUNCTION>
<NAME>gtk_form_field_text_get_value_sql</NAME>
-<RETURNS>const gchar *</RETURNS>
+<RETURNS>gchar *</RETURNS>
GtkFormField *field
</FUNCTION>
<FUNCTION>
</FUNCTION>
<FUNCTION>
<NAME>gtk_form_field_datetime_get_value_stringify</NAME>
-<RETURNS>const gchar *</RETURNS>
+<RETURNS>gchar *</RETURNS>
GtkFormField *field
</FUNCTION>
<FUNCTION>
<NAME>gtk_form_field_datetime_get_value</NAME>
-<RETURNS>const GValue *</RETURNS>
+<RETURNS>GValue *</RETURNS>
GtkFormField *field
</FUNCTION>
<FUNCTION>
<NAME>gtk_form_field_datetime_get_value_sql</NAME>
-<RETURNS>const gchar *</RETURNS>
+<RETURNS>gchar *</RETURNS>
GtkFormField *field
</FUNCTION>
<FUNCTION>
</FUNCTION>
<FUNCTION>
<NAME>gtk_form_widget_label_get_value_stringify</NAME>
-<RETURNS>const gchar *</RETURNS>
+<RETURNS>gchar *</RETURNS>
GtkFormWidget *widget
</FUNCTION>
<FUNCTION>
</FUNCTION>
<FUNCTION>
<NAME>gtk_form_field_float_get_value_stringify</NAME>
-<RETURNS>const gchar *</RETURNS>
+<RETURNS>gchar *</RETURNS>
GtkFormField *field
</FUNCTION>
<FUNCTION>
<NAME>gtk_form_field_float_get_value</NAME>
-<RETURNS>const GValue *</RETURNS>
+<RETURNS>GValue *</RETURNS>
GtkFormField *field
</FUNCTION>
<FUNCTION>
<NAME>gtk_form_field_float_get_value_sql</NAME>
-<RETURNS>const gchar *</RETURNS>
+<RETURNS>gchar *</RETURNS>
GtkFormField *field
</FUNCTION>
<FUNCTION>
</FUNCTION>
<FUNCTION>
<NAME>gtk_form_widget_textview_get_value_stringify</NAME>
-<RETURNS>const gchar *</RETURNS>
+<RETURNS>gchar *</RETURNS>
GtkFormWidget *widget
</FUNCTION>
<FUNCTION>
{
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);
</FUNCTION>
<FUNCTION>
<NAME>gtk_form_field_get_field_name</NAME>
-<RETURNS>const gchar *</RETURNS>
+<RETURNS>gchar *</RETURNS>
GtkFormField *field
</FUNCTION>
<FUNCTION>
</FUNCTION>
<FUNCTION>
<NAME>gtk_form_field_get_value_stringify</NAME>
-<RETURNS>const gchar *</RETURNS>
+<RETURNS>gchar *</RETURNS>
GtkFormField *field
</FUNCTION>
<FUNCTION>
<NAME>gtk_form_field_get_value</NAME>
-<RETURNS>const GValue *</RETURNS>
+<RETURNS>GValue *</RETURNS>
GtkFormField *field
</FUNCTION>
<FUNCTION>
<NAME>gtk_form_field_get_value_sql</NAME>
-<RETURNS>const gchar *</RETURNS>
+<RETURNS>gchar *</RETURNS>
GtkFormField *field
</FUNCTION>
<FUNCTION>
</FUNCTION>
<FUNCTION>
<NAME>gtk_form_widget_combo_box_get_value_stringify</NAME>
-<RETURNS>const gchar *</RETURNS>
+<RETURNS>gchar *</RETURNS>
GtkFormWidget *widget
</FUNCTION>
<FUNCTION>
</FUNCTION>
<FUNCTION>
<NAME>gtk_form_widget_entry_get_value_stringify</NAME>
-<RETURNS>const gchar *</RETURNS>
+<RETURNS>gchar *</RETURNS>
GtkFormWidget *widget
</FUNCTION>
<FUNCTION>
</FUNCTION>
<FUNCTION>
<NAME>gtk_form_field_integer_get_value_stringify</NAME>
-<RETURNS>const gchar *</RETURNS>
+<RETURNS>gchar *</RETURNS>
GtkFormField *field
</FUNCTION>
<FUNCTION>
<NAME>gtk_form_field_integer_get_value</NAME>
-<RETURNS>const GValue *</RETURNS>
+<RETURNS>GValue *</RETURNS>
GtkFormField *field
</FUNCTION>
<FUNCTION>
<NAME>gtk_form_field_integer_get_value_sql</NAME>
-<RETURNS>const gchar *</RETURNS>
+<RETURNS>gchar *</RETURNS>
GtkFormField *field
</FUNCTION>
<FUNCTION>
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 <azagli@libero.it>\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 <azagli@libero.it>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language-Team: Italian <tp@lists.linux.it>\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."
*
* 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);
}
/**
* @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)
{
* @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)
{
* @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)
{
{
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);
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);
* @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,
* @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)
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;
}
/**
* @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);
bool_value = gtk_form_field_boolean_str_to_boolean (value);
ret = g_strconcat ("'", (bool_value ? "1" : "0"), "'", NULL);
+
+ g_free (value);
}
return ret;
{
gboolean ret = FALSE;
GtkFormFieldBooleanPrivate *priv;
- const gchar *value;
+ gchar *value;
g_return_val_if_fail (IS_GTK_FORM_FIELD_BOOLEAN (field), FALSE);
ret = (priv->original_value != gtk_form_field_boolean_str_to_boolean (value));
+ g_free (value);
+
return ret;
}
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));
value = gtk_form_field_boolean_get_value_stringify (field);
priv->original_value = gtk_form_field_boolean_str_to_boolean (value);
+
+ g_free (value);
}
/**
{
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);
priv->original_value = gtk_form_field_boolean_str_to_boolean (value);
+ g_free (field_name);
+ g_free (value);
+
return ret;
}
bool_value = TRUE;
}
+ g_free (str_value);
+
return bool_value;
}
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);
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#endif
+
#include <stdlib.h>
#include <string.h>
#include <time.h>
+#include <glib/gi18n-lib.h>
+
#include "widget.h"
#include "fielddatetime.h"
* @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,
*
* 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);
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;
}
/**
* @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;
if (value != NULL)
{
ret = gtk_form_field_datetime_set_value_stringify (field, value);
+
+ g_free (value);
}
}
else
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;
}
new_str = g_strstrip (g_strdup (str));
if (g_strcmp0 (new_str, "") == 0)
{
+ g_free (new_str);
return NULL;
}
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;
}
}
}
+ g_free (delimiters);
+ g_free (new_format);
+ g_free (new_str);
+
return ret;
}
{
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));
* 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)
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);
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;
* @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,
if (p == NULL)
{
- return (gchar *)string;
+ return g_strdup (string);
}
ret = g_strndup (string, p - string);
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);
* @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,
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);
}
}
* @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;
}
/**
* @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)
{
ret = g_strdup_printf ("%f", fval);
setlocale (LC_NUMERIC, cur);
+
+ g_free (value);
}
return ret;
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);
ret = FALSE;
}
+ g_free (value);
+
return ret;
}
{
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);
priv->original_value = g_strtod (value, NULL);
+ g_free (field_name);
+ g_free (value);
+
return ret;
}
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);
* @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,
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);
}
}
* @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);
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;
}
/**
* @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);
}
/**
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);
ret = FALSE;
}
+ g_free (value);
+
return ret;
}
{
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);
priv->original_value = strtol (value, NULL, 10);
+ g_free (field_name);
+ g_free (value);
+
return ret;
}
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);
* @field: a #GtkFormField object.
*
*/
-const gchar
+gchar
*gtk_form_field_text_get_value_stringify (GtkFormField *field)
{
- const gchar *ret = NULL;
+ gchar *ret;
GtkFormWidget *fw;
"form-widget", &fw,
NULL);
+ ret = g_strdup ("");
+
if (IS_GTK_FORM_WIDGET (fw))
{
ret = gtk_form_widget_get_value_stringify (fw);
* @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;
}
/**
* @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;
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;
}
ret = FALSE;
}
+ g_free (value);
+
return ret;
}
{
gboolean ret = FALSE;
GtkFormFieldTextPrivate *priv;
- const gchar *value;
+ gchar *value;
g_return_val_if_fail (IS_GTK_FORM_FIELD_TEXT (field), FALSE);
ret = (g_strcmp0 (priv->original_value, value) != 0);
+ g_free (value);
+
return ret;
}
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);
priv->original_value = g_strdup (strret);
+ g_free (field_name);
+ g_free (strret);
+
return ret;
}
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);
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);
}
}
}
else
{
- g_warning ("Label «%s» not found.", label);
+ g_warning (_("Label «%s» not found."), label);
}
}
}
}
else
{
- g_warning ("Field of type «%s» not found.", type);
+ g_warning (_("Field of type «%s» not found."), type);
}
}
}
else
{
- g_warning ("Widget of type «%s» not found.", type);
+ g_warning (_("Widget of type «%s» not found."), type);
}
}
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."));
}
}
* 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;
}
/**
*
* Returns: the #GtkFormKey associated to the form.
*/
-GtkFormKey *
-gtk_form_get_key (GtkForm *form)
+GtkFormKey
+*gtk_form_get_key (GtkForm *form)
{
GtkFormPrivate *priv;
}
else
{
- g_warning ("Object «%s» not found.", object_name);
+ g_warning (_("Object «%s» not found."), object_name);
}
}
}
else
{
- g_warning ("Object «%s» not found.", object_name);
+ g_warning (_("Object «%s» not found."), object_name);
}
}
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);
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);
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);
sql = g_strconcat (" WHERE ", g_strdup (sql + 5), NULL);
}
+ g_free (field_name);
+
return sql;
}
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#endif
+
+#include <glib/gi18n-lib.h>
+
#include <gtk/gtk.h>
#include "widget.h"
}
else
{
- g_warning ("Widget «%s» not found.", widget_name);
+ g_warning (_("Widget «%s» not found."), widget_name);
}
return ret;
* 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;
}
/**
* 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;
}
/**
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;
}
/**
{
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);
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);
* @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);
{
ret = g_strdup ("TRUE");
}
- else
- {
- ret = g_strdup ("FALSE");
- }
return ret;
}
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);
* @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;
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);
}
}
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);
* @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)));
}
/**
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);
* @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)));
}
/**
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);
* @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);
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);
* @widget: a #GtkFormWidget object.
*
*/
-const gchar
+gchar
*gtk_form_widget_textview_get_value_stringify (GtkFormWidget *fwidget)
{
gchar *ret = NULL;
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);
{
gchar *sql;
+ if (!gtk_form_check (form, TRUE, NULL, TRUE, w, FALSE))
+ {
+ return;
+ }
+
if (current_id == 0)
{
/* must find new id */
<object class="GtkVBox" id="vbox1">
<property name="visible">True</property>
<property name="border_width">3</property>
+ <property name="orientation">vertical</property>
<child>
<object class="GtkTable" id="table1">
<property name="visible">True</property>
<property name="layout_style">spread</property>
<child>
<object class="GtkButton" id="btn_new">
- <property name="label" translatable="yes">gtk-new</property>
+ <property name="label">gtk-new</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
</child>
<child>
<object class="GtkButton" id="btn_save">
- <property name="label" translatable="yes">gtk-save</property>
+ <property name="label">gtk-save</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
</child>
<child>
<object class="GtkButton" id="btn_delete">
- <property name="label" translatable="yes">gtk-delete</property>
+ <property name="label">gtk-delete</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
</child>
<child>
<object class="GtkButton" id="btn_open">
- <property name="label" translatable="yes">gtk-open</property>
+ <property name="label">gtk-open</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<table>customers</table>
- <widget type="label" name="lbl_id">
+ <widget type="label" name="lbl_id" label="label1">
<field type="integer" name="id">
<is-key>t</is-key>
</field>
</widget>
- <widget type="entry" name="txt_name">
+ <widget type="entry" name="txt_name" label="label2">
<field type="text" name="name">
<obligatory>TRUE</obligatory>
</field>
</widget>
- <widget type="spin" name="spn_age">
+ <widget type="spin" name="spn_age" label="label4">
<field type="integer" name="age">
</field>
</widget>
- <widget type="combobox" name="cb_nation">
+ <widget type="combobox" name="cb_nation" label="label6">
<column-field>0</column-field>
<field type="integer" name="nation">
<default>3</default>
</field>
</widget>
- <widget type="checkbox" name="chk_married">
+ <widget type="checkbox" name="chk_married" label="label9">
<field type="boolean" name="married">
</field>
</widget>
- <widget type="textview" name="txtv_description">
+ <widget type="textview" name="txtv_description" label="label10">
<field type="text" name="description">
<default>It is...</default>
</field>
</widget>
- <widget type="entry" name="txt_birthday">
+ <widget type="entry" name="txt_birthday" label="label11">
<field type="datetime" name="birthday">
<display-format>%d/%m/%Y</display-format>
</field>