summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Henstridge <james@daa.com.au>1999-09-28 16:11:00 +0000
committerJames Henstridge <jamesh@src.gnome.org>1999-09-28 16:11:00 +0000
commit4669fcdbc2b1e264d8b5fbe58e4a9c5a34402444 (patch)
tree3ea5818381b64d9e9eddafa3de3594bc4eaff919
parente77c7ebff2edf70e8d2139fff227fab67139a41b (diff)
downloadpygtk-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--ChangeLog14
-rw-r--r--generate/gtkedit.defs4
-rw-r--r--gtk.py16
-rw-r--r--gtkmodule.c34
-rw-r--r--libglade.py6
5 files changed, 71 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 43283073..8ae9c9a8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/gtk.py b/gtk.py
index a7e915c8..4ab500ca 100644
--- a/gtk.py
+++ b/gtk.py
@@ -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