X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=src%2Fgrits-test.c;h=a78a3180e7ac4f7e802b9d87ba04ad0e6adc3526;hb=3a305ac8e675099de94a74f9180b745813f614a4;hp=10d59ece3491dfbd24c6e2deaa9a7bd2aa09c4f0;hpb=8594927c0cd07daea95e8b99dc36ffef4f12da8a;p=grits diff --git a/src/grits-test.c b/src/grits-test.c index 10d59ec..a78a318 100644 --- a/src/grits-test.c +++ b/src/grits-test.c @@ -21,9 +21,15 @@ #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; }