From: Andrea Zagli Date: Sun, 13 Nov 2016 10:14:50 +0000 (+0100) Subject: Tolta la combobox tipo rapporto lavoro in persona incarico (refs #645 #646). X-Git-Url: https://saetta.ns0.it/gitweb?a=commitdiff_plain;h=e94f4ea85e85a4abbcecc106c99f293fd1eb007b;p=solipa%2Forganigramma Tolta la combobox tipo rapporto lavoro in persona incarico (refs #645 #646). --- diff --git a/data/organigramma/form/persona_incarico.form b/data/organigramma/form/persona_incarico.form index 1036218..23abe28 100644 --- a/data/organigramma/form/persona_incarico.form +++ b/data/organigramma/form/persona_incarico.form @@ -20,11 +20,14 @@ - - 0 - - SELECT id, nome FROM tipi_rapporto_lavoro WHERE status <> 'E' ORDER BY nome - + + + + SELECT a.nome + FROM tipi_rapporto_lavoro AS a + WHERE a.id = ##key0::gint + + diff --git a/data/organigramma/gui/organigramma.gui b/data/organigramma/gui/organigramma.gui index 42c6a49..36d97d3 100644 --- a/data/organigramma/gui/organigramma.gui +++ b/data/organigramma/gui/organigramma.gui @@ -5077,23 +5077,6 @@ 9 - - - True - False - True - - - - 1 - - - - - 1 - 1 - - True @@ -5272,6 +5255,16 @@ 9 + + + True + False + + + 1 + 1 + + True diff --git a/src/personaincarico.c b/src/personaincarico.c index 3df78ee..d86db58 100644 --- a/src/personaincarico.c +++ b/src/personaincarico.c @@ -25,10 +25,12 @@ #include #include +#include #include #include "personaincarico.h" #include "nodi.h" +#include "tipirapportolavoro.h" static void organigramma_persona_incarico_class_init (OrganigrammaPersonaIncaricoClass *klass); static void organigramma_persona_incarico_init (OrganigrammaPersonaIncarico *organigramma_persona_incarico); @@ -51,6 +53,11 @@ static gboolean organigramma_persona_incarico_on_w_organigramma_persona_incarico GdkEvent *event, gpointer user_data); +static void organigramma_persona_incarico_on_tipo_rapporto_lavoro_selezionato (gpointer instance, guint id, gpointer user_data); + +static void organigramma_persona_incarico_on_btn_ricerca_tipo_rapporto_lavoro_clicked (GtkButton *button, + gpointer user_data); + static void organigramma_persona_incarico_on_btn_annulla_clicked (GtkButton *button, gpointer user_data); static void organigramma_persona_incarico_on_btn_salva_clicked (GtkButton *button, @@ -139,8 +146,7 @@ OrganigrammaPersonaIncarico gtk_builder_add_objects_from_file (priv->commons->gtkbuilder, priv->commons->guifile, g_strsplit ( - "lstore_tipi_rapporto_lavoro" - "|lstore_posizioni_economiche" + "lstore_posizioni_economiche" "|lstore_tipi_prestazione" "|lstore_profili_professionali" "|w_persona_incarico", "|", -1), @@ -165,6 +171,9 @@ OrganigrammaPersonaIncarico g_signal_connect (priv->w, "delete-event", G_CALLBACK (organigramma_persona_incarico_on_w_organigramma_persona_incarico_delete_event), (gpointer)a); + g_signal_connect (gtk_builder_get_object (priv->commons->gtkbuilder, "gtkformdecoder2"), + "btn-browse-clicked", G_CALLBACK (organigramma_persona_incarico_on_btn_ricerca_tipo_rapporto_lavoro_clicked), (gpointer)a); + g_signal_connect (G_OBJECT (gtk_builder_get_object (priv->commons->gtkbuilder, "button98")), "clicked", G_CALLBACK (organigramma_persona_incarico_on_btn_annulla_clicked), (gpointer)a); g_signal_connect (G_OBJECT (gtk_builder_get_object (priv->commons->gtkbuilder, "button99")), @@ -338,6 +347,36 @@ organigramma_persona_incarico_on_w_organigramma_persona_incarico_delete_event (G return !organigramma_persona_incarico_conferma_chiusura ((OrganigrammaPersonaIncarico *)user_data); } +static void +organigramma_persona_incarico_on_tipo_rapporto_lavoro_selezionato (gpointer instance, guint id, gpointer user_data) +{ + OrganigrammaPersonaIncarico *ia = (OrganigrammaPersonaIncarico *)user_data; + + OrganigrammaPersonaIncaricoPrivate *priv = ORGANIGRAMMA_PERSONA_INCARICO_GET_PRIVATE (ia); + + gtk_form_widget_set_value_stringify (gtk_form_get_form_widget_from_name (priv->form, "gtkformdecoder2"), + g_strdup_printf ("%d", id)); +} + +static void +organigramma_persona_incarico_on_btn_ricerca_tipo_rapporto_lavoro_clicked (GtkButton *button, + gpointer user_data) +{ + GtkWidget *w; + + OrganigrammaPersonaIncarico *ia = (OrganigrammaPersonaIncarico *)user_data; + OrganigrammaPersonaIncaricoPrivate *priv = ORGANIGRAMMA_PERSONA_INCARICO_GET_PRIVATE (ia); + + OrganigrammaTipiRapportoLavoro *c = organigramma_tipi_rapporto_lavoro_new (priv->commons, TRUE); + + g_signal_connect (G_OBJECT (c), "selezionato", + G_CALLBACK (organigramma_persona_incarico_on_tipo_rapporto_lavoro_selezionato), user_data); + + w = organigramma_tipi_rapporto_lavoro_get_widget (c); + gtk_window_set_transient_for (GTK_WINDOW (w), GTK_WINDOW (priv->w)); + gtk_widget_show (w); +} + static void organigramma_persona_incarico_on_btn_annulla_clicked (GtkButton *button, gpointer user_data)