]> saetta.ns0.it Git - solipa/territorio/commitdiff
Implementato il pulsante open in TerritorioWidget.
authorAndrea Zagli <azagli@libero.it>
Sun, 19 Jun 2011 10:31:58 +0000 (12:31 +0200)
committerAndrea Zagli <azagli@libero.it>
Sun, 19 Jun 2011 10:31:58 +0000 (12:31 +0200)
src/widget.c

index baeaf6241e239b0cc26bccba65fe3664dfc3ac01..4a692caa3e5c14d9d019f572e98eeb037769362e 100644 (file)
@@ -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