I am prototyping a keyword search based application.
For easy programming, I use Python.
For easy GUI design, I chose glade.
So I have to use PyGTK.
The application is not demanding in terms of innovative technology or software versions, so I use a PC with RedHat 8.0.
However, I ran into a snag:
I wanted to use the gtk.TreeRowReference binding to refer to rows of a listbox, which I want to delete.
However, it turns out that the Python bindings of GTK didn’t cover 100% of the GTK’s API. One of the missing APIs is… gtk.TreeRowReference, which was added only to PyGTK 2.4.
The PyGTK version which came with RedHat 8.0 is 1.99.12.
I worked around the problem by using paths. Since paths (unlike references) become invalid if rows are inserted/deleted into the listbox before the row referred to, I had to delete the rows in reverse order – from the end to the beginning.
I promise to myself that next time I install Linux from fresh, I’ll use Debian. Then I’ll be able to solve the problem by upgrading packages until I get PyGTK 2.4 and the appropriate versions of packages upon which it depends.