pygtk r3033 - in trunk: . gtk tests



Author: gianmt
Date: Mon Sep  1 21:21:36 2008
New Revision: 3033
URL: http://svn.gnome.org/viewvc/pygtk?rev=3033&view=rev

Log:
Wrap gtk_widget_list_accel_closures fixes #309554

Added:
   trunk/tests/test_accel_closures.py
Modified:
   trunk/ChangeLog
   trunk/gtk/gtkwidget.override
   trunk/tests/Makefile.am

Modified: trunk/gtk/gtkwidget.override
==============================================================================
--- trunk/gtk/gtkwidget.override	(original)
+++ trunk/gtk/gtkwidget.override	Mon Sep  1 21:21:36 2008
@@ -256,9 +256,9 @@
 	g_type_class_unref(class);
 	return NULL;
     }
-    
+
     gtk_widget_class_install_style_property(class, pspec);
-	
+
     g_type_class_unref(class);
 
     Py_INCREF(Py_None);
@@ -332,7 +332,7 @@
 	PyErr_SetString(PyExc_TypeError, "must be a GdkWindow object");
 	return -1;
     }
-    
+
     GTK_WIDGET(self->obj)->window = g_object_ref(GDK_WINDOW(value->obj));
 
     return 0;
@@ -348,7 +348,7 @@
     }
 
     pygdk_rectangle_from_pyobject(value, &GTK_WIDGET(self->obj)->allocation);
-    
+
     return 0;
 }
 %%
@@ -573,3 +573,24 @@
      g_type_class_unref(klass);
      return signame;
 }
+
+%%
+override gtk_widget_list_accel_closures noargs
+static PyObject *
+_wrap_gtk_widget_list_accel_closures(PyGObject *self)
+{
+    int i;
+    GList *ret, *tmp;
+    PyObject *pyret;
+
+    ret = gtk_widget_list_accel_closures(GTK_WIDGET(self->obj));
+
+    pyret = PyList_New(g_list_length(ret));
+    for (tmp = ret, i = 0; tmp; tmp = tmp->next, i++) {
+        PyObject *item = pyg_boxed_new(G_TYPE_CLOSURE, tmp->data, TRUE, TRUE);
+        PyList_SET_ITEM(pyret, i, item);
+    }
+
+    g_list_free(ret);
+    return pyret;
+}

Modified: trunk/tests/Makefile.am
==============================================================================
--- trunk/tests/Makefile.am	(original)
+++ trunk/tests/Makefile.am	Mon Sep  1 21:21:36 2008
@@ -20,7 +20,8 @@
 	test_rectangle.py			\
 	test_style.py				\
 	test_textview.py			\
-	test_treeview.py
+	test_treeview.py			\
+	test_accel_closures.py
 
 GTK_PY_FILES = __init__.py _lazyutils.py compat.py deprecation.py keysyms.py
 
@@ -36,4 +37,4 @@
 	     rm -f $(top_builddir)/gtk/$${gtk_py}*; \
            done \
 	fi
-	@rm -fr *.pyc 
+	@rm -fr *.pyc

Added: trunk/tests/test_accel_closures.py
==============================================================================
--- (empty file)
+++ trunk/tests/test_accel_closures.py	Mon Sep  1 21:21:36 2008
@@ -0,0 +1,20 @@
+import unittest
+
+from common import gtk, gobject
+
+class AccelClosures(unittest.TestCase):
+
+    def testListAccelClosures(self):
+        group = gtk.AccelGroup()
+        window = gtk.Window()
+        window.add_accel_group(group)
+        button = gtk.Button()
+        window.add(button)
+        button.add_accelerator("clicked", group, gtk.keysyms.x, gtk.gdk.CONTROL_MASK, 0)
+        for closure in button.list_accel_closures():
+            group1 = gtk.accel_group_from_accel_closure(closure)
+            self.assert_(group1 is group)
+        window.destroy()
+
+if __name__ == '__main__':
+    unittest.main()



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]