X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=src%2Fgis_test.c;h=dbc2f272e57b7ea6b1c7e8900607d348deb2fd20;hb=8f2f3918e1bc04ac40a9ba0a24452c1b1b0183ac;hp=124ed5389e28f22922a37d763a35c92dafce456d;hpb=a2a902d978b6050289f7a92794fb1dc0aa2b5e26;p=grits diff --git a/src/gis_test.c b/src/gis_test.c index 124ed53..dbc2f27 100644 --- a/src/gis_test.c +++ b/src/gis_test.c @@ -24,13 +24,15 @@ /************* * Callbacks * *************/ -static gboolean on_key_press(GtkWidget *widget, GdkEventKey *event, gpointer _) +static gboolean on_key_press(GtkWidget *widget, GdkEventKey *event, + gpointer _window) { g_debug("GisTest: on_key_press - key=%x, state=%x", event->keyval, event->state); + GtkWidget *window = _window; switch (event->keyval) { case GDK_q: - gtk_widget_destroy(widget); + gtk_widget_destroy(window); return TRUE; } return FALSE; @@ -47,30 +49,24 @@ int main(int argc, char **argv) GisPrefs *prefs = gis_prefs_new(NULL, NULL); GisPlugins *plugins = gis_plugins_new(NULL); - GisViewer *viewer = gis_viewer_new(); - GisOpenGL *opengl = gis_opengl_new(viewer, plugins); + GisViewer *viewer = gis_opengl_new(plugins); gdk_threads_enter(); GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL); g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL); - g_signal_connect(window, "key-press-event", G_CALLBACK(on_key_press), NULL); - gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(opengl)); + g_signal_connect(window, "key-press-event", G_CALLBACK(on_key_press), window); + gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(viewer)); gtk_widget_show_all(window); gdk_threads_leave(); - gis_plugins_load(plugins, "bmng", viewer, opengl, prefs); - //gis_plugins_load(plugins, "srtm", viewer, opengl, prefs); - gis_plugins_load(plugins, "test", viewer, opengl, prefs); - - gis_viewer_set_site(viewer, "KLSX"); + while (*argv) + gis_plugins_load(plugins, *argv++, viewer, prefs); gdk_threads_enter(); gtk_main(); - g_object_unref(prefs); - g_object_unref(viewer); - g_object_unref(opengl); gis_plugins_free(plugins); + g_object_unref(prefs); gdk_threads_leave(); return 0; }