+/*
+ * Copyright (C) 2009 Andy Spencer <spenceal@rose-hulman.edu>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#include <config.h>
#include <gtk/gtk.h>
#include <gtk/gtkgl.h>
if (db == APFLAG) return 0;
if (db == NOECHO) return 0;
if (db == 0 ) return 0;
- //if (db > 60) return 0;
- //else if (db < 10) return 0;
- //else if (db < 25) return (db-10)*(255.0/15);
+ if (db > 60) return 0;
+ else if (db < 10) return 0;
+ else if (db < 25) return (db-10)*(255.0/15);
else return 255;
}
for (vi = 0; vi < radar->h.nvolumes; vi++) {
Volume *vol = radar->v[vi];
if (vol == NULL) continue;
- g_message(" adding volume: %d", vi);
GtkWidget *vbox = gtk_vbox_new(TRUE, 0);
for (si = vol->h.nsweeps-1; si >= 0; si--) {
Sweep *sweep = vol->sweep[si];
if (sweep == NULL) continue;
char *label = g_strdup_printf("Tilt: %.2f (%s)", sweep->h.elev, vol->h.type_str);
- g_message(" adding sweep: %d - %s", si, label);
button = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(button), label);
g_object_set(button, "draw-indicator", FALSE, NULL);
g_signal_connect_swapped(button, "clicked", G_CALLBACK(load_sweep), sweep);
gtk_box_pack_start(GTK_BOX(vbox), button, FALSE, TRUE, 0);
g_free(label);
}
- g_message("adding vbox to hbox");
gtk_box_set_homogeneous(GTK_BOX(vbox), FALSE);
gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 0);
}
- g_message("adding hbox to scroll");
gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(config_body), hbox);
gtk_widget_show_all(hbox);
}
if (g_file_test(raw, G_FILE_TEST_EXISTS)) {
load_radar_rsl(0, 0, raw);
} else {
- char *argv[] = {"./wsr88ddec", path, raw, NULL};
+ char *argv[] = {"wsr88ddec", path, raw, NULL};
GPid pid;
GError *error = NULL;
g_spawn_async(
NULL, // const gchar *working_directory,
argv, // gchar **argv,
NULL, // gchar **envp,
- G_SPAWN_DO_NOT_REAP_CHILD, // GSpawnFlags flags,
+ G_SPAWN_SEARCH_PATH|
+ G_SPAWN_DO_NOT_REAP_CHILD,
+ // GSpawnFlags flags,
NULL, // GSpawnChildSetupFunc child_setup,
NULL, // gpointer user_data,
&pid, // GPid *child_pid,
glPushMatrix();
glBindTexture(GL_TEXTURE_2D, sweep_tex);
glEnable(GL_TEXTURE_2D);
+ glDisable(GL_ALPHA_TEST);
glColor4f(1,1,1,1);
glBegin(GL_QUAD_STRIP);
for (int ri = 0; ri <= sweep->h.nrays+1; ri++) {
/* Print the color table */
glDisable(GL_TEXTURE_2D);
+ glDisable(GL_DEPTH_TEST);
glMatrixMode(GL_MODELVIEW ); glPushMatrix(); glLoadIdentity();
glMatrixMode(GL_PROJECTION); glPushMatrix(); glLoadIdentity();
glBegin(GL_QUADS);
glVertex3f(-0.9, (float)((i ) - nred/2)/(nred/2), 0.0); // bot right
}
glEnd();
+ glEnable(GL_DEPTH_TEST);
+ glEnable(GL_ALPHA_TEST);
glMatrixMode(GL_PROJECTION); glPopMatrix();
glMatrixMode(GL_MODELVIEW ); glPopMatrix();
return FALSE;
GtkListStore *lstore = GTK_LIST_STORE(gtk_tree_view_get_model(tview));
gtk_list_store_clear(lstore);
radar = NULL;
+ char *time = NULL;
for (int i = 0; lines[i] && lines[i][0]; i++) {
// format: `841907 KABR_20090510_0159'
//g_message("\tadding %p [%s]", lines[i], lines[i]);
char **parts = g_strsplit(lines[i], " ", 2);
+ time = parts[1]+5;
GtkTreeIter iter;
- gtk_list_store_append(lstore, &iter);
- gtk_list_store_set(lstore, &iter, 0, parts[1]+5, -1);
- if (i == 0)
- set_time(view, parts[1]+5, NULL);
+ gtk_list_store_insert(lstore, &iter, 0);
+ gtk_list_store_set(lstore, &iter, 0, time, -1);
}
+ if (time != NULL)
+ aweather_view_set_time(view, time);
}
/* Init */