]> Pileus Git - grits/blobdiff - src/aweather-gui.h
Adding a prefs dialog (which needs a lot more work)
[grits] / src / aweather-gui.h
index 921426c4abe4c8e70adc0f0228e7b8b37d8a4f4a..476cab18ac7201c9d370266dd85b78ad641e0ddf 100644 (file)
@@ -1,9 +1,29 @@
+/*
+ * 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/>.
+ */
+
 #ifndef __AWEATHER_GUI_H__
 #define __AWEATHER_GUI_H__
 
 #include <gtk/gtk.h>
 #include <glib-object.h>
-#include "aweather-view.h"
+#include "gis-opengl.h"
+#include "gis-world.h"
+#include "gis-view.h"
+#include "aweather-plugin.h"
 
 /* Type macros */
 #define AWEATHER_TYPE_GUI            (aweather_gui_get_type())
@@ -17,18 +37,20 @@ typedef struct _AWeatherGui      AWeatherGui;
 typedef struct _AWeatherGuiClass AWeatherGuiClass;
 
 struct _AWeatherGui {
-       GObject parent_instance;
+       GtkWindow parent_instance;
 
        /* instance members */
-       AWeatherView   *view;
-       GtkBuilder     *builder;
-       GtkWindow      *window;
-       GtkNotebook    *tabs;
-       GtkDrawingArea *drawing;
+       GtkBuilder *builder;
+       GisWorld   *world;
+       GisView    *view;
+       GisOpenGL  *opengl;
+       GList      *plugins;
+       GKeyFile   *prefs;
+       GtkListStore *gtk_plugins;
 };
 
 struct _AWeatherGuiClass {
-       GObjectClass parent_class;
+       GtkWindowClass parent_class;
        
        /* class members */
 };
@@ -36,16 +58,16 @@ struct _AWeatherGuiClass {
 GType aweather_gui_get_type(void);
 
 /* Methods */
-AWeatherGui    *aweather_gui_new();
-AWeatherView   *aweather_gui_get_view(AWeatherGui *gui);
-GtkBuilder     *aweather_gui_get_builder(AWeatherGui *gui);
-GtkWindow      *aweather_gui_get_window(AWeatherGui *gui);
-GtkNotebook    *aweather_gui_get_tabs(AWeatherGui *gui);
-GtkDrawingArea *aweather_gui_get_drawing(AWeatherGui *gui);
-void            aweather_gui_gl_begin(AWeatherGui *gui);
-void            aweather_gui_gl_end(AWeatherGui *gui);
-void            aweather_gui_gl_flush(AWeatherGui *gui);
-
-//void aweather_gui_register_plugin(AWeatherGui *gui, AWeatherPlugin *plugin);
+AWeatherGui *aweather_gui_new();
+
+GisWorld    *aweather_gui_get_world(AWeatherGui *gui);
+GisOpenGL   *aweather_gui_get_opengl(AWeatherGui *gui);
+GisView     *aweather_gui_get_view(AWeatherGui *gui);
+
+GtkWidget   *aweather_gui_get_widget(AWeatherGui *gui, const gchar *name);
+GObject     *aweather_gui_get_object(AWeatherGui *gui, const gchar *name);
+
+gboolean     aweather_gui_load_plugin(AWeatherGui *gui, const gchar *name);
+gboolean     aweather_gui_unload_plugin(AWeatherGui *gui, const gchar *name);
 
 #endif