Tuesday, August 21, 2007

Toolkit adventures

So it seems that I have become a TreeView hacker ;-) Well, not the GTK+ one as we all know that Kris is doing a splendid job at that, but the ETK one.

Gustavo and me sat down to discuss what features we need for a list widget for Canola and had a few choices as creating a new list, merging the list I made and the one Gustavo made as they both have advantages and disadvantages, or we could use the ETK one. Andrunko convinces us that using ETK was the way to go. I had a quick look at it and agreed.

Andrunko already implemented proof-of-concept kinetic scrolling and I improved it a bit, by extending it to stop at the right position. Andrunko, working on another project, requested me to add separators, and I took a look at it... SCARY!

Tree view code is scary, and complex and I was met with functions larger than 500 lines of code ;-) uh... where to start... I started out my doing some refactoring and it actually took me 2-3 days getting to understand the code, and actually refactor it, but the funny thing is that when I understood the code it took me like 10 min to actually implement the separators :-) Now all there is left is implementing support for different row heights, as I would like the separator rows a bit smaller.



On a related note, Gustavo made a website where you can download the EFL Maemo Edition, so that you can run apps based on EFL on your N800. Go check it out:

http://maemo-efl.garage.maemo.org/

Also, a few new guys jointed the Canola team here at INdT; Caio who is working on creating python bindings for ETK, and Eduardo Lima aka. Etrunko (known for many Maemo ports, such as Gnumeric, Evince, and also for the cool Carman project) who will also be working with ETK. A warm welcome to them both!