X-Git-Url: http://pileus.org/git/?p=aweather;a=blobdiff_plain;f=src%2Fplugins%2Flevel2.c;h=2f595c9bd26f3ffbd7ebdd6b7189f8b9a3f409ef;hp=654465d935b14a1e7af8589f7a9a6f51e38e7e90;hb=276728b7cc42bad3ec38acfe375c3a30ae87e587;hpb=7198ee86fa745db59f2c37834b121c7990f91c99 diff --git a/src/plugins/level2.c b/src/plugins/level2.c index 654465d..2f595c9 100644 --- a/src/plugins/level2.c +++ b/src/plugins/level2.c @@ -17,13 +17,14 @@ #include #include -#include #include #include #include #include "level2.h" +#include "../compat.h" + #define ISO_MIN 30 #define ISO_MAX 80 @@ -324,7 +325,7 @@ void aweather_level2_set_iso(AWeatherLevel2 *level2, gfloat level) vol->disp = GRITS_VOLUME_SURFACE; GRITS_OBJECT(vol)->center = GRITS_OBJECT(level2)->center; grits_viewer_add(GRITS_OBJECT(level2)->viewer, - GRITS_OBJECT(vol), GRITS_LEVEL_WORLD+1, FALSE); + GRITS_OBJECT(vol), GRITS_LEVEL_WORLD+5, TRUE); level2->volume = vol; } if (ISO_MIN < level && level < ISO_MAX) { @@ -379,9 +380,9 @@ AWeatherLevel2 *aweather_level2_new_from_file(const gchar *file, const gchar *si /* Load the radar file */ RSL_read_these_sweeps("all", NULL); - g_message("read start"); + g_debug("AWeatherLevel2: rsl read start"); Radar *radar = RSL_wsr88d_to_radar(raw, (gchar*)site); - g_message("read done"); + g_debug("AWeatherLevel2: rsl read done"); g_free(raw); if (!radar) return NULL; @@ -393,8 +394,8 @@ static void _on_sweep_clicked(GtkRadioButton *button, gpointer _level2) { AWeatherLevel2 *level2 = _level2; if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button))) { - gint type = (gint)g_object_get_data(G_OBJECT(button), "type"); - gint elev = (gint)g_object_get_data(G_OBJECT(button), "elev"); + gint type = (glong)g_object_get_data(G_OBJECT(button), "type"); + gint elev = (glong)g_object_get_data(G_OBJECT(button), "elev"); aweather_level2_set_sweep(level2, type, (float)elev/100); //level2->colormap = level2->sweep_colors; } @@ -407,6 +408,11 @@ static void _on_iso_changed(GtkRange *range, gpointer _level2) aweather_level2_set_iso(level2, level); } +static gchar *_on_format_value(GtkScale *scale, gdouble value, gpointer _level2) +{ + return g_strdup_printf("%.1lf dBZ ", value); +} + GtkWidget *aweather_level2_get_config(AWeatherLevel2 *level2) { Radar *radar = level2->radar; @@ -420,7 +426,7 @@ GtkWidget *aweather_level2_get_config(AWeatherLevel2 *level2) /* Add date */ gchar *date_str = g_strdup_printf("%04d-%02d-%02d %02d:%02d", - radar->h.year, radar->h.month, radar->h.day+1, + radar->h.year, radar->h.month, radar->h.day, radar->h.hour, radar->h.minute); GtkWidget *date_label = gtk_label_new(date_str); gtk_label_set_use_markup(GTK_LABEL(date_label), TRUE); @@ -460,7 +466,8 @@ GtkWidget *aweather_level2_get_config(AWeatherLevel2 *level2) cols-1,cols, 0,1, GTK_FILL,GTK_FILL, 0,0); } - elev_box = gtk_hbox_new(TRUE, 0); + elev_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); + gtk_box_set_homogeneous(GTK_BOX(elev_box), TRUE); gtk_table_attach(GTK_TABLE(table), elev_box, cols-1,cols, rows-1,rows, GTK_FILL,GTK_FILL, 0,0); } @@ -476,9 +483,9 @@ GtkWidget *aweather_level2_get_config(AWeatherLevel2 *level2) g_object_set(button, "draw-indicator", FALSE, NULL); gtk_box_pack_end(GTK_BOX(elev_box), button, TRUE, TRUE, 0); - g_object_set_data(G_OBJECT(button), "level2", (gpointer)level2); - g_object_set_data(G_OBJECT(button), "type", (gpointer)vi); - g_object_set_data(G_OBJECT(button), "elev", (gpointer)(int)(elev*100)); + g_object_set_data(G_OBJECT(button), "level2", level2); + g_object_set_data(G_OBJECT(button), "type", (gpointer)(guintptr)vi); + g_object_set_data(G_OBJECT(button), "elev", (gpointer)(guintptr)(elev*100)); g_signal_connect(button, "clicked", G_CALLBACK(_on_sweep_clicked), level2); } } @@ -490,12 +497,13 @@ GtkWidget *aweather_level2_get_config(AWeatherLevel2 *level2) gtk_misc_set_alignment(GTK_MISC(row_label), 1, 0.5); gtk_table_attach(GTK_TABLE(table), row_label, 0,1, rows,rows+1, GTK_FILL,GTK_FILL, 5,0); - GtkWidget *scale = gtk_hscale_new_with_range(ISO_MIN, ISO_MAX, 0.5); + GtkWidget *scale = gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL, ISO_MIN, ISO_MAX, 0.5); gtk_widget_set_size_request(scale, -1, 26); gtk_scale_set_value_pos(GTK_SCALE(scale), GTK_POS_LEFT); gtk_range_set_inverted(GTK_RANGE(scale), TRUE); gtk_range_set_value(GTK_RANGE(scale), ISO_MAX); - g_signal_connect(scale, "value-changed", G_CALLBACK(_on_iso_changed), level2); + g_signal_connect(scale, "value-changed", G_CALLBACK(_on_iso_changed), level2); + g_signal_connect(scale, "format-value", G_CALLBACK(_on_format_value), level2); gtk_table_attach(GTK_TABLE(table), scale, 1,cols+1, rows,rows+1, GTK_FILL|GTK_EXPAND,GTK_FILL, 0,0); /* Shove all the buttons to the left, but keep the slider expanded */