]> Pileus Git - grits/blobdiff - src/grits-test.c
Switch from GtkGLExt to internal OpenGL handling
[grits] / src / grits-test.c
index 43d014b471401c99c2773efdba860230b7464fae..5be869b6ccc03d635490ae880070278f4ae931c9 100644 (file)
 
 #include <config.h>
 #include <gtk/gtk.h>
-#include <gtk/gtkgl.h>
 #include <gdk/gdkkeysyms.h>
 
 #include "grits.h"
 
-GisPrefs   *prefs   = NULL;
-GisPlugins *plugins = NULL;
-GisViewer  *viewer  = NULL;
+GritsPrefs   *prefs   = NULL;
+GritsPlugins *plugins = NULL;
+GritsViewer  *viewer  = NULL;
 
 /*************
  * Callbacks *
  *************/
-static gboolean gis_shutdown(GtkWidget *window)
+static gboolean grits_shutdown(GtkWidget *window)
 {
-       gis_plugins_free(plugins);
+       static gboolean shutdown = FALSE;
+       if (shutdown) return TRUE;
+       shutdown = TRUE;
+
+       grits_plugins_free(plugins);
        g_object_unref(prefs);
        gtk_widget_destroy(window);
-
-       while (gtk_events_pending())
-                 gtk_main_iteration();
-
        gtk_main_quit();
        return TRUE;
 }
 static gboolean on_delete(GtkWidget *widget, GdkEvent *event, gpointer data)
 {
-       return gis_shutdown(widget);
+       return grits_shutdown(widget);
 }
 static gboolean on_key_press(GtkWidget *widget, GdkEventKey *event,
-               gpointer window)
+               gpointer _)
 {
        if (event->keyval == GDK_q)
-               return gis_shutdown(widget);
+               return grits_shutdown(widget);
        return FALSE;
 }
-static void load_plugin(GisPlugins *plugins, gchar *name,
-               GisViewer *viewer, GisPrefs *prefs, GtkNotebook *notebook)
+static void load_plugin(GritsPlugins *plugins, gchar *name,
+               GritsViewer *viewer, GritsPrefs *prefs, GtkNotebook *notebook)
 {
-       GisPlugin *plugin = gis_plugins_load(plugins, name, viewer, prefs);
-       GtkWidget *config = gis_plugin_get_config(plugin);
-       gtk_notebook_append_page(notebook, config, gtk_label_new(name));
+       GritsPlugin *plugin = grits_plugins_load(plugins, name, viewer, prefs);
+       GtkWidget *config = grits_plugin_get_config(plugin);
+       if (config)
+               gtk_notebook_append_page(notebook, config, gtk_label_new(name));
 }
 
 /***********
@@ -68,11 +68,10 @@ int main(int argc, char **argv)
        g_thread_init(NULL);
        gdk_threads_init();
        gtk_init(&argc, &argv);
-       gtk_gl_init(&argc, &argv);
 
-       prefs   = gis_prefs_new(NULL, NULL);
-       plugins = gis_plugins_new(g_getenv("GIS_PLUGIN_PATH"), prefs);
-       viewer  = gis_opengl_new(plugins, prefs);
+       prefs   = grits_prefs_new(NULL, NULL);
+       plugins = grits_plugins_new(g_getenv("GRITS_PLUGIN_PATH"), prefs);
+       viewer  = grits_opengl_new(plugins, prefs);
 
        gdk_threads_enter();
        GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
@@ -87,13 +86,14 @@ int main(int argc, char **argv)
        gtk_widget_show_all(window);
 
        /* Configurable stuff */
-       gis_viewer_set_offline(viewer, TRUE);
-       load_plugin(plugins, "elev",  viewer, prefs, GTK_NOTEBOOK(config));
+       grits_viewer_set_offline(viewer, TRUE);
+       (void)load_plugin;
        load_plugin(plugins, "env",   viewer, prefs, GTK_NOTEBOOK(config));
-       //load_plugin(plugins, "map",   viewer, prefs, GTK_NOTEBOOK(config));
+       load_plugin(plugins, "elev",  viewer, prefs, GTK_NOTEBOOK(config));
        load_plugin(plugins, "sat",   viewer, prefs, GTK_NOTEBOOK(config));
-       load_plugin(plugins, "test",  viewer, prefs, GTK_NOTEBOOK(config));
+       //load_plugin(plugins, "map",   viewer, prefs, GTK_NOTEBOOK(config));
        //load_plugin(plugins, "radar", viewer, prefs, GTK_NOTEBOOK(config));
+       load_plugin(plugins, "test",  viewer, prefs, GTK_NOTEBOOK(config));
 
        gtk_widget_show_all(config);
        gtk_main();