diff options
author | James Henstridge <james@daa.com.au> | 1999-09-28 16:11:00 +0000 |
---|---|---|
committer | James Henstridge <jamesh@src.gnome.org> | 1999-09-28 16:11:00 +0000 |
commit | 4669fcdbc2b1e264d8b5fbe58e4a9c5a34402444 (patch) | |
tree | 3ea5818381b64d9e9eddafa3de3594bc4eaff919 | |
parent | e77c7ebff2edf70e8d2139fff227fab67139a41b (diff) | |
download | pygtk-4669fcdbc2b1e264d8b5fbe58e4a9c5a34402444.tar.gz |
i1999-09-28 James Henstridge <james@daa.com.au>
* pygnome/Makefile.am: added _gladegnome to the build.
* pygnome/gladegnomemodule.c: new module. This one simply initialises
the gnome portion of libglade when you import it. It provides no
external interface.
1999-09-28 James Henstridge <james@daa.com.au>
* libglade.py: enable gnome functionality if it is available.
* gtk.py (GtkEditable.__getattr__): added accessors to GtkEditable.
* generate/gtkedit.defs (GtkEditable): added accessors for some
fields of the GtkEditable.
* gtkmodule.c: added _raise, lower and input_get_pointer methods to
the GdkWindow wrapper.
* gtk.py (GtkAspectFrame.__init__): fixed prototype for GtkAspectFrame
-rw-r--r-- | ChangeLog | 14 | ||||
-rw-r--r-- | generate/gtkedit.defs | 4 | ||||
-rw-r--r-- | gtk.py | 16 | ||||
-rw-r--r-- | gtkmodule.c | 34 | ||||
-rw-r--r-- | libglade.py | 6 |
5 files changed, 71 insertions, 3 deletions
@@ -1,3 +1,17 @@ +1999-09-28 James Henstridge <james@daa.com.au> + + * libglade.py: enable gnome functionality if it is available. + + * gtk.py (GtkEditable.__getattr__): added accessors to GtkEditable. + + * generate/gtkedit.defs (GtkEditable): added accessors for some + fields of the GtkEditable. + + * gtkmodule.c: added _raise, lower and input_get_pointer methods to + the GdkWindow wrapper. + + * gtk.py (GtkAspectFrame.__init__): fixed prototype for GtkAspectFrame + 1999-08-25 Matt Wilson <msw@redhat.com> * gtkmodule.c (_wrap_gdk_char_width): added wrapper for gdk_char_width diff --git a/generate/gtkedit.defs b/generate/gtkedit.defs index bf87c03c..04789480 100644 --- a/generate/gtkedit.defs +++ b/generate/gtkedit.defs @@ -1,7 +1,9 @@ ; -*- scheme -*- ;; Editable -(define-object GtkEditable (GtkWidget)) +(define-object GtkEditable (GtkWidget) + (fields (uint selection_start_pos) + (uint selection_end_pos))) (define-func gtk_editable_select_region none @@ -652,9 +652,11 @@ class GtkFrame(GtkBin): class GtkAspectFrame(GtkFrame): get_type = _gtk.gtk_aspect_frame_get_type - def __init__(self, xa=0, ya=0, ratio=1, obey_child=1, _obj=None): + def __init__(self, label=None, xa=0, ya=0, ratio=1, obey_child=1, + _obj=None): if _obj: self._o = _obj; return - self._o = _gtk.gtk_aspect_frame_new(xa, ya, ratio, obey_child) + self._o = _gtk.gtk_aspect_frame_new(label, xa, ya, ratio, + obey_child) def set(self, xa, ya, ratio, obey_child): _gtk.gtk_aspect_frame_set(self._o, xa, ya, ratio, obey_child) @@ -2023,6 +2025,16 @@ class GtkEditable(GtkWidget): get_type = _gtk.gtk_editable_get_type def __init__(self, _obj=None): if _obj: self._o = _obj; return + def __getattr__(self, attr): + attrs = { + 'selection_start_pos': + _gtk.gtk_editable_get_selection_start_pos, + 'selection_end_pos': + _gtk.gtk_editable_get_selection_end_pos, + } + if attrs.has_key(attr): + return attrs[attr](self._o) + return GtkWidget.__getattr__(self, attr) def select_region(self, start, end): _gtk.gtk_editable_select_region(self._o, start, end) def insert_text(self, new_text): diff --git a/gtkmodule.c b/gtkmodule.c index 69fa88ed..29e03063 100644 --- a/gtkmodule.c +++ b/gtkmodule.c @@ -1489,12 +1489,46 @@ static PyObject *PyGdkWindow_PropertyDelete(PyGdkWindow_Object *self, return Py_None; } +static PyObject *PyGdkWindow_Raise(PyGdkWindow_Object *self, + PyObject *args) { + if (!PyArg_ParseTuple(args, ":GdkWindow._raise")) + return NULL; + gdk_window_raise(self->obj); + Py_INCREF(Py_None); + return Py_None; +} + +static PyObject *PyGdkWindow_Lower(PyGdkWindow_Object *self, + PyObject *args) { + if (!PyArg_ParseTuple(args, ":GdkWindow.lower")) + return NULL; + gdk_window_lower(self->obj); + Py_INCREF(Py_None); + return Py_None; +} + +static PyObject *PyGdkWindow_InputGetPointer(PyGdkWindow_Object *self, + PyObject *args) { + guint32 deviceid; + gdouble x = 0.0, y = 0.0, pressure = 0.0, xtilt = 0.0, ytilt = 0.0; + GdkModifierType mask = 0; + + if (!PyArg_ParseTuple(args, "i:GdkWindow.input_get_pointer", &deviceid)) + return NULL; + gdk_input_window_get_pointer(self->obj, deviceid, &x, &y, &pressure, + &xtilt, &ytilt, &mask); + return Py_BuildValue("(dddddi)", x, y, pressure, xtilt, ytilt, mask); +} + static PyMethodDef PyGdkWindow_methods[] = { {"new_gc", (PyCFunction)PyGdkWindow_NewGC, METH_VARARGS|METH_KEYWORDS, NULL}, {"set_cursor", (PyCFunction)PyGdkWindow_SetCursor, METH_VARARGS, NULL}, {"property_get", (PyCFunction)PyGdkWindow_PropertyGet, METH_VARARGS, NULL}, {"property_change", (PyCFunction)PyGdkWindow_PropertyChange, METH_VARARGS, NULL}, {"property_delete", (PyCFunction)PyGdkWindow_PropertyDelete, METH_VARARGS, NULL}, + {"_raise", (PyCFunction)PyGdkWindow_Raise, METH_VARARGS, NULL}, + {"lower", (PyCFunction)PyGdkWindow_Lower, METH_VARARGS, NULL}, + {"input_get_pointer", (PyCFunction)PyGdkWindow_InputGetPointer, METH_VARARGS, NULL}, {NULL, 0, 0, NULL} }; diff --git a/libglade.py b/libglade.py index 4fbdc630..d04f5b51 100644 --- a/libglade.py +++ b/libglade.py @@ -2,6 +2,12 @@ import gtk; _gtk = gtk; del gtk import _libglade +# enable gnome functionality if it is installed. +try: + import _gladegnome +except: + pass + class GladeXML(_gtk.GtkData): def __init__(self, filename=None, root=None, domain=None, _obj=None): if _obj: self._o = _obj; return |