pygtk r2996 - in trunk: . examples/pygtk-demo/demos gtk
- From: gianmt svn gnome org
- To: svn-commits-list gnome org
- Subject: pygtk r2996 - in trunk: . examples/pygtk-demo/demos gtk
- Date: Sun, 22 Jun 2008 18:28:44 +0000 (UTC)
Author: gianmt
Date: Sun Jun 22 18:28:44 2008
New Revision: 2996
URL: http://svn.gnome.org/viewvc/pygtk?rev=2996&view=rev
Log:
wrap gtk.TreeView.get_tooltip_context and use it in the demo, fixes #530145
Modified:
trunk/ChangeLog
trunk/examples/pygtk-demo/demos/tooltip.py
trunk/gtk/gtktreeview.override
Modified: trunk/examples/pygtk-demo/demos/tooltip.py
==============================================================================
--- trunk/examples/pygtk-demo/demos/tooltip.py (original)
+++ trunk/examples/pygtk-demo/demos/tooltip.py Sun Jun 22 18:28:44 2008
@@ -163,28 +163,15 @@
return True
def query_tooltip_tree_view_cb(self, widget, x, y, keyboard_tip, tooltip):
- model = widget.get_model()
-
- if keyboard_tip:
- # Keyboard mode
- ret = widget.get_cursor()
-
- if not ret[0]:
- return False
+ if not widget.get_tooltip_context(x, y, keyboard_tip):
+ return False
else:
- coords = widget.convert_widget_to_bin_window_coords(x, y)
-
- # Mouse mode
- tp = widget.get_path_at_pos(coords[0], coords[1])
- if not tp:
- return False
-
- iter = model.get_iter(tp[0])
- value = model.get(iter, 0)
-
- tooltip.set_markup("<b>Path %s:</b> %s" %(tp[0][0], value[0]))
-
- return True
+ model, path, iter = widget.get_tooltip_context(x, y, keyboard_tip)
+
+ value = model.get(iter, 0)
+ tooltip.set_markup("<b>Path %s:</b> %s" %(path[0], value[0]))
+ widget.set_tooltip_row(tooltip, path)
+ return True
def query_tooltip_drawing_area_cb(self, widget, x, y, keyboard_tip,
tooltip, data=None):
Modified: trunk/gtk/gtktreeview.override
==============================================================================
--- trunk/gtk/gtktreeview.override (original)
+++ trunk/gtk/gtktreeview.override Sun Jun 22 18:28:44 2008
@@ -3446,3 +3446,41 @@
return Py_BuildValue("(ii)", tree_x, tree_y);
}
+%%
+override gtk_tree_view_get_tooltip_context kwargs
+static PyObject *
+_wrap_gtk_tree_view_get_tooltip_context(PyGObject *self,
+ PyObject *args,
+ PyObject *kwargs)
+{
+ static char *kwlist[] = { "x", "y", "keyboard_tip", NULL };
+
+ gboolean ret;
+ PyObject *py_ret = Py_None, *py_keyboard_tip = Py_True;
+ gint x, y;
+ GtkTreeModel *tree_model;
+ GtkTreePath *path;
+ GtkTreeIter iter;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+ "iiO:GtkTreeView.get_tooltip_context",
+ kwlist, &x, &y, &py_keyboard_tip))
+ return NULL;
+
+ ret = gtk_tree_view_get_tooltip_context(GTK_TREE_VIEW(self->obj), &x, &y,
+ PyObject_IsTrue(py_keyboard_tip),
+ &tree_model,
+ &path, &iter);
+ if (ret) {
+ py_ret = Py_BuildValue("(NNN)",
+ pygobject_new((GObject *)tree_model),
+ pygtk_tree_path_to_pyobject(path),
+ pyg_boxed_new(GTK_TYPE_TREE_ITER, &iter,
+ TRUE, TRUE));
+
+ gtk_tree_path_free(path);
+ return py_ret;
+ }
+ Py_INCREF(py_ret);
+ return py_ret;
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]