From fe8aea1c3b5348347633da18a02b0bffd3b266a1 Mon Sep 17 00:00:00 2001 From: Perberos Date: Thu, 1 Dec 2011 21:42:39 -0300 Subject: moving from https://github.com/perberos/mate-desktop-environment --- python/mateweather.override | 104 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 python/mateweather.override (limited to 'python/mateweather.override') 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 +#include +#include +#include +#include + +%% +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 +%% -- cgit v1.2.1