Before filling a Gtk.TreeView with content I want to know how much rows (of same height) I can put into it before reaching the invisible area where I have to scroll into. I want to offer my users a TreeView not as a scrollable list but as a page like view.
I DuckDuckGo'ed around and also read the docu. As I can see there is no easy way to ask the Gtk.TreeView itself for this information. IMO it should be possible. So the main question to the core devs is if this is an acceptable feature request or not? Currently I see three not so easy and clean ways to workaround the problem. I would be interested in your opinions about them. Please also take my other posting about Gtk.TreeView.get_vsible_range() into account. 1. CellRenderer height First you have to add one row to the TreeView. Ask the CellRenderer for its height. Assume the real row height a bit higher - round about 2 or 4 pixel. Do Gtk.TreeView.get_visible_rect(). Do visble_rect.height / row_height and you got the number. Problems: The magic number doesn't work well. As higher the TreeView becomes (e.g. on a 90° rotated display) there is more empty space at the end of the view. 2. get_cell_area() Alternativ to 1. you can compute the height of a row via Gtk.TreeView.get_cell_area(). But you also have to use a magic number here. 3. get_visible_range() Fill the TreeView (more specific its model) step by step with rows. After each row ask Gtk.TreeView.get_visible_range() and check if the resulting end_path fits to the last added row or not. But there might be undocumented problems with that function. _______________________________________________ python-hackers-list mailing list python-hackers-list@gnome.org https://mail.gnome.org/mailman/listinfo/python-hackers-list