diff options
author | Perberos <[email protected]> | 2011-12-01 21:42:39 -0300 |
---|---|---|
committer | Perberos <[email protected]> | 2011-12-01 21:42:39 -0300 |
commit | fe8aea1c3b5348347633da18a02b0bffd3b266a1 (patch) | |
tree | 9881bf77df7572844707cc7c50bd8ca6b5a97076 /python/mateweather.override | |
download | libmateweather-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.override | 104 |
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 +%% |