More work on ExtensionClass based pygtk. I now have an
almost finished code generator that will convert files in
Havoc’s new defs format to ExtensionClass based wrappers.
There are a few problems, but it is mostly working.
Handling of plain functions is partly done as well.
I should apply some of the fixes people have sent in to
the HEAD branch of pygtk. I should also look at fixing the
gettext.py bug for catalogs created on big endian
It got up to 37 degrees C today. Very hot.
Have started using Sawmill as my window manager. It
feels quite nice and is very configurable. I am sure I
could easily waste hours getting it to act exactly how I
want it to
Have started working on the new ExtensionClass based
pygtk code. It is on the extension-class-branch of
pygtk in CVS. Currently there is not much to see other than
a program to convert header files to Havoc’s new defs file
format and a program to merge changes from one defs file
into another (needed because the header parser is not
perfect and there is some info that is just not included in
C headers). There is also a bit of code in pygtk/gtk/ (I am
rearanging some of the modules to be nicer to the module
namespace, and friendlier to case insensitive platforms such
as win32). Code generator comes next.
A new SVG draft came out. It includes stuff about
`Exchange SVG’. Maybe it would be good to use it for the
shape files in dia instead of the current method using style
Haven’t posted anything here for a while. We released a
new version of dia. Some of the features are not complete,
but for most things, it is more stable than the last
version. I also updated the web site this time
Still looking into using ExtensionClass
in pygtk/gnome-python. I wasn’t able to find any info on
subclassing ExtensionClasses from C and didn’t get any
response from Jim Fulton, so I went ahead and added the
feature myself. I posted the patch to Jim and the zope-dev
list for anyone else who may want it. I hope it gets
included, as I don’t want to end up maintaining a fork of
ExtensionClass. This looks like it will greatly reduce the
amount of hand coded stuff found in pygtk, which will be
There are a number of patches that I have to integrate
into pygtk. I will look at that soon. I should also make a
new release of libglade as well.
The river is still toxic. There were hardly any boats
out on the river today. It is not surprising that there
weren’t many small boats (you wouldn’t want to risk falling
in), but there didn’t seem to be many larger boats
Thought a bit about buying my own set of scuba gear.
This will be easier than sharing the sets with the other
rovers down at Pelican Point.
As for dia, I posted something about some of James Cape’s
suggestions for the UI of the toolbox to the list. Not many
people liked the idea of having seperate windows for each
sheet. I can’t say I like the idea that much.
I finished integrating Lars’s properties patch into dia
(after modifying it so that it uses the offsets code). Now
you can group a number of lines and set their dash pattern
(before, you would have to ungroup the lines and go to each
individual properties dialog.
There are a few missing features though. Undo on changes
to a group does not work correctly. I will have to
implement a “compound ObjectChange” for this to work
correctly. I should also make it so you can modify the
properties of multiple objects without having to group them
(just selecting them).
Once more of the objects are changed over to using
properties maybe we will put out another release. There are
a few changes I want to make to the properties code though
(eg. giving bounds for number properties, giving enumeration
values for enum properties, etc).
I made a new release of gnome-python yesterday. Most of
the fixes in this one were applied by Matt Wilson. I am
looking at changing gnome-python/pygtk over to using
ExtensionClass. This will hopefully remove a lot of the
hand written python code, increase the amount of code that
can be generated, reduce memory usage and give a one to one
PyObject <–> GtkObject mapping and remove the need
for python class wrappers. With Havoc’s new defs file
format, doing the code generation should be even easier.
Went for a dive on saturday, around 7pm. Since the river
is toxic at the moment (an algae bloom), we went to the
wreck just off north mole. It seems that all the jellyfish
from the river had gone out to the sea where we were diving.
There were a few stinger jellyfish out there as well. They
were particularly annoying, as you couldn’t really see them
until they were about half a metre from you. I got to try
out my new dive light — it makes a big difference to what
you can see.
Was doing a bit of dia hacking on the weekend as well. I
implemented some convenience interfaces to make writing the
properties routines a bit easier. I also added some code to
help write the load/save routines of an object using the
properties interface. When the properties stuff is done, it
should make writing new objects a bit easier.
I hate the heat at this time of year. I got up to around
40 degrees celcius yesterday.
The properties code in dia is working a bit. I switched
the flowchart box object over to using properties, and it
seems to be working fine. I also added properties code to
the group object. You can select two flowchart boxes, group
them and set both their properties at once. There is still
a bit of work to be done w.r.t. undo with the group object
— I think I will have to implement a composite ObjectChange
to handle that. It will also be necessary to add change
notification to the group properties dialog so that we only
set the properties the user changes (this might be a good
thing in any case).
I will probably add code to make saving an object a one
line operation with the properties code. Loading should be
just/almost as easy. This should make it easier to write
new objects in C. Cyrille is looking at writing some
convenience routines for writing the property set/get
Been working on the property code for dia I proposed a
few months back. This should provide an easy way to
construct the property dialogs for objects. Once I add
support for it in the python scripting plug-in, we should
suddenly have a lot more power in manipulating the diagrams
programatically. One other thing to think about is adding
support for custom properties for custom shapes.
Have been playing around with zope for about a month, and
am very happy with it. Very nice to use and very powerful
(once you grab a few extra zope products and work out how to
Have not posted anything here for a while. I got back
from my holiday last wednesday. It was three weeks in New
Zealand and a few days in Melbourne. Other than getting my
bags lost for two days on the way into NZ, it was a good
trip. In Melbourne, I stopped by at my uncle’s company Data Electronics. Some
of their new products sound very interesting.
One problem with the trip was lack of access to email. I
had heaps when I got back. I quickly learnt that the signs
saying a shop had `Internet/Email’ meant they had a web
browser with its home page set to hotmail. Not very useful
if you need an ssh client. Maybe I should look into one of
those java ssh clients for such occasions.
Matt Wilson has been doing quite a bit of bug fixing on
gnome-python, so we will be making a new release of that
soon. A number of people have been doing some work on dia.
Mainly Cyrille who has been doing some new object libraries
and and a bit of work on other bits. There are also a
number of custom shapes that people have done (mainly
network related ones) that I need to integrate.
I made another release of Dia. This
one should fix the bugs people reported just after the 0.82
release. You can now copy/paste image and bezier objects
without dia crashing. I also added a new export dialog
modeled after gimp’s save dialog. This also allows me to
separate off export filters to plugins, which is good.
I have included a partially complete CGM filter with the
new release. It does everything except beziers at the
moment. There is a polybezier element in CGM v3, but I have
not had much luck finding docs for it. I don’t even know if
it is meant to be a closed, filled region or just a
Some more work on gnorpm. It almost compiles again. I
just need to finish off converting the web find window to
the new API and then I can start testing it. After that I
should see what changes are necessary to get it compiling
with RH6.1 and make sure it doesn’t crash in that setup.
Then I can go and start cleaning out all the bug reports.
Is there any record for the largest number of merged bug
reports closed in one go? It certainly feels like I shoulf
be in the running