diff options
author | Johan Dahlin <johan@src.gnome.org> | 2006-04-05 22:00:33 +0000 |
---|---|---|
committer | Johan Dahlin <johan@src.gnome.org> | 2006-04-05 22:00:33 +0000 |
commit | 8f80074653f747a42baba5c062fe731712ebceec (patch) | |
tree | 4b45adfa9a6e7cef9cdfd0e626ec58d581fd69dd | |
parent | 063028c9f54639e3d7af573b54fadcea4e51a9d2 (diff) | |
download | pygtk-8f80074653f747a42baba5c062fe731712ebceec.tar.gz |
Allow callback to be set to None, found by Patrick O'Brien
* gtk/gtktreeview.override
(_wrap_gtk_tree_sortable_set_default_sort_func): Allow callback
to be set to None, found by Patrick O'Brien
* tests/test_liststore.py (ListStoreTest.testSetDefaultSortFunc):
Add test
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | gtk/gtktreeview.override | 10 | ||||
-rw-r--r-- | tests/test_liststore.py | 12 |
3 files changed, 30 insertions, 1 deletions
@@ -1,3 +1,12 @@ +2006-04-05 Johan Dahlin <jdahlin@async.com.br> + + * gtk/gtktreeview.override + (_wrap_gtk_tree_sortable_set_default_sort_func): Allow callback + to be set to None, found by Patrick O'Brien + + * tests/test_liststore.py (ListStoreTest.testSetDefaultSortFunc): + Add test + 2006-04-04 Johan Dahlin <jdahlin@async.com.br> * configure.in: Post release version bump diff --git a/gtk/gtktreeview.override b/gtk/gtktreeview.override index a1496562..62bccbbd 100644 --- a/gtk/gtktreeview.override +++ b/gtk/gtktreeview.override @@ -1106,6 +1106,14 @@ _wrap_gtk_tree_sortable_set_default_sort_func(PyGObject *self, PyObject *args) &callback, &data)) return NULL; + if (callback == Py_None) { + gtk_tree_sortable_set_default_sort_func(GTK_TREE_SORTABLE(self->obj), + NULL, + NULL, + NULL); + goto beach; + } + if (!PyCallable_Check(callback)) { PyErr_SetString(PyExc_TypeError, "callback must be a callable object"); return NULL; @@ -1120,7 +1128,7 @@ _wrap_gtk_tree_sortable_set_default_sort_func(PyGObject *self, PyObject *args) pygtk_tree_sortable_sort_cb, cunote, pygtk_custom_destroy_notify); - + beach: Py_INCREF(Py_None); return Py_None; } diff --git a/tests/test_liststore.py b/tests/test_liststore.py index 65cc900c..da53a07e 100644 --- a/tests/test_liststore.py +++ b/tests/test_liststore.py @@ -20,5 +20,17 @@ class ListStoreTest(unittest.TestCase): self.assertEqual(store[0][0], 1) self.assertEqual(store[1][0], 2) + # TreeSortable, but... + + def testSetDefaultSortFunc(self): + store = gtk.ListStore(int) + self.failIf(store.has_default_sort_func()) + store.set_default_sort_func(lambda x: None) + store.set_sort_column_id(0, gtk.SORT_ASCENDING) + + self.failUnless(store.has_default_sort_func()) + store.set_default_sort_func(None) + self.failIf(store.has_default_sort_func()) + if __name__ == '__main__': unittest.main() |