gtkmm 1.3 is going very well.

gtkmm 1.3 is going very well. We’ll release a new
version to show the new stuff after gtk+1.3.11 is released,
which should be soon.

Most of the big architectural stuff has been done. In
particular I spent a long time figuring out a way to wrap
GTK+ interfaces into C++ MI. That’s done now, though only
for existing implementations. Ideally we would be able to
make the underlying GTK+ instance implement a GTK+ interface
just by additionally inheriting from our wrapper of the
interface, but that will require some extra tricks. The
problem is that every class derived from one of our GTK+
wrappers shares the same GTK+ gtype at the moment.

kenelson has started to rework the
signal connection stuff. I
worried that our developers would object to a change to the
signal API, but we had a vote and they voted overwhelmingly
for the change, which was refreshing.

I discovered some very strange window self-destruction in
gtkmm-1.2 that we’ve inherited from the C API, and which has
obiously confused a lot of people for a while. Daniel came
up with a great fix for this, and I took the opportunity to
add a MainWindow concept to gtkmm. Together these should
remove some really funny-looking code from people’s apps.
This is some of the first code that people see in the
examples, so fixing it so well makes me very happy.

We are well into the API review now, which is approx 80%
done, not including the additional STL-style
container/iterator interface that will be needed for
TreeView and TextView. I’ve done some of the more fun parts
of gtk-demo in C++, which should be good advertising.

I also had to take some time to fix some GTK+ code to
make it construct-time-properties compliant. Writing GTK+ C
code is immensly tedious and it’s even worse if it’s
internals. I wanted to fix libgnomeui too, but that doesn’t
seem possible, mostly because the idea of a constructor is
not as full-featured in GTK+ as in real O-O languages. At
least it’s good enough for libgnomeuimm, which I will start
soon. It will probably be finished quickly as there’s still
no sign of a job on the horizon.

Tomorrow I’m off to Dahab, Egypt for a week to do the
scuba course that I had to cancel at the start of the year
when I broke my ankle. That much sun will feel very strange
after several weeks of night and day gtkmm hacking.