From: Andrea Zagli Date: Sun, 19 Jun 2011 10:31:58 +0000 (+0200) Subject: Implementato il pulsante open in TerritorioWidget. X-Git-Tag: gtk3~21 X-Git-Url: https://saetta.ns0.it/gitweb?a=commitdiff_plain;h=bd1fe9626dca78da73bad2c1be6b8266b1e32b8e;p=solipa%2Fterritorio Implementato il pulsante open in TerritorioWidget. --- diff --git a/src/widget.c b/src/widget.c index baeaf62..4a692ca 100644 --- a/src/widget.c +++ b/src/widget.c @@ -61,6 +61,12 @@ static void territorio_widget_get_property (GObject *object, static void territorio_widget_set_transient (TerritorioWidget *twidget); +static void territorio_widget_on_stato_aggiornato (gpointer instance, gpointer user_data); +static void territorio_widget_on_regione_aggiornato (gpointer instance, gpointer user_data); +static void territorio_widget_on_provincia_aggiornato (gpointer instance, gpointer user_data); +static void territorio_widget_on_comune_aggiornato (gpointer instance, gpointer user_data); +static void territorio_widget_on_via_aggiornato (gpointer instance, gpointer user_data); + static void territorio_widget_on_stato_selezionato (gpointer instance, guint id, gpointer user_data); static void territorio_widget_on_regione_selezionato (gpointer instance, guint id, gpointer user_data); static void territorio_widget_on_privincia_selezionato (gpointer instance, guint id, gpointer user_data); @@ -458,6 +464,36 @@ territorio_widget_set_transient (TerritorioWidget *twidget) } /* CALLBACK */ +static void +territorio_widget_on_stato_aggiornato (gpointer instance, gpointer user_data) +{ + +} + +static void +territorio_widget_on_regione_aggiornato (gpointer instance, gpointer user_data) +{ + +} + +static void +territorio_widget_on_provincia_aggiornato (gpointer instance, gpointer user_data) +{ + +} + +static void +territorio_widget_on_comune_aggiornato (gpointer instance, gpointer user_data) +{ + +} + +static void +territorio_widget_on_via_aggiornato (gpointer instance, gpointer user_data) +{ + +} + static void territorio_widget_on_stato_selezionato (gpointer instance, guint id, gpointer user_data) { @@ -507,12 +543,30 @@ static void territorio_widget_on_btn_stato_clean_clicked (GtkButton *button, gpointer user_data) { + } static void territorio_widget_on_btn_stato_open_clicked (GtkButton *button, gpointer user_data) { + GtkWidget *w; + guint id; + + TerritorioWidget *rf = (TerritorioWidget *)user_data; + TerritorioWidgetPrivate *priv = TERRITORIO_WIDGET_GET_PRIVATE (rf); + + id = strtol (gtk_form_decoder_get_key (GTK_FORM_DECODER (priv->dec_stato)), NULL, 10); + if (id == 0) return; + TerritorioStato *c = territorio_stato_new (priv->commons, id); + + g_signal_connect (G_OBJECT (c), "aggiornato", + G_CALLBACK (territorio_widget_on_stato_aggiornato), user_data); + + if (priv->transient == NULL) territorio_widget_set_transient (rf); + w = territorio_stato_get_widget (c); + gtk_window_set_transient_for (GTK_WINDOW (w), GTK_WINDOW (priv->transient)); + gtk_widget_show (w); } static void @@ -545,6 +599,23 @@ static void territorio_widget_on_btn_regione_open_clicked (GtkButton *button, gpointer user_data) { + GtkWidget *w; + guint id; + + TerritorioWidget *rf = (TerritorioWidget *)user_data; + TerritorioWidgetPrivate *priv = TERRITORIO_WIDGET_GET_PRIVATE (rf); + + id = strtol (gtk_form_decoder_get_key (GTK_FORM_DECODER (priv->dec_regione)), NULL, 10); + if (id == 0) return; + TerritorioRegione *c = territorio_regione_new (priv->commons, id); + + g_signal_connect (G_OBJECT (c), "aggiornato", + G_CALLBACK (territorio_widget_on_regione_aggiornato), user_data); + + if (priv->transient == NULL) territorio_widget_set_transient (rf); + w = territorio_regione_get_widget (c); + gtk_window_set_transient_for (GTK_WINDOW (w), GTK_WINDOW (priv->transient)); + gtk_widget_show (w); } static void @@ -577,6 +648,23 @@ static void territorio_widget_on_btn_provincia_open_clicked (GtkButton *button, gpointer user_data) { + GtkWidget *w; + guint id; + + TerritorioWidget *rf = (TerritorioWidget *)user_data; + TerritorioWidgetPrivate *priv = TERRITORIO_WIDGET_GET_PRIVATE (rf); + + id = strtol (gtk_form_decoder_get_key (GTK_FORM_DECODER (priv->dec_provincia)), NULL, 10); + if (id == 0) return; + TerritorioProvincia *c = territorio_provincia_new (priv->commons, id); + + g_signal_connect (G_OBJECT (c), "aggiornato", + G_CALLBACK (territorio_widget_on_provincia_aggiornato), user_data); + + if (priv->transient == NULL) territorio_widget_set_transient (rf); + w = territorio_provincia_get_widget (c); + gtk_window_set_transient_for (GTK_WINDOW (w), GTK_WINDOW (priv->transient)); + gtk_widget_show (w); } static void @@ -609,6 +697,23 @@ static void territorio_widget_on_btn_comune_open_clicked (GtkButton *button, gpointer user_data) { + GtkWidget *w; + guint id; + + TerritorioWidget *rf = (TerritorioWidget *)user_data; + TerritorioWidgetPrivate *priv = TERRITORIO_WIDGET_GET_PRIVATE (rf); + + id = strtol (gtk_form_decoder_get_key (GTK_FORM_DECODER (priv->dec_comune)), NULL, 10); + if (id == 0) return; + TerritorioComune *c = territorio_comune_new (priv->commons, id); + + g_signal_connect (G_OBJECT (c), "aggiornato", + G_CALLBACK (territorio_widget_on_comune_aggiornato), user_data); + + if (priv->transient == NULL) territorio_widget_set_transient (rf); + w = territorio_comune_get_widget (c); + gtk_window_set_transient_for (GTK_WINDOW (w), GTK_WINDOW (priv->transient)); + gtk_widget_show (w); } static void @@ -641,6 +746,23 @@ static void territorio_widget_on_btn_via_open_clicked (GtkButton *button, gpointer user_data) { + GtkWidget *w; + guint id; + + TerritorioWidget *rf = (TerritorioWidget *)user_data; + TerritorioWidgetPrivate *priv = TERRITORIO_WIDGET_GET_PRIVATE (rf); + + id = strtol (gtk_form_decoder_get_key (GTK_FORM_DECODER (priv->dec_via)), NULL, 10); + if (id == 0) return; + TerritorioVia *c = territorio_via_new (priv->commons, id); + + g_signal_connect (G_OBJECT (c), "aggiornato", + G_CALLBACK (territorio_widget_on_via_aggiornato), user_data); + + if (priv->transient == NULL) territorio_widget_set_transient (rf); + w = territorio_via_get_widget (c); + gtk_window_set_transient_for (GTK_WINDOW (w), GTK_WINDOW (priv->transient)); + gtk_widget_show (w); } static void