[PythonCAD] Plans for next release and beyond

Art Haas ahaas at airmail.net
Thu Jan 6 16:32:10 CET 2005


The release will be in a couple of days, probably around January 11 or
12. A number of bug fixes (i.e. typos) and small cleanups that I made
just after the previous release will be included, as well as the ability
to save the locked and visibility status of an entity. I also did some
cleanup work on the various execute() methods of the Log classes, and in
doing so found some useless code in a number of places that I'm guessing
were due to copy-n-paste-n-fix coding. The fixes in this code now make
the code consistent in that the undo/redo operation is run prior to
storing the data needed to undo or redo the just completed operation.
Previously this behavior was inconsistent.

As for future development plans, one goal will be to utilize some of the
newer features in Python 2.3 and 2.4. For example, the 'types' module
has a BooleanType value that can be used to test if some variable is
either True or False. The way this value is now used is similiar to
to following code fragment:

import types
if hasattr(types, 'BooleanType')
	... variable test and code here ...
	... test and code here for Python 2.2 ...

I still believe that the code needs to be working in Python 2.2, but at
some date in the future the minimum Python version will be bumped up to
2.3, though that date is still probably far off.

Another goal is to do some work on the interface. For nearly the entire
span of PythonCAD's public availability, the user interface has hardly
changed. More menu choices and dialogs have been added, but the overall
layout is still the same, as is much of the code. With the addition of
the messaging in the core PythonCAD code, the interface should be
adjusted to listen to various messages and respond accordingly, and
changing things to make that happen will be part of this year's
development efforts. Also, the code needs to be changed to take
advantage of some of the newer features in PyGTK as well as replace
various deprecated widgets. Code that creates an gtk.OptionMenu needs to
be changed to create the newer gtk.ComboBox, for example. Also, using
GTK/PyGTK routines like UIManager to draw the menus looks like the way
to go. I'll still like to try and code things so that PyGTK version 2.0
will still work, but adding code to utilize version 2.2, 2.4, and even
newer releases is definitely on the agenda.

I still need to write up my summary regarding last years work. Overall
I'm really pleased at how the program improved - undo/redo works, the
first printing abilities were added, and many internal improvements were
added. I'll elaborate on these things on the web page.
Art Haas <ahaas at airmail.net>

More information about the PythonCAD mailing list