From: Andrea Zagli Date: Tue, 13 Dec 2016 08:02:29 +0000 (+0100) Subject: Migrazione a libzakform di ufficio allegato. X-Git-Url: https://saetta.ns0.it/gitweb?a=commitdiff_plain;h=18bd4eee223e5d188bfc4ec72515f36ce14e2d54;p=solipa%2Forganigramma Migrazione a libzakform di ufficio allegato. --- diff --git a/data/organigramma/form/ufficio_allegato.form b/data/organigramma/form/ufficio_allegato.form index 63e8b7e..0dfd5c6 100644 --- a/data/organigramma/form/ufficio_allegato.form +++ b/data/organigramma/form/ufficio_allegato.form @@ -1,38 +1,42 @@ - - - ufficio_allegati
- - - - t - t - - - - - - - - - - t - - - - - - - - - - date - %d/%m/%Y - - - - - - - -
+ + + id + integer + + TRUE + label193 + + + id_uffici + integer + label199 + + + titolo + string + + entry56 + + + + descrizione + string + + entry54 + + + data_documento + datetime + + entry55 + %d/%m/%Y + %d/%m/%Y + + + note + string + + textview21 + + diff --git a/src/ufficioallegato.c b/src/ufficioallegato.c index c4efa88..0343f4f 100644 --- a/src/ufficioallegato.c +++ b/src/ufficioallegato.c @@ -21,7 +21,9 @@ #include #include -#include +#include +#include +#include #include "ufficioallegato.h" @@ -66,7 +68,8 @@ struct _OrganigrammaUfficioAllegatoPrivate { OrganigrammaCommons *commons; - GtkForm *form; + ZakFormGtkForm *form; + ZakFormGdaexProvider *form_provider; GtkWidget *w; SolipaAllegato *sallegato; @@ -140,15 +143,15 @@ OrganigrammaUfficioAllegato return NULL; } - priv->form = gtk_form_new (); - g_object_set (priv->form, "gdaex", priv->commons->gdaex, NULL); - gtk_form_load_from_file (priv->form, g_build_filename (priv->commons->formdir, "ufficio_allegato.form", NULL), priv->commons->gtkbuilder); + priv->form = zak_form_gtk_form_new (); + zak_form_gtk_form_set_gtkbuilder (priv->form, priv->commons->gtkbuilder); + zak_form_form_load_from_file (ZAK_FORM_FORM (priv->form), g_build_filename (priv->commons->formdir, "ufficio_allegato.form", NULL)); - g_object_set (priv->form, "gdaex", priv->commons->gdaex, NULL); + priv->form_provider = zak_form_gdaex_provider_new (priv->commons->gdaex, "ufficio_allegati"); priv->w = GTK_WIDGET (gtk_builder_get_object (priv->commons->gtkbuilder, "w_ufficio_allegato")); - priv->objects = gtk_form_get_objects_by_name (priv->form, + priv->objects = zak_form_gtk_form_get_gobjects_by_name (priv->form, "label193", "label199", NULL); @@ -156,7 +159,7 @@ OrganigrammaUfficioAllegato priv->sallegato = solipa_allegato_new (commons->solipa); if (priv->sallegato != NULL) { - solipa_allegato_add_to_gtkform (priv->sallegato, priv->form, + solipa_allegato_add_to_zakformgtk (priv->sallegato, priv->form, "percorso", "data_file", "dimensione_file"); solipa_allegato_con_salva_in_db (priv->sallegato, FALSE); gtk_container_add (GTK_CONTAINER (gtk_builder_get_object (priv->commons->gtkbuilder, "alignment2")), @@ -173,7 +176,7 @@ OrganigrammaUfficioAllegato g_signal_connect (gtk_builder_get_object (priv->commons->gtkbuilder, "button197"), "clicked", G_CALLBACK (organigramma_ufficio_allegato_on_btn_salvachiudi_clicked), (gpointer)a); - gtk_form_clear (priv->form); + zak_form_form_clear (ZAK_FORM_FORM (priv->form)); priv->id = id; if (priv->id == 0) @@ -186,7 +189,7 @@ OrganigrammaUfficioAllegato solipa_allegato_set_salva_in_db (priv->sallegato, TRUE); } - gtk_form_set_as_origin (priv->form); + zak_form_form_set_as_original (ZAK_FORM_FORM (priv->form)); } else { @@ -223,7 +226,7 @@ organigramma_ufficio_allegato_carica (OrganigrammaUfficioAllegato *organigramma_ { OrganigrammaUfficioAllegatoPrivate *priv = ORGANIGRAMMA_UFFICIO_ALLEGATO_GET_PRIVATE (organigramma_ufficio_allegato); - if (gtk_form_fill_from_table (priv->form)) + if (zak_form_form_load (ZAK_FORM_FORM (priv->form), ZAK_FORM_IPROVIDER (priv->form_provider))) { solipa_allegato_set_salva_in_db (priv->sallegato, TRUE); } @@ -232,34 +235,46 @@ organigramma_ufficio_allegato_carica (OrganigrammaUfficioAllegato *organigramma_ static void organigramma_ufficio_allegato_salva (OrganigrammaUfficioAllegato *organigramma_ufficio_allegato, gboolean chiudi) { + gboolean success; + gchar *sql; - GtkWidget *dialog; OrganigrammaUfficioAllegatoClass *klass = ORGANIGRAMMA_UFFICIO_ALLEGATO_GET_CLASS (organigramma_ufficio_allegato); OrganigrammaUfficioAllegatoPrivate *priv = ORGANIGRAMMA_UFFICIO_ALLEGATO_GET_PRIVATE (organigramma_ufficio_allegato); - if (!gtk_form_check (priv->form, (priv->id != 0), NULL, TRUE, priv->w, TRUE)) + if (!zak_form_gtk_form_is_valid (priv->form, priv->w)) { return; } + success = FALSE; + if (priv->id == 0) { - sql = gtk_form_get_sql (priv->form, GTK_FORM_SQL_INSERT); + guint new_id; + + new_id = gdaex_get_new_id (priv->commons->gdaex, + "ufficio_allegati", + "id", + NULL); + + gtk_label_set_text (GTK_LABEL (priv->objects[LBL_ID]), g_strdup_printf ("%d", new_id)); + + success = zak_form_form_insert (ZAK_FORM_FORM (priv->form), ZAK_FORM_IPROVIDER (priv->form_provider)); } else { - sql = gtk_form_get_sql (priv->form, GTK_FORM_SQL_UPDATE); + success = zak_form_form_update (ZAK_FORM_FORM (priv->form), ZAK_FORM_IPROVIDER (priv->form_provider)); } - if (gdaex_execute (priv->commons->gdaex, sql) == 1) + if (success) { g_free (sql); g_signal_emit (organigramma_ufficio_allegato, klass->aggiornato_signal_id, 0); - gtk_form_set_as_origin (priv->form); + zak_form_form_set_as_original (ZAK_FORM_FORM (priv->form)); if (priv->id == 0) { @@ -347,8 +362,6 @@ organigramma_ufficio_allegato_salva (OrganigrammaUfficioAllegato *organigramma_u } else { - g_free (sql); - if (priv->id == 0) { gtk_label_set_text (GTK_LABEL (priv->objects[LBL_ID]), ""); @@ -397,7 +410,7 @@ organigramma_ufficio_allegato_conferma_chiusura (OrganigrammaUfficioAllegato *or OrganigrammaUfficioAllegatoPrivate *priv = ORGANIGRAMMA_UFFICIO_ALLEGATO_GET_PRIVATE (organigramma_ufficio_allegato); ret = TRUE; - if (gtk_form_is_changed (priv->form)) + if (zak_form_form_is_changed (ZAK_FORM_FORM (priv->form))) { if (solipa_message_dialog (priv->w, GTK_MESSAGE_QUESTION,