diff options
author | James Henstridge <james@daa.com.au> | 2001-04-23 04:58:06 +0000 |
---|---|---|
committer | James Henstridge <jamesh@src.gnome.org> | 2001-04-23 04:58:06 +0000 |
commit | ade115edfc57e551537cff112454016d9a24cab3 (patch) | |
tree | fc961f1013d6547b5b824243b6acb8d542fc27e1 | |
parent | cf75f6412fe7b20dd49daa6c60c978df11f9cd0a (diff) | |
download | pygtk-ade115edfc57e551537cff112454016d9a24cab3.tar.gz |
update news file.
2001-04-23 James Henstridge <james@daa.com.au>
* NEWS: update news file.
* gnome-python.spec: up version number.
* configure.in: up version number to 1.4.1
2001-04-23 James Henstridge <james@daa.com.au>
* Makefile.am (python_PYTHON): don't install Gtkinter anymore.
The warning not to use this has been there long enough.
* gtk.py: add support for functions added by Fabien's patch
Patch from Fabien COUTANT <fcoutant@freesurf.fr>
* gtkmodule.c: add {append,prepend,insert}_element methods for
GtkToolbar. This isn't implemented quite like in Fabien's patch.
* generate/gtkranges.defs (GtkRuler): add field position.
* generate/gtkmenus.defs (gtk_menu_ensure_uline_accel_group): add
function wrapper.
* generate/gtkcontainers.defs (GtkScrolledWindow): add fields
hscrollbar and vscrollbar.
* gtkmodule.c (PyGdkEvent_GetAttr): implement __members__
attribute.
* pygtk.spec: up version.
* configure.in: up version number to 0.6.8
-rw-r--r-- | ChangeLog | 29 | ||||
-rw-r--r-- | Gtkinter.py | 8 | ||||
-rw-r--r-- | Makefile.am | 2 | ||||
-rw-r--r-- | NEWS | 7 | ||||
-rw-r--r-- | configure.in | 2 | ||||
-rw-r--r-- | generate/gtkcontainers.defs | 5 | ||||
-rw-r--r-- | generate/gtkmenus.defs | 4 | ||||
-rw-r--r-- | generate/gtkranges.defs | 4 | ||||
-rw-r--r-- | gtk.py | 56 | ||||
-rw-r--r-- | gtkmodule.c | 118 | ||||
-rw-r--r-- | pygtk.spec | 3 |
11 files changed, 218 insertions, 20 deletions
@@ -1,3 +1,32 @@ +2001-04-23 James Henstridge <james@daa.com.au> + + * Makefile.am (python_PYTHON): don't install Gtkinter anymore. + The warning not to use this has been there long enough. + + * gtk.py: add support for functions added by Fabien's patch + + Patch from Fabien COUTANT <fcoutant@freesurf.fr> + + * gtkmodule.c: add {append,prepend,insert}_element methods for + GtkToolbar. This isn't implemented quite like in Fabien's patch. + + * generate/gtkranges.defs (GtkRuler): add field position. + + * generate/gtkmenus.defs (gtk_menu_ensure_uline_accel_group): add + function wrapper. + + * generate/gtkcontainers.defs (GtkScrolledWindow): add fields + hscrollbar and vscrollbar. + + + + * gtkmodule.c (PyGdkEvent_GetAttr): implement __members__ + attribute. + + * pygtk.spec: up version. + + * configure.in: up version number to 0.6.8 + 2001-04-22 James Henstridge <james@daa.com.au> * gtk.py (GtkWidget): add here as well. diff --git a/Gtkinter.py b/Gtkinter.py deleted file mode 100644 index 65f70b56..00000000 --- a/Gtkinter.py +++ /dev/null @@ -1,8 +0,0 @@ - -#This is for compatibility. - -print "importing Gtkinter is deprecated -- use 'from gtk import *'" - -from gtk import * -from gtk import _name2cls,_obj2inst - diff --git a/Makefile.am b/Makefile.am index c53a2177..45cdafd2 100644 --- a/Makefile.am +++ b/Makefile.am @@ -58,7 +58,7 @@ gdkpixbufmodule_la_LIBADD = $(GDK_PIXBUF_LIBS) pkginclude_HEADERS = pygtk.h pygdkimlib.h pygdkpixbuf.h -python_PYTHON = gtk.py Gtkinter.py GTK.py GDK.py GtkExtra.py \ +python_PYTHON = gtk.py GTK.py GDK.py GtkExtra.py \ $(imlib_mods) $(gtkgl_mods) $(libglade_mods) noinst_PYTHON = mkgtk.py description.py @@ -1,3 +1,10 @@ +pygtk-0.6.8: 23-April-2001 + - bug fixes to GtkNotebook, GtkCList. + - add some missing methods to GtkWidget + - a gdk-pixbuf wrapper module. + - install the code generator, so that other wrappers can use + it as well. + pygtk-0.6.7: 16-February-2001 - added --disable-thread configure argument to turn off thread support even when compiling with a threaded python. diff --git a/configure.in b/configure.in index 5bb343fd..67f2b03a 100644 --- a/configure.in +++ b/configure.in @@ -1,7 +1,7 @@ AC_INIT(gtkmodule.c) AM_CONFIG_HEADER(config.h) -AM_INIT_AUTOMAKE(pygtk, 0.6.7) +AM_INIT_AUTOMAKE(pygtk, 0.6.8) AC_DISABLE_STATIC AC_PROG_LIBTOOL diff --git a/generate/gtkcontainers.defs b/generate/gtkcontainers.defs index 2eae8bb3..c32a9df2 100644 --- a/generate/gtkcontainers.defs +++ b/generate/gtkcontainers.defs @@ -636,7 +636,10 @@ ;; ScrolledWidow -(define-object GtkScrolledWindow (GtkContainer)) +(define-object GtkScrolledWindow (GtkContainer) + (fields + (GtkWidget hscrollbar) + (GtkWidget vscrollbar))) (define-func gtk_scrolled_window_new GtkWidget diff --git a/generate/gtkmenus.defs b/generate/gtkmenus.defs index 1e4f391d..d3e3563b 100644 --- a/generate/gtkmenus.defs +++ b/generate/gtkmenus.defs @@ -118,6 +118,10 @@ GtkAccelGroup ((GtkMenu menu))) +(define-func gtk_menu_ensure_uline_accel_group + GtkAccelGroup + ((GtkMenu menu))) + ;; gtk_menu_attach_to_widget (define-func gtk_menu_get_attach_widget diff --git a/generate/gtkranges.defs b/generate/gtkranges.defs index 202d5f0f..cfb1b6e8 100644 --- a/generate/gtkranges.defs +++ b/generate/gtkranges.defs @@ -108,7 +108,9 @@ ;; Ruler -(define-object GtkRuler (GtkWidget)) +(define-object GtkRuler (GtkWidget) + (fields + (float position))) (define-func gtk_ruler_set_metric none @@ -1636,6 +1636,9 @@ class GtkMenu(GtkMenuShell): _gtk.gtk_menu_set_title(self._o, title) def reorder_child(self, child, position): _gtk.gtk_menu_reorder_child(self._o, child._o, position) + def ensure_uline_accel_group(self): + return GtkAccelGroup( + _obj=_gtk.gtk_menu_ensure_uline_accel_group(self._o)) class GtkNotebook(GtkContainer): get_type = _gtk.gtk_notebook_get_type @@ -1827,6 +1830,15 @@ class GtkScrolledWindow(GtkBin): if hadj: hadj = hadj._o if vadj: vadj = vadj._o self._o = _gtk.gtk_scrolled_window_new(hadj, vadj) + def __getattr__(self, attr): + attrs = { + 'hscrollbar': _gtk.gtk_scrolled_window_get_hscrollbar, + 'vscrollbar': _gtk.gtk_scrolled_window_get_vscrollbar + } + if attrs.has_attr(attr): + return _obj2inst(attrs[attr](self._o)) + else: + return GtkBin.__getattr__(self, attr) def get_hadjustment(self): return _obj2inst(_gtk.gtk_scrolled_window_get_hadjustment( self._o)) @@ -1924,26 +1936,53 @@ class GtkToolbar(GtkContainer): style=TOOLBAR_ICONS, _obj=None): if _obj: self._o = _obj; return self._o = _gtk.gtk_toolbar_new(orientation, style) + def append_element(self, type, widget, text, tooltip, tp, icon, + callback): + if widget: widget = widget._o + if icon: icon = icon._o + if callback: callback = self.__wrap_cb(callback) + return _obj2inst(_gtk.gtk_toolbar_append_element( + self._o, type, widget, text, tooltip, tp, icon, + callback)) def append_item(self, text, tooltip, tp, icon, callback): + if icon: icon = icon._o + if callback: callback = self.__wrap_cb(callback) return _obj2inst(_gtk.gtk_toolbar_append_item( - self._o, text, tooltip, tp, icon._o, - self.__wrap_cb(callback))) + self._o, text, tooltip, tp, icon, callback)) def append_space(self): _gtk.gtk_toolbar_append_space(self._o) def append_widget(self, w, tooltip, tp): _gtk.gtk_toolbar_append_widget(self._o, w._o, tooltip, tp) + def insert_element(self, type, widget, text, tooltip, tp, icon, + callback, pos): + if widget: widget = widget._o + if icon: icon = icon._o + if callback: callback = self.__wrap_cb(callback) + return _obj2inst(_gtk.gtk_toolbar_insert_element( + self._o, type, widget, text, tooltip, tp, icon, + callback, pos)) def insert_item(self, text, tooltip, tp, icon, callback, pos): + if icon: icon = icon._o + if callback: callback = self.__wrap_cb(callback) return _obj2inst(_gtk.gtk_toolbar_insert_item( - self._o, text, tooltip, tp, icon._o, - self.__wrap_cb(callback), pos)) + self._o, text, tooltip, tp, icon, callback, pos)) def insert_space(self, pos): _gtk.gtk_toolbar_insert_space(self._o, pos) def insert_widget(self, w, tooltip, tp, pos): _gtk.gtk_toolbar_insert_widget(self._o, w._o, tooltip, tp, pos) + def prepend_element(self, type, widget, text, tooltip, tp, icon, + callback): + if widget: widget = widget._o + if icon: icon = icon._o + if callback: callback = self.__wrap_cb(callback) + return _obj2inst(_gtk.gtk_toolbar_prepend_element( + self._o, type, widget, text, tooltip, tp, icon, + callback)) def prepend_item(self, text, tooltip, tp, icon, callback): + if icon: icon = icon._o + if callback: callback = self.__wrap_cb(callback) return _obj2inst(_gtk.gtk_toolbar_prepend_item( - self._o, text, tooltip, tp, icon._o, - self.__wrap_cb(callback))) + self._o, text, tooltip, tp, icon, callback)) def prepend_space(self): _gtk.gtk_toolbar_prepend_space(self._o) def prepend_widget(self, w, tooltip, tp): @@ -2444,6 +2483,11 @@ class GtkRuler(GtkWidget): get_type = _gtk.gtk_ruler_get_type def __init__(self, _obj=None): if _obj: self._o = _obj; return + def __getattr__(self, attr): + if attr == 'position': + return _gtk.gtk_ruler_get_position(self._o) + else: + return GtkWidget.__getattr__(self, attr) def set_metric(self, metric): _gtk.gtk_ruler_set_metric(self._o, metric) def set_range(self, lo, up, pos, max): diff --git a/gtkmodule.c b/gtkmodule.c index a05b8e0c..3c7eca21 100644 --- a/gtkmodule.c +++ b/gtkmodule.c @@ -1288,6 +1288,12 @@ PyGdkEvent_GetAttr(PyGdkEvent_Object *self, char *attr) { Py_INCREF(ret); return ret; } + if (!strcmp(attr, "__members__")) { + PyObject *members = PyDict_Keys(self->attrs); + + PyList_Sort(members); + return members; + } PyErr_SetString(PyExc_AttributeError, attr); return NULL; } @@ -5241,6 +5247,115 @@ static PyObject *_wrap_gtk_toolbar_insert_item(PyObject *self, PyObject *args) { return PyGtk_New((GtkObject *)ret); } +static PyObject * +_wrap_gtk_toolbar_append_element(PyObject *self, PyObject *args) +{ + PyGtk_Object *t, *icon; + GtkToolbarChildType type; + char *text, *tooltip, *tip_private; + GtkWidget *widget = NULL, *ret; + PyObject *py_widget, *callback; + + if (!PyArg_ParseTuple(args, "O!iOzzzO!O:gtk_toolbar_append_element", + &PyGtk_Type, &t, &type, &py_widget, &text, + &tooltip, &tip_private, &PyGtk_Type, &icon, + &callback)) + return NULL; + if (PyGtk_Check(py_widget)) + widget = GTK_WIDGET(PyGtk_Get(py_widget)); + else if (py_widget != Py_None) { + PyErr_SetString(PyExc_TypeError, "third argument not a GtkWidget or None"); + return NULL; + } + if (!PyCallable_Check(callback) && callback != Py_None) { + PyErr_SetString(PyExc_TypeError, "seventh argument not callable"); + return NULL; + } + if (callback != Py_None) Py_INCREF(callback); + ret = gtk_toolbar_append_element(GTK_TOOLBAR(PyGtk_Get(t)), type, widget, + text, tooltip, tip_private, + GTK_WIDGET(PyGtk_Get(icon)), NULL, NULL); + if (callback != Py_None) { + gtk_signal_connect_full(GTK_OBJECT(ret), "clicked", NULL, + PyGtk_CallbackMarshal, callback, + PyGtk_DestroyNotify, FALSE, FALSE); + } + return PyGtk_New((GtkObject *)ret); +} + +static PyObject * +_wrap_gtk_toolbar_prepend_element(PyObject *self, PyObject *args) +{ + PyGtk_Object *t, *icon; + GtkToolbarChildType type; + char *text, *tooltip, *tip_private; + GtkWidget *widget = NULL, *ret; + PyObject *py_widget, *callback; + + if (!PyArg_ParseTuple(args, "O!iOzzzO!Oi:gtk_toolbar_prepend_element", + &PyGtk_Type, &t, &type, &py_widget, &text, + &tooltip, &tip_private, &PyGtk_Type, &icon, + &callback)) + return NULL; + if (PyGtk_Check(py_widget)) + widget = GTK_WIDGET(PyGtk_Get(py_widget)); + else if (py_widget != Py_None) { + PyErr_SetString(PyExc_TypeError, "third argument not a GtkWidget or None"); + return NULL; + } + if (!PyCallable_Check(callback) && callback != Py_None) { + PyErr_SetString(PyExc_TypeError, "seventh argument not callable"); + return NULL; + } + if (callback != Py_None) Py_INCREF(callback); + ret = gtk_toolbar_prepend_element(GTK_TOOLBAR(PyGtk_Get(t)), type, widget, + text, tooltip, tip_private, + GTK_WIDGET(PyGtk_Get(icon)), NULL, NULL); + if (callback != Py_None) { + gtk_signal_connect_full(GTK_OBJECT(ret), "clicked", NULL, + PyGtk_CallbackMarshal, callback, + PyGtk_DestroyNotify, FALSE, FALSE); + } + return PyGtk_New((GtkObject *)ret); +} + +static PyObject * +_wrap_gtk_toolbar_insert_element(PyObject *self, PyObject *args) +{ + PyGtk_Object *t, *icon; + GtkToolbarChildType type; + char *text, *tooltip, *tip_private; + GtkWidget *widget = NULL, *ret; + PyObject *py_widget, *callback; + int pos; + if (!PyArg_ParseTuple(args, "O!iOzzzO!Oi:gtk_toolbar_insert_element", + &PyGtk_Type, &t, &type, &py_widget, &text, + &tooltip, &tip_private, &PyGtk_Type, &icon, + &callback, &pos)) + return NULL; + if (PyGtk_Check(py_widget)) + widget = GTK_WIDGET(PyGtk_Get(py_widget)); + else if (py_widget != Py_None) { + PyErr_SetString(PyExc_TypeError, "third argument not a GtkWidget or None"); + return NULL; + } + if (!PyCallable_Check(callback) && callback != Py_None) { + PyErr_SetString(PyExc_TypeError, "seventh argument not callable"); + return NULL; + } + if (callback != Py_None) Py_INCREF(callback); + ret = gtk_toolbar_insert_element(GTK_TOOLBAR(PyGtk_Get(t)), type, widget, + text, tooltip, tip_private, + GTK_WIDGET(PyGtk_Get(icon)), NULL, NULL, + pos); + if (callback != Py_None) { + gtk_signal_connect_full(GTK_OBJECT(ret), "clicked", NULL, + PyGtk_CallbackMarshal, callback, + PyGtk_DestroyNotify, FALSE, FALSE); + } + return PyGtk_New((GtkObject *)ret); +} + static PyObject *_wrap_gtk_drag_dest_set(PyObject *self, PyObject *args) { PyObject *widget, *py_flags, *py_actions, *py_list; GtkDestDefaults flags; @@ -6800,6 +6915,9 @@ static PyMethodDef _gtkmoduleMethods[] = { { "gtk_toolbar_append_item", _wrap_gtk_toolbar_append_item, 1 }, { "gtk_toolbar_prepend_item", _wrap_gtk_toolbar_prepend_item, 1 }, { "gtk_toolbar_insert_item", _wrap_gtk_toolbar_insert_item, 1 }, + { "gtk_toolbar_append_element", _wrap_gtk_toolbar_append_element, 1 }, + { "gtk_toolbar_prepend_element", _wrap_gtk_toolbar_prepend_element, 1 }, + { "gtk_toolbar_insert_element", _wrap_gtk_toolbar_insert_element, 1 }, { "gtk_label_get", _wrap_gtk_label_get, 1 }, { "gtk_color_selection_get_color", _wrap_gtk_color_selection_get_color,1 }, { "gtk_color_selection_set_color", _wrap_gtk_color_selection_set_color,1 }, @@ -1,7 +1,7 @@ %define py_prefix /usr # py_ver should only be 3 characters (1.5.1 == 1.5) %define py_ver 1.5 -%define ver 0.6.7 +%define ver 0.6.8 # you may want to remove some of the sub packages depending on what you # have installed on your system when building this package. @@ -66,7 +66,6 @@ make DESTDIR=$RPM_BUILD_ROOT install %files %{py_prefix}/lib/python%{py_ver}/site-packages/gtk.py* -%{py_prefix}/lib/python%{py_ver}/site-packages/Gtkinter.py* %{py_prefix}/lib/python%{py_ver}/site-packages/GtkExtra.py* %{py_prefix}/lib/python%{py_ver}/site-packages/GTK.py* %{py_prefix}/lib/python%{py_ver}/site-packages/GDK.py* |