From: Andrea Zagli Date: Sun, 13 Nov 2016 09:08:00 +0000 (+0100) Subject: Migrato l'elenco tipi prestazione a GdeExGrid (refs #833). X-Git-Url: https://saetta.ns0.it/gitweb?a=commitdiff_plain;h=3ab55e086b467ff8c7a17c74fa0edb64a1807ce9;p=solipa%2Forganigramma Migrato l'elenco tipi prestazione a GdeExGrid (refs #833). --- diff --git a/data/organigramma/gui/organigramma.gui b/data/organigramma/gui/organigramma.gui index 9a6df94..68457da 100644 --- a/data/organigramma/gui/organigramma.gui +++ b/data/organigramma/gui/organigramma.gui @@ -2017,228 +2017,122 @@ - + False - Profili professionali - Gestione organigramma + Incarico - Gestione organigramma True center-on-parent - 500 - 400 True - + True False 5 vertical 5 - - True - False - <b>Profili professionali</b> - True - - - False - True - 0 - - - - - True - True - etched-in - - - True - True - lstore_profili_professionali - False - 0 - - - - - - Nome - - - - 1 - - - - - - - - - True - True - 1 - - - - + True False - 5 - end + 5 + 5 - - gtk-new + True - True - True - True + False + start + Matricola - False - False - 0 + 0 + 0 - - gtk-edit + True True - True - True + True + 20 + ● + False + False - False - False - 1 + 1 + 0 - - gtk-delete + True True - True - True + True + True + etched-in + + + True + True + + - False - False - 2 + 1 + 8 - - gtk-cancel + True True - True - True + True + 10 + ● + False + False - False - False - 3 + 1 + 5 - - gtk-ok + True True - True - True + True + 10 + ● + False + False - False - False - 4 + 1 + 6 - - - False - True - 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - False - Struttura - Gestione organigramma - True - center-on-parent - 450 - True - - - True - False - 5 - vertical - 5 - - - True - False - 5 - 5 - - True + False - start - Nome + lbl_id_persone - 0 - 1 + 1 + 9 - + True - True + False True - 100 - ● - False - False + + + + 1 + + 1 @@ -2246,17 +2140,15 @@ - + True - True + False True - True - etched-in - - True - True - + + + 1 + @@ -2265,333 +2157,558 @@ - + True False - start True - lbl_id + + + + 1 + + 1 - 0 + 3 - + True - True - False - 20 - ● - False - False + False + True + lstore_profili_professionali + + + + 1 + + 1 - 3 + 4 - + True True True - 10 - ● - False - False + True + etched-in + + + True + True + + 1 + 7 + + + + + True + False + start + Tipo rapporto di lavoro + + + 0 + 1 + + + + + True + False + start + Posizione economica + + + 0 + 2 + + + + + True + False + start + Tipo prestazione + + + 0 + 3 + + + + + True + False + start + Profilo professionale + + + 0 4 - + + True + False + start + Da data + + + 0 + 5 + + + + + True + False + start + A data + + + 0 + 6 + + + + + True + False + start + start + Descrizione + + + 0 + 7 + + + + + True + False + start + start + Note + + + 0 + 8 + + + + + False + lbl_id + + + 0 + 9 + + + + + True + True + 0 + + + + + True + False + 5 + end + + + gtk-cancel + True + True + True + True + + + False + False + 0 + + + + + gtk-save + True + True + True + True + + + False + False + 1 + + + + + Salva e _chiudi + True + True + True + True + + + False + False + 2 + + + + + False + True + 1 + + + + + + + False + Profili professionali - Gestione organigramma + True + center-on-parent + 500 + 400 + True + + + True + False + 5 + vertical + 5 + + + True + False + <b>Profili professionali</b> + True + + + False + True + 0 + + + + + True + True + etched-in + + True True + lstore_profili_professionali + False + 0 + + + - - True - False - 5 - 5 + + Nome - - True - True - etched-in - - - True - True - lstore_struttura_indirizzi - False - 0 - - - - - - Indirizzo - - - - 1 - - - - - - - - - True - True - 0 - - - - - True - False - vertical - 5 - start - - - gtk-new - True - True - True - True - - - False - False - 0 - - - - - gtk-edit - True - True - True - True - - - False - False - 1 - - - - - gtk-delete - True - True - True - True - - - False - False - 2 - - - - - False - True - 1 - + + + 1 + - - - True - False - Indirizzi - - - False - - + + + + + True + True + 1 + + + + + True + False + 5 + end + + + gtk-new + True + True + True + True + + + False + False + 0 + + + + + gtk-edit + True + True + True + True + + + False + False + 1 + + + + + gtk-delete + True + True + True + True + + + False + False + 2 + + + + + gtk-cancel + True + True + True + True + + + False + False + 3 + + + + + gtk-ok + True + True + True + True + + + False + False + 4 + + + + + False + True + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + False + Struttura - Gestione organigramma + True + center-on-parent + 450 + True + + + True + False + 5 + vertical + 5 + + + True + False + 5 + 5 + + + True + False + start + Nome + + + 0 + 1 + + + + + True + True + True + 100 + ● + False + False + + + 1 + 1 + + + + + True + True + True + True + etched-in - - True - False - 5 - 5 - - - True - True - etched-in - - - True - True - lstore_struttura_collegamenti - False - True - 0 - - - - - - Descrizione - - - - 1 - - - - - - - - - True - True - 0 - - - - - True - False - vertical - 5 - start - - - gtk-new - True - True - True - True - - - False - False - 0 - - - - - gtk-edit - True - True - True - True - - - False - False - 1 - - - - - gtk-delete - True - True - True - True - - - False - False - 2 - - - - - gtk-open - True - True - True - True - - - False - False - 3 - - - - - False - True - 1 - - - - - 1 - - - - + True - False - Collegamenti + True - - 1 - False - + + + 1 + 2 + + + + + True + False + start + True + lbl_id + + + 1 + 0 + + + + + True + True + False + 20 + ● + False + False + + + 1 + 3 + + + + + True + True + True + 10 + ● + False + False + + + 1 + 4 + + + + + True + True - + True False 5 5 - + True True etched-in - + True True - lstore_struttura_allegati + lstore_struttura_indirizzi False - True 0 - - Titolo + + Indirizzo - + 1 - - - Descrizione - - - - 2 - - - - @@ -2602,14 +2719,14 @@ - + True False vertical 5 start - + gtk-new True True @@ -2623,7 +2740,7 @@ - + gtk-edit True True @@ -2637,7 +2754,7 @@ - + gtk-delete True True @@ -2650,20 +2767,6 @@ 2 - - - gtk-open - True - True - True - True - - - False - False - 3 - - False @@ -2672,361 +2775,330 @@ - - 2 - - - - - True - False - Allegati - - - 2 - False - - - - - True - False - 5 - - - - - - 3 - - + True False - Immagine + Indirizzi - 3 False - - - 0 - 5 - 2 - - - - - True - False - start - start - Descrizione - - - 0 - 2 - - - - - True - False - start - ID - - - 0 - 0 - - - - - True - False - start - Prefisso centralino - - - 0 - 3 - - - - - True - False - start - Interno centralino - - - 0 - 4 - - - - - True - True - 0 - - - - - True - False - 5 - end - - - gtk-cancel - True - True - True - True - - - False - False - 0 - - - - - gtk-save - True - True - True - True - - - False - False - 1 - - - - - Salva e _chiudi - True - True - True - True - - - False - False - 2 - - - - - False - True - 1 - - - - - - - - - - - - - - - False - Gestione organigramma - True - center-on-parent - True - - - True - False - 5 - vertical - 5 - - - True - False - 5 - 5 - - - True - False - start - Tipo - - - 0 - 2 - - - - - True - False - True - lstore_tipi_nodo - - - - 1 - - - - - 1 - 2 - - - - - True - False - start - Nome - - - 0 - 3 - - - - - True - True - True - 200 - ● - False - False - - - 1 - 3 - - - - - True - False - start - start - Descrizione - - - 0 - 4 - - - - - True - True - True - True - etched-in - + True - True + False + 5 + 5 + + + True + True + etched-in + + + True + True + lstore_struttura_collegamenti + False + True + 0 + + + + + + Descrizione + + + + 1 + + + + + + + + + True + True + 0 + + + + + True + False + vertical + 5 + start + + + gtk-new + True + True + True + True + + + False + False + 0 + + + + + gtk-edit + True + True + True + True + + + False + False + 1 + + + + + gtk-delete + True + True + True + True + + + False + False + 2 + + + + + gtk-open + True + True + True + True + + + False + False + 3 + + + + + False + True + 1 + + + + + 1 + + + + + True + False + Collegamenti + + + 1 + False + + + + + True + False + 5 + 5 + + + True + True + etched-in + + + True + True + lstore_struttura_allegati + False + True + 0 + + + + + + Titolo + + + + 1 + + + + + + + Descrizione + + + + 2 + + + + + + + + + True + True + 0 + + + + + True + False + vertical + 5 + start + + + gtk-new + True + True + True + True + + + False + False + 0 + + + + + gtk-edit + True + True + True + True + + + False + False + 1 + + + + + gtk-delete + True + True + True + True + + + False + False + 2 + + + + + gtk-open + True + True + True + True + + + False + False + 3 + + + + + False + True + 1 + + + + 2 + - - - 1 - 4 - - - - - True - False - start - Nodo superiore - - - 0 - 1 - - - - - True - False - True - 5 - - + + True - True - True - False - ● - gtk-clear - False + False + Allegati - True - True - 0 + 2 + False - - ... + True - True - True + False + 5 + + + - False - True - 1 + 3 - - + + + True False - lbl_id_nodi + Immagine - False - True - 2 + 3 + False - 1 - 1 + 0 + 5 + 2 - + True False start - True - lbl_id + start + Descrizione - 1 - 0 + 0 + 2 - + True False start @@ -3037,143 +3109,46 @@ 0 - - - True - True - 0 - - - - - True - False - 5 - end - - - gtk-cancel - True - True - True - True - - - False - False - 0 - - - - - gtk-save - True - True - True - True - - - False - False - 1 - - - - Salva e _chiudi + True - True - True - True + False + start + Prefisso centralino - False - False - 2 - - - - - False - True - 1 - - - - - - - False - Tipi nodo - Gestione organigramma - True - center-on-parent - 500 - 400 - True - - - True - False - 5 - vertical - 5 - - - True - False - <b>Tipi nodo</b> - True - - - False - True - 0 - - - - - True - True - etched-in - - - True - True - lstore_tipi_nodo - False - 0 - - - - - - Nome - - - - 1 - - - - + 0 + 3 + + + + + True + False + start + Interno centralino + + 0 + 4 + True True - 1 + 0 - + True False 5 end - - gtk-new + + gtk-cancel True True True @@ -3186,8 +3161,8 @@ - - gtk-edit + + gtk-save True True True @@ -3200,12 +3175,12 @@ - - gtk-delete + + Salva e _chiudi True True True - True + True False @@ -3213,45 +3188,17 @@ 2 - - - gtk-cancel - True - True - True - True - - - False - False - 3 - - - - - gtk-ok - True - True - True - True - - - False - False - 4 - - False True - 2 + 1 - + @@ -3259,118 +3206,45 @@ - + False - Incarico - Gestione organigramma + Gestione organigramma True center-on-parent True - + True False 5 vertical 5 - + True False 5 5 - + True False start - Matricola + Tipo 0 - 0 - - - - - True - True - True - 20 - ● - False - False - - - 1 - 0 - - - - - True - True - True - True - etched-in - - - True - True - - - - - 1 - 8 - - - - - True - True - True - 10 - ● - False - False - - - 1 - 5 - - - - - True - True - True - 10 - ● - False - False - - - 1 - 6 - - - - - False - lbl_id_persone - - - 1 - 9 + 2 - + True False True + lstore_tipi_nodo - + 1 @@ -3378,38 +3252,30 @@ 1 - 1 + 2 - + True False - True - - - - 1 - - + start + Nome - 1 - 2 + 0 + 3 - + True - False + True True - lstore_tipi_prestazione - - - - 1 - - + 200 + ● + False + False 1 @@ -3417,148 +3283,124 @@ - + True False - True - lstore_profili_professionali - - - - 1 - - + start + start + Descrizione - 1 + 0 4 - + True True True True etched-in - - - True - True - - - - - 1 - 7 - - - - - True - False - start - Tipo rapporto di lavoro - - - 0 - 1 - - - - - True - False - start - Posizione economica - - - 0 - 2 - - - - - True - False - start - Tipo prestazione - - - 0 - 3 - - - - - True - False - start - Profilo professionale + + + True + True + + - 0 + 1 4 - + True False start - Da data + Nodo superiore 0 - 5 + 1 - + True False - start - A data + True + 5 + + + True + True + True + False + ● + gtk-clear + False + + + True + True + 0 + + + + + ... + True + True + True + + + False + True + 1 + + + + + False + lbl_id_nodi + + + False + True + 2 + + - 0 - 6 + 1 + 1 - + True False start - start - Descrizione + True + lbl_id - 0 - 7 + 1 + 0 - + True False start - start - Note - - - 0 - 8 - - - - - False - lbl_id + ID 0 - 9 + 0 @@ -3569,13 +3411,13 @@ - + True False 5 end - + gtk-cancel True True @@ -3589,7 +3431,7 @@ - + gtk-save True True @@ -3603,7 +3445,7 @@ - + Salva e _chiudi True True @@ -3626,26 +3468,26 @@ - + False - Tipi prestazione - Gestione organigramma + Tipi nodo - Gestione organigramma True center-on-parent 500 400 True - + True False 5 vertical 5 - + True False - <b>Tipi prestazione</b> + <b>Tipi nodo</b> True @@ -3655,25 +3497,25 @@ - + True True etched-in - + True True - lstore_tipi_prestazione + lstore_tipi_nodo False 0 - + Nome - + 1 @@ -3690,13 +3532,13 @@ - + True False 5 end - + gtk-new True True @@ -3710,7 +3552,7 @@ - + gtk-edit True True @@ -3724,7 +3566,7 @@ - + gtk-delete True True @@ -3738,7 +3580,7 @@ - + gtk-cancel True True @@ -3752,7 +3594,7 @@ - + gtk-ok True True @@ -8537,6 +8379,135 @@ + + False + Tipi prestazione - Gestione organigramma + True + center-on-parent + 500 + 400 + True + + + True + False + 5 + vertical + 5 + + + True + False + <b>Tipi prestazione</b> + True + + + False + True + 0 + + + + + True + True + etched-in + + + + + + True + True + 1 + + + + + True + False + 5 + end + + + gtk-new + True + True + True + True + + + False + False + 0 + + + + + gtk-edit + True + True + True + True + + + False + False + 1 + + + + + gtk-delete + True + True + True + True + + + False + False + 2 + + + + + gtk-cancel + True + True + True + True + + + False + False + 3 + + + + + gtk-ok + True + True + True + True + + + False + False + 4 + + + + + False + True + 2 + + + + + False Tipi rapporto di lavoro - Gestione organigramma diff --git a/src/tipiprestazione.c b/src/tipiprestazione.c index 32bcf3c..d72d754 100644 --- a/src/tipiprestazione.c +++ b/src/tipiprestazione.c @@ -17,6 +17,11 @@ * */ +#ifdef HAVE_CONFIG_H + #include +#endif + +#include #include #include @@ -74,8 +79,10 @@ struct _OrganigrammaTipiPrestazionePrivate OrganigrammaCommons *commons; GtkWidget *widget; + GdaExGrid *grid; + GtkWidget *wgrid; GtkTreeSelection *selection; - GtkListStore *lstore_tipi_prestazione; + GtkTreeStore *tstore_tipi_prestazione; gboolean selezione; }; @@ -127,6 +134,8 @@ OrganigrammaTipiPrestazione GError *error; ZakAuthoIResource *ires1; + GdaExGridColumn *gcol; + OrganigrammaTipiPrestazione *a = ORGANIGRAMMA_TIPI_PRESTAZIONE (g_object_new (organigramma_tipi_prestazione_get_type (), NULL)); OrganigrammaTipiPrestazionePrivate *priv = ORGANIGRAMMA_TIPI_PRESTAZIONE_GET_PRIVATE (a); @@ -136,9 +145,8 @@ OrganigrammaTipiPrestazione error = NULL; gtk_builder_add_objects_from_file (priv->commons->gtkbuilder, priv->commons->guifile, - g_strsplit (g_strconcat ("lstore_tipi_prestazione|", - (selezione ? "w_tipi_prestazione" : "vbx_tipi_prestazione"), - NULL), "|", -1), + g_strsplit ((selezione ? "w_tipi_prestazione" : "vbx_tipi_prestazione"), + "|", -1), &error); if (error != NULL) { @@ -147,8 +155,26 @@ OrganigrammaTipiPrestazione } priv->widget = GTK_WIDGET (gtk_builder_get_object (priv->commons->gtkbuilder, (selezione ? "w_tipi_prestazione" : "vbx_tipi_prestazione"))); - priv->selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (gtk_builder_get_object (priv->commons->gtkbuilder, "treeview21"))); - priv->lstore_tipi_prestazione = GTK_LIST_STORE (gtk_builder_get_object (priv->commons->gtkbuilder, "lstore_tipi_prestazione")); + + /* creo la gdaexgrid */ + priv->grid = gdaex_grid_new (); + gdaex_grid_set_solipa (priv->grid, priv->commons->solipa); + gdaex_grid_set_title (priv->grid, gtk_label_get_text (GTK_LABEL (gtk_builder_get_object (priv->commons->gtkbuilder, "label152")))); + + gcol = gdaex_grid_column_new ("ID", "id", G_TYPE_INT, TRUE, TRUE, TRUE, FALSE, -1); + gdaex_grid_add_column (priv->grid, gcol); + + gcol = gdaex_grid_column_new_defaults ("Nome", "nome", G_TYPE_STRING); + gdaex_grid_add_column (priv->grid, gcol); + + priv->wgrid = gdaex_grid_get_widget (priv->grid); + + gtk_tree_view_set_search_column (GTK_TREE_VIEW (priv->wgrid), 1); + gtk_container_add (GTK_CONTAINER (gtk_builder_get_object (priv->commons->gtkbuilder, "scrolledwindow36")), priv->wgrid); + gtk_widget_show (priv->wgrid); + + priv->selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->wgrid)); + priv->tstore_tipi_prestazione = GTK_TREE_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (priv->wgrid))); g_signal_connect (gtk_builder_get_object (priv->commons->gtkbuilder, "button123"), "clicked", G_CALLBACK (organigramma_tipi_prestazione_on_btn_nuovo_clicked), (gpointer)a); @@ -156,7 +182,7 @@ OrganigrammaTipiPrestazione "clicked", G_CALLBACK (organigramma_tipi_prestazione_on_btn_modifica_clicked), (gpointer)a); g_signal_connect (gtk_builder_get_object (priv->commons->gtkbuilder, "button125"), "clicked", G_CALLBACK (organigramma_tipi_prestazione_on_btn_elimina_clicked), (gpointer)a); - g_signal_connect (gtk_builder_get_object (priv->commons->gtkbuilder, "treeview21"), + g_signal_connect (priv->wgrid, "row-activated", G_CALLBACK (organigramma_tipi_prestazione_on_trv_organigramma_tipi_prestazione_row_activated), (gpointer)a); if (priv->selezione) @@ -216,7 +242,7 @@ organigramma_tipi_prestazione_carica (OrganigrammaTipiPrestazione *tipi_prestazi OrganigrammaTipiPrestazionePrivate *priv = ORGANIGRAMMA_TIPI_PRESTAZIONE_GET_PRIVATE (tipi_prestazione); - gtk_list_store_clear (priv->lstore_tipi_prestazione); + gtk_tree_store_clear (priv->tstore_tipi_prestazione); sql_where = g_strdup (""); @@ -261,29 +287,16 @@ organigramma_tipi_prestazione_carica (OrganigrammaTipiPrestazione *tipi_prestazi "%s" " ORDER BY c.nome", sql_where); dm = gdaex_query (priv->commons->gdaex, sql); + gdaex_fill_treemodel_from_sql (priv->commons->gdaex, GTK_TREE_MODEL (priv->tstore_tipi_prestazione), sql, NULL, NULL); g_free (sql_where); g_free (sql); - if (dm != NULL) - { - rows = gda_data_model_get_n_rows (dm); - for (row = 0; row < rows; row++) - { - gtk_list_store_append (priv->lstore_tipi_prestazione, &iter); - gtk_list_store_set (priv->lstore_tipi_prestazione, &iter, - COL_ID, gdaex_data_model_get_field_value_stringify_at (dm, row, "id"), - COL_NOME, gdaex_data_model_get_field_value_stringify_at (dm, row, "nome"), - -1); - } - - g_object_unref (dm); - } } static void organigramma_tipi_prestazione_modifica (OrganigrammaTipiPrestazione *tipi_prestazione) { GtkTreeIter iter; - gchar *id; + guint id; OrganigrammaTipiPrestazionePrivate *priv = ORGANIGRAMMA_TIPI_PRESTAZIONE_GET_PRIVATE (tipi_prestazione); @@ -291,11 +304,11 @@ organigramma_tipi_prestazione_modifica (OrganigrammaTipiPrestazione *tipi_presta { GtkWidget *w; - gtk_tree_model_get (GTK_TREE_MODEL (priv->lstore_tipi_prestazione), &iter, + gtk_tree_model_get (GTK_TREE_MODEL (priv->tstore_tipi_prestazione), &iter, COL_ID, &id, -1); - OrganigrammaTipoPrestazione *c = organigramma_tipo_prestazione_new (priv->commons, strtol (id, NULL, 10)); + OrganigrammaTipoPrestazione *c = organigramma_tipo_prestazione_new (priv->commons, id); g_signal_connect (G_OBJECT (c), "aggiornato", G_CALLBACK (organigramma_tipi_prestazione_on_tipo_prestazione_aggiornato), (gpointer)tipi_prestazione); @@ -331,7 +344,7 @@ organigramma_tipi_prestazione_selezionato (OrganigrammaTipiPrestazione *tipi_pre if (gtk_tree_selection_get_selected (priv->selection, NULL, &iter)) { - gtk_tree_model_get (GTK_TREE_MODEL (priv->lstore_tipi_prestazione), &iter, + gtk_tree_model_get (GTK_TREE_MODEL (priv->tstore_tipi_prestazione), &iter, COL_ID, &id, -1); @@ -422,7 +435,7 @@ organigramma_tipi_prestazione_on_btn_elimina_clicked (GtkButton *button, gpointer user_data) { GtkTreeIter iter; - gchar *id; + guint id; OrganigrammaTipiPrestazione *tipi_prestazione = (OrganigrammaTipiPrestazione *)user_data; OrganigrammaTipiPrestazionePrivate *priv = ORGANIGRAMMA_TIPI_PRESTAZIONE_GET_PRIVATE (tipi_prestazione); @@ -434,12 +447,12 @@ organigramma_tipi_prestazione_on_btn_elimina_clicked (GtkButton *button, GTK_BUTTONS_YES_NO, "Sicuro di voler eliminare il tipo prestazione selezionato?") == GTK_RESPONSE_YES) { - gtk_tree_model_get (GTK_TREE_MODEL (priv->lstore_tipi_prestazione), &iter, + gtk_tree_model_get (GTK_TREE_MODEL (priv->tstore_tipi_prestazione), &iter, COL_ID, &id, -1); gdaex_execute (priv->commons->gdaex, - g_strdup_printf ("UPDATE tipi_prestazione SET status = 'E' WHERE id = %d", strtol (id, NULL, 10))); + g_strdup_printf ("UPDATE tipi_prestazione SET status = 'E' WHERE id = %d", id)); organigramma_tipi_prestazione_carica (tipi_prestazione); }