+/*
+ * Copyright (C) 2009-2011 Andy Spencer <andy753421@gmail.com>
+ *
+ * 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 <grits.h>
/* Type macros */
#define AWEATHER_TYPE_GUI (aweather_gui_get_type())
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;
+ GritsViewer *viewer;
+ GritsPlugins *plugins;
+ GritsPrefs *prefs;
+ GtkListStore *gtk_plugins;
+ guint update_source;
};
struct _AWeatherGuiClass {
- GObjectClass parent_class;
+ GtkWindowClass parent_class;
/* class members */
};
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_register_plugin(AWeatherGui *gui, AWeatherPlugin *plugin);
+AWeatherGui *aweather_gui_new();
+
+GritsViewer *aweather_gui_get_viewer(AWeatherGui *gui);
+
+GtkWidget *aweather_gui_get_widget(AWeatherGui *gui, const gchar *name);
+GObject *aweather_gui_get_object(AWeatherGui *gui, const gchar *name);
+
+void aweather_gui_attach_plugin(AWeatherGui *self, const gchar *name);
+void aweather_gui_deattach_plugin(AWeatherGui *self, const gchar *name);
#endif