Older blog entries for ebassi (starting at number 3)

21 Apr 2004 (updated 21 Apr 2004 at 23:26 UTC) »

* libgtodo: In a couple of hours, I've done a decent job in subclassing GtkListStore into the GTodoListStore class. Still missing some methods, but the constructor works, and the model is usable with a GtkTreeView widget (here's a screenshot of the test app). I plan to wrap everything up tomorrow, and ask QBall to design the GTodoListView widget.

* study: boring class on computer programming. I've already done this when taking the computer engineering course (I switched to a pure CS course when I fluked three times in a row the electronics and the theory of automation classes; it's not that I don't like engineering: it's engineering that does not like me).

* life: starting may 1st, my parents are going to Rome for three days. This means: free house for approx. 72 hours. Woo-hoo!

* libgtodo: Yet another week begins, and yet another week of work on libgtodo. I've completed the basics of the GTodoClient object: it can append/remove items (and categories), and each modification is dumped onto the XML tree in memory. I began working on a sub-class of GtkListStore, called GTodoListStore, which will interface a GTodoClient object with a liststore, and later I'll design a GTodoListView widget, subclassing GtkTreeView.

Thus, a simple viewer, would consist of these calls:

client = gtodo_client_new (some_uri);

store = gtodo_list_store_new (client);

g_object_unref (client); /* store holds a reference */

view = gtodo_list_view_new_with_model (store);

gtk_widget_show (view);

In parallel, this week I'll begin writing a Perl binding to libgtodo. Subclassing a widget in Perl is quite fast, so I could design a prototype and then port it to C. Discussions about a platform language always revolve around Java/C# (with brief appearances of Python, from time to time), but they always forget that gtk2-perl and gnome2-perl bindings are one of the most advanced bindings available on GNOME D&DP. With the upcoming of Perl6 and Parrot, I'd say to give Perl a chance.

This week I've been working on libgtodo, by QBall (of gnomesupport fame). I converted it to GObject and broke everything I could think of: ABI, API, XML file format... But then, if you have to break something, better break it right. The API is much more straightforward, now, and better, I think. Now, libgtodo behaves like GConf: a client, which monitors an XML file, and keeps track of the task list. I plan to wrap this library with a Perl (and, later, a Python) binding. This is part of a grand master plan of creating a series of libraries for handling common operations for a PIM, such as a contact list, a daily/montly/yearly schedule and task lists. Right now, the only PIM for GNOME is Evolution; and as much as I appreciate the efforts for making it the best groupware around, a simple, lightweight, PIM is what GNOME is lacking right now, in my opinion.

* Still working on the perl translation of the gtk tutorial (with a hand from James Curbo), and I've hit the first culprit: should I remove the ItemFactory/Combo/FileSelection stuff, deprecated by GTK 2.4, or should I simple put a "Warning: This Stuff is Deprecated" on it?

* I've installed GNOME 2.6 from Debian experimental repository (great job, guys), and I'm testing the various gtk2-perl stuff under this new release. BTW: Gnome2::GConf hit the scene with the first stable release (1.000). Apart from brown-paper-bag releases, this one should be the one that goes into the GNOME Platform Bindings official release.

* First Post (using gnome-blog applet).

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!