summaryrefslogtreecommitdiff
path: root/python/mateweather.override
diff options
context:
space:
mode:
authorPerberos <[email protected]>2011-12-01 21:42:39 -0300
committerPerberos <[email protected]>2011-12-01 21:42:39 -0300
commitfe8aea1c3b5348347633da18a02b0bffd3b266a1 (patch)
tree9881bf77df7572844707cc7c50bd8ca6b5a97076 /python/mateweather.override
downloadlibmateweather-fe8aea1c3b5348347633da18a02b0bffd3b266a1.tar.bz2
libmateweather-fe8aea1c3b5348347633da18a02b0bffd3b266a1.tar.xz
moving from https://github.com/perberos/mate-desktop-environment
Diffstat (limited to 'python/mateweather.override')
-rw-r--r--python/mateweather.override104
1 files changed, 104 insertions, 0 deletions
diff --git a/python/mateweather.override b/python/mateweather.override
new file mode 100644
index 0000000..16ce1e0
--- /dev/null
+++ b/python/mateweather.override
@@ -0,0 +1,104 @@
+/* -*- Mode: C; c-basic-offset: 4 -*-
+ *
+ * mateweather.override: overrides for mateweather
+ */
+%%
+headers
+#define NO_IMPORT_PYGOBJECT
+#include "pygobject.h"
+
+#define MATEWEATHER_I_KNOW_THIS_IS_UNSTABLE
+#include <libmateweather/mateweather-location.h>
+#include <libmateweather/mateweather-timezone.h>
+#include <libmateweather/location-entry.h>
+#include <libmateweather/timezone-menu.h>
+#include <libmateweather/mateweather-enum-types.h>
+
+%%
+modulename mateweather
+%%
+import gtk.Entry as PyGtkEntry_Type
+import gtk.ComboBox as PyGtkComboBox_Type
+%%
+ignore
+ mateweather_location_get_weather
+ mateweather_location_free_children
+ mateweather_location_free_timezones
+%%
+ignore-glob
+ *_get_type
+ *_ref
+ *_unref
+%%
+override mateweather_location_get_children
+static PyObject *
+_wrap_mateweather_location_get_children (PyGObject *self, PyObject *args)
+{
+ MateWeatherLocation *loc, **children;
+ int i;
+ PyObject *pychildren, *pychild;
+
+ loc = pyg_boxed_get (self, MateWeatherLocation);
+ children = mateweather_location_get_children (loc);
+ for (i = 0; children[i]; i++)
+ ;
+
+ pychildren = PyList_New (i);
+ for (i = 0; children[i]; i++) {
+ pychild = pyg_boxed_new (MATEWEATHER_TYPE_LOCATION, children[i], TRUE, TRUE);
+ PyList_SetItem (pychildren, i, pychild);
+ }
+
+ mateweather_location_free_children (loc, children);
+ return pychildren;
+}
+%%
+override mateweather_location_get_timezones
+static PyObject *
+_wrap_mateweather_location_get_timezones (PyGObject *self, PyObject *args)
+{
+ MateWeatherLocation *loc;
+ MateWeatherTimezone **zones;
+ int i;
+ PyObject *pyzones, *pyzone;
+
+ loc = pyg_boxed_get (self, MateWeatherLocation);
+ zones = mateweather_location_get_timezones (loc);
+ for (i = 0; zones[i]; i++)
+ ;
+
+ pyzones = PyList_New (i);
+ for (i = 0; zones[i]; i++) {
+ pyzone = pyg_boxed_new (MATEWEATHER_TYPE_TIMEZONE, zones[i], TRUE, TRUE);
+ PyList_SetItem (pyzones, i, pyzone);
+ }
+
+ mateweather_location_free_timezones (loc, zones);
+ return pyzones;
+}
+%%
+override mateweather_location_get_coords
+static PyObject *
+_wrap_mateweather_location_get_coords (PyGObject *self, PyObject *args)
+{
+ MateWeatherLocation *loc;
+ double latitude, longitude;
+ PyObject *ret;
+
+ loc = pyg_boxed_get (self, MateWeatherLocation);
+ if (!mateweather_location_has_coords (loc)) {
+ Py_INCREF (Py_None);
+ return Py_None;
+ }
+
+ mateweather_location_get_coords (loc, &latitude, &longitude);
+ ret = PyTuple_New (2);
+ PyTuple_SetItem (ret, 0, PyFloat_FromDouble (latitude));
+ PyTuple_SetItem (ret, 1, PyFloat_FromDouble (longitude));
+ return ret;
+}
+%%
+new-constructor MATEWEATHER_TYPE_LOCATION_ENTRY
+%%
+new-constructor MATEWEATHER_TYPE_TIMEZONE_MENU
+%%