8
gdesklets_get_pygobject_type (void)
10
static PyTypeObject *PyGObject_Type = NULL;
12
if (G_UNLIKELY (PyGObject_Type == NULL)) {
13
PyObject *module = PyImport_ImportModule("gobject");
15
if (!module) goto err_gobject;
17
PyObject *moddict = PyModule_GetDict (module);
18
PyGObject_Type = (PyTypeObject *) PyDict_GetItemString (moddict, "GObject");
20
if (!PyGObject_Type) goto err_gobject;
23
return PyGObject_Type;
26
PyErr_SetString (PyExc_ImportError,
27
"Cannot import name GObject from gobject");
33
parse_gdk_window (PyObject *object, gpointer address)
35
GdkWindow **window = address;
37
if (!pygobject_check (object, gdesklets_get_pygobject_type ())) goto err;
38
if (!GDK_IS_WINDOW (pygobject_get (object))) goto err;
40
*window = GDK_WINDOW (pygobject_get (object));
45
PyErr_SetString (PyExc_TypeError, "First parameter must be a GdkWindow!");
51
parse_gdk_pixmap (PyObject *object, gpointer address)
53
GdkPixmap **pmap = address;
55
if (!pygobject_check (object, gdesklets_get_pygobject_type ())) goto err;
56
if (!GDK_IS_PIXMAP (pygobject_get (object))) goto err;
58
*pmap = GDK_PIXMAP (pygobject_get (object));
63
PyErr_SetString (PyExc_TypeError, "First parameter must be a GdkPixmap!");
69
parse_gdk_pixbuf (PyObject *object, gpointer address)
71
GdkPixbuf **pixbuf = address;
73
if (!pygobject_check (object, gdesklets_get_pygobject_type ())) goto err;
74
if (!GDK_IS_PIXBUF (pygobject_get (object))) goto err;
76
*pixbuf = GDK_PIXBUF (pygobject_get (object));
81
PyErr_SetString (PyExc_TypeError, "First parameter must be a GdkPixbuf!");
87
parse_gtk_image (PyObject *object, gpointer address)
89
GtkImage **image = address;
91
if (!pygobject_check (object, gdesklets_get_pygobject_type ())) goto err;
92
if (!GTK_IS_IMAGE (pygobject_get (object))) goto err;
94
*image = GTK_IMAGE (pygobject_get (object));
99
PyErr_SetString (PyExc_TypeError, "First parameter must be a GtkImage!");
105
parse_gtk_widget (PyObject *object, gpointer address)
107
GtkWidget **widget = address;
109
if (!pygobject_check (object, gdesklets_get_pygobject_type ())) goto err;
110
if (!GTK_IS_WIDGET (pygobject_get (object))) goto err;
112
*widget = GTK_WIDGET (pygobject_get (object));
117
PyErr_SetString (PyExc_TypeError, "First parameter must be a GtkWidget!");