]> Pileus Git - grits/commitdiff
Static grits-test static
authorAndy Spencer <andy753421@gmail.com>
Tue, 14 Feb 2012 03:25:02 +0000 (03:25 +0000)
committerAndy Spencer <andy753421@gmail.com>
Wed, 26 Dec 2012 08:43:39 +0000 (08:43 +0000)
src/Makefile.am
src/grits-test.c

index 957bff1f4f244639f7f863f86ef621cc802556db..992ade08cc1c1ba041caac94852965a36bd0d8c5 100644 (file)
@@ -64,8 +64,9 @@ grits_demo_LDADD   = $(AM_LDADD) libgrits.la
 # Test programs
 noinst_PROGRAMS = grits-test tile-test
 
-grits_test_SOURCES = grits-test.c
+grits_test_SOURCES = grits-test.c plugins/env.c plugins/elev.c plugins/map.c plugins/sat.c
 grits_test_LDADD   = $(AM_LDADD) libgrits.la
+grits_test_LDFLAGS = -static
 
 tile_test_SOURCES = tile-test.c
 tile_test_LDADD   = $(AM_LDADD) libgrits.la
@@ -94,7 +95,7 @@ test: all
 
 gdb: all
        G_MESSAGES_DEBUG=all \
-       gdb ./.libs/grits-test
+       gdb ./grits-test
 
 ddd: all
        G_MESSAGES_DEBUG=all \
@@ -109,5 +110,5 @@ memcheck: all
                 --num-callers=50               \
                 --suppressions=gtk.suppression \
                 --suppressions=/usr/lib/valgrind/default.supp \
-                .libs/grits-test               \
+                ./grits-test                   \
        2> valgrind.out
index 10d59ece3491dfbd24c6e2deaa9a7bd2aa09c4f0..a78a3180e7ac4f7e802b9d87ba04ad0e6adc3526 100644 (file)
 
 #include "grits.h"
 
+#include "plugins/env.h"
+#include "plugins/elev.h"
+#include "plugins/sat.h"
+#include "plugins/map.h"
+
 GritsPrefs   *prefs   = NULL;
 GritsPlugins *plugins = NULL;
 GritsViewer  *viewer  = NULL;
+GList        *manual  = NULL;
 
 /*************
  * Callbacks *
@@ -34,6 +40,7 @@ static gboolean grits_shutdown(GtkWidget *window)
        if (shutdown) return TRUE;
        shutdown = TRUE;
 
+       g_list_free_full(manual, g_object_unref);
        grits_plugins_free(plugins);
        g_object_unref(prefs);
        gtk_widget_destroy(window);
@@ -59,6 +66,16 @@ static void load_plugin(GritsPlugins *plugins, gchar *name,
        if (config)
                gtk_notebook_append_page(notebook, config, gtk_label_new(name));
 }
+static void load_static_plugin(GritsPluginConstructor constructor,
+               GritsPlugins *plugins, gchar *name,
+               GritsViewer *viewer, GritsPrefs *prefs, GtkNotebook *notebook)
+{
+       GritsPlugin *plugin = constructor(viewer, prefs);
+       GtkWidget *config = grits_plugin_get_config(plugin);
+       if (config)
+               gtk_notebook_append_page(notebook, config, gtk_label_new(name));
+       manual = g_list_prepend(manual, plugin);
+}
 
 /***********
  * Methods *
@@ -88,13 +105,23 @@ int main(int argc, char **argv)
        /* Configurable stuff */
        grits_viewer_set_offline(viewer, TRUE);
        (void)load_plugin;
-       load_plugin(plugins, "env",   viewer, prefs, GTK_NOTEBOOK(config));
+       //load_plugin(plugins, "env",   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, "map",   viewer, prefs, GTK_NOTEBOOK(config));
+       //load_plugin(plugins, "map",   viewer, prefs, GTK_NOTEBOOK(config));
        //load_plugin(plugins, "alert", viewer, prefs, GTK_NOTEBOOK(config));
        //load_plugin(plugins, "radar", viewer, prefs, GTK_NOTEBOOK(config));
-       load_plugin(plugins, "test",  viewer, prefs, GTK_NOTEBOOK(config));
+       //load_plugin(plugins, "test",  viewer, prefs, GTK_NOTEBOOK(config));
+
+       (void)load_static_plugin;
+       load_static_plugin((GritsPluginConstructor)grits_plugin_env_new,
+                       plugins, "env", viewer, prefs, GTK_NOTEBOOK(config));
+       load_static_plugin((GritsPluginConstructor)grits_plugin_elev_new,
+                       plugins, "elev", viewer, prefs, GTK_NOTEBOOK(config));
+       load_static_plugin((GritsPluginConstructor)grits_plugin_sat_new,
+                       plugins, "sat", viewer, prefs, GTK_NOTEBOOK(config));
+       load_static_plugin((GritsPluginConstructor)grits_plugin_map_new,
+                       plugins, "map", viewer, prefs, GTK_NOTEBOOK(config));
 
        gtk_widget_show_all(config);
        gtk_main();
@@ -105,6 +132,7 @@ int main(int argc, char **argv)
        prefs   = NULL;
        plugins = NULL;
        viewer  = NULL;
+       manual  = NULL;
        window  = vbox = config = NULL;
        return 0;
 }