]> Pileus Git - aweather/blobdiff - src/plugins/level2.c
Use default colormap missing the correct one
[aweather] / src / plugins / level2.c
index 906561a513f1bdcc45b2bb963a5bea6bacd5882c..00e640bb8bb6a945b9d136e10fa509dbdf82643f 100644 (file)
@@ -201,7 +201,7 @@ static gboolean _set_sweep_cb(gpointer _self)
        g_debug("AWeatherLevel2: _set_sweep_cb");
        AWeatherLevel2 *self = _self;
        _load_sweep_gl(self);
-       gtk_widget_queue_draw(GTK_WIDGET(self->viewer));
+       grits_object_queue_draw(_self);
        g_object_unref(self);
        return FALSE;
 }
@@ -221,19 +221,20 @@ void aweather_level2_set_sweep(AWeatherLevel2 *self,
        for (int i = 0; self->colormap[i].name; i++)
                if (self->colormap[i].type == type)
                        self->sweep_colors = &self->colormap[i];
-       if (!self->sweep_colors) return;
+       if (!self->sweep_colors) {
+               g_warning("AWeatherLevel2: set_sweep - missing colormap[%d]", type);
+               self->sweep_colors = &self->colormap[0];
+       }
 
        /* Load data */
        g_object_ref(self);
        g_idle_add(_set_sweep_cb, self);
 }
 
-AWeatherLevel2 *aweather_level2_new(GritsViewer *viewer,
-               AWeatherColormap *colormap, Radar *radar)
+AWeatherLevel2 *aweather_level2_new(Radar *radar, AWeatherColormap *colormap)
 {
        g_debug("AWeatherLevel2: new - %s", radar->h.radar_name);
        AWeatherLevel2 *self = g_object_new(AWEATHER_TYPE_LEVEL2, NULL);
-       self->viewer   = viewer;
        self->radar    = radar;
        self->colormap = colormap;
        aweather_level2_set_sweep(self, DZ_INDEX, 0);
@@ -247,9 +248,8 @@ AWeatherLevel2 *aweather_level2_new(GritsViewer *viewer,
        return self;
 }
 
-AWeatherLevel2 *aweather_level2_new_from_file(GritsViewer *viewer,
-               AWeatherColormap *colormap,
-               const gchar *file, const gchar *site)
+AWeatherLevel2 *aweather_level2_new_from_file(const gchar *file, const gchar *site,
+               AWeatherColormap *colormap)
 {
        g_debug("AWeatherLevel2: new_from_file %s %s", site, file);
 
@@ -276,16 +276,18 @@ AWeatherLevel2 *aweather_level2_new_from_file(GritsViewer *viewer,
        if (!radar)
                return NULL;
 
-       return aweather_level2_new(viewer, colormaps, radar);
+       return aweather_level2_new(radar, colormaps);
 }
 
 static void _on_sweep_clicked(GtkRadioButton *button, gpointer _level2)
 {
        AWeatherLevel2 *level2 = _level2;
-       gint type = (gint)g_object_get_data(G_OBJECT(button), "type");
-       gint elev = (gint)g_object_get_data(G_OBJECT(button), "elev");
-       aweather_level2_set_sweep(level2, type, (float)elev/100);
-       //self->colormap = level2->sweep_colors;
+       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");
+               aweather_level2_set_sweep(level2, type, (float)elev/100);
+               //self->colormap = level2->sweep_colors;
+       }
 }
 
 GtkWidget *aweather_level2_get_config(AWeatherLevel2 *level2)
@@ -293,7 +295,7 @@ GtkWidget *aweather_level2_get_config(AWeatherLevel2 *level2)
        Radar *radar = level2->radar;
        g_debug("AWeatherLevel2: get_config - %p, %p", level2, radar);
        /* Clear existing items */
-       gdouble elev;
+       gfloat elev;
        guint rows = 1, cols = 1, cur_cols;
        gchar row_label_str[64], col_label_str[64], button_str[64];
        GtkWidget *row_label, *col_label, *button = NULL, *elev_box = NULL;