From e3dbac8e791f47905c8c2535c6315fa3f8d9f3c3 Mon Sep 17 00:00:00 2001 From: Andrea Zagli Date: Sun, 30 Jan 2011 12:24:46 +0100 Subject: [PATCH] Aggiunta la funzione SolipaAllegato::add_to_gtkform. --- configure.ac | 1 + src/allegato.c | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++ src/allegato.h | 6 +++++ 3 files changed, 72 insertions(+) diff --git a/configure.ac b/configure.ac index efc2c4d..a6ee59b 100644 --- a/configure.ac +++ b/configure.ac @@ -30,6 +30,7 @@ AC_PROG_RANLIB PKG_CHECK_MODULES(SOLIPA, [gobject-2.0 >= 2.24.0 glib-2.0 >= 2.24.0 libgdaex >= 0.2.2 + libgtkform >= 0.1.4 camel-provider-1.2 >= 2.24 gtk+-2.0 >= 2.20 gio-2.0 >= 2.24]) diff --git a/src/allegato.c b/src/allegato.c index a99298f..5d1dc9a 100644 --- a/src/allegato.c +++ b/src/allegato.c @@ -22,6 +22,13 @@ #include +#include +#include +#include +#include +#include +#include + #include "allegato.h" static void solipa_allegato_class_init (SolipaAllegatoClass *class); @@ -322,6 +329,64 @@ solipa_allegato_salva_in_db (GdaConnection *gda_con, const gchar *sql, return TRUE; } +void solipa_allegato_add_to_gtkform (SolipaAllegato *solipa_allegato, GtkForm *form, + const gchar *percorso_field, + const gchar *data_field, + const gchar *dimensione_field) +{ + SolipaAllegatoPrivate *priv; + + GtkFormWidget *wentry; + GtkFormField *ftext; + GtkFormField *fdatetime; + GtkFormField *fint; + + g_return_if_fail (IS_SOLIPA_ALLEGATO (solipa_allegato)); + g_return_if_fail (IS_GTK_FORM (form)); + g_return_if_fail (percorso_field != NULL); + + priv = SOLIPA_ALLEGATO_GET_PRIVATE (solipa_allegato); + + wentry = gtk_form_widget_entry_new (); + gtk_form_widget_set_from_gtkbuilder (wentry, priv->gtkbuilder, "entry42"); + + ftext = gtk_form_field_text_new (); + g_object_set (ftext, + "field", percorso_field, + "obligatory", TRUE, + "form-widget", wentry, + NULL); + gtk_form_add_field (form, ftext); + + if (data_field != NULL) + { + wentry = gtk_form_widget_entry_new (); + gtk_form_widget_set_from_gtkbuilder (wentry, priv->gtkbuilder, "entry44"); + + fdatetime = gtk_form_field_datetime_new (); + g_object_set (fdatetime, + "field", data_field, + "form-widget", wentry, + "type", GTK_FORM_FIELD_DATETIME_TYPE_DATETIME, + "display-format", "%d/%m/%Y %H.%M.%S", + NULL); + gtk_form_add_field (form, fdatetime); + } + + if (dimensione_field != NULL) + { + wentry = gtk_form_widget_entry_new (); + gtk_form_widget_set_from_gtkbuilder (wentry, priv->gtkbuilder, "entry45"); + + fint = gtk_form_field_integer_new (); + g_object_set (fint, + "field", dimensione_field, + "form-widget", wentry, + NULL); + gtk_form_add_field (form, fint); + } +} + /* PRIVATE */ static void solipa_allegato_set_property (GObject *object, diff --git a/src/allegato.h b/src/allegato.h index 46a7621..5a37afa 100644 --- a/src/allegato.h +++ b/src/allegato.h @@ -23,6 +23,7 @@ #include #include +#include #include "solipa.h" @@ -64,6 +65,11 @@ const gchar *solipa_allegato_get_data (SolipaAllegato *solipa_allegato); guint solipa_allegato_get_dimensione (SolipaAllegato *solipa_allegato); gboolean solipa_allegato_get_salva_in_db (SolipaAllegato *solipa_allegato); +void solipa_allegato_add_to_gtkform (SolipaAllegato *solipa_allegato, GtkForm *form, + const gchar *percorso_field, + const gchar *data_field, + const gchar *dimensione_field); + void solipa_allegato_apri_allegato (GtkWindow *transient, const gchar *filename); gboolean solipa_allegato_salva_in_db (GdaConnection *gda_con, const gchar *sql, -- 2.49.0