[PythonCAD] other notes about development
Stuart Brorson
sdb at cloud9.net
Sat Mar 4 22:34:29 CET 2006
> > I must somehow agree here. I remember looking at the code more
> > closely a while ago. Initially I applauded the separation. But then
> > I discovered that the core/engine/whatever was too much linked with
> > the GUI. Specifically I remember the menu layout being specified in
> > the GUI-independent part, this did really put me off. I was hoping to
> > find a much more generic core/engine where one can then build several
> > UI's on. For example, why should it not be possible to build two GTK
> > GUI's that look different?
>
> The initial menu code was in the 'Generic' code, but that is no longer
> true. When I first started working on PythonCAD I thought that was the
> way things should be done, so the interface would use the 'menus.py'
> file and build a menu/toolbar/something from that file. That approach
> has since been abandoned, and all the menu code is now done in the
> 'gtkmenus.py' file. The 'menus.py' file is still around but is not used.
> I need to 'svn delete' it ...
Hi Art and company,
This has been an interesting thread. I also am kind of confused about
how the GUI part of the code relates to the GUI-independent back end.
Art has graceously and helpfully tried to explain it in e-mails, and
that has been useful. However, I wonder if it would help prospective
developers to have some kind of UML drawing showing how the GUI stuff
is supposed to relate -- and communicate -- with the non-GUI stuff.
Some time ago I made a quick class drawing of PythonCAD in pseudo-UML
& contributed it to the project. It is kind of limited, but I found
the exercise useful. However, that is only a small step. Since then
I have thought that another diagram showing how a representative
drawing is made up would be a good thing. The drawing would show how
the different graphic objects were related to or point to each other.
That is, take a drawing of a segment, a circle, and perhaps a
dimension, and show how each object is instantiated, in which object
list it lives, etc.
Another useful UML-type drawing would be a protocol/communication
drawing showing how the GUI stuff is supposed to communicate to the
non-GUI stuff in response to various user commands (e.g. place a
segment, move a segment, erase a segment, undo/redo an operation,
etc.).
Just some thoughts. I may look at making one or more of these
drawings at some point, but my day job & other activities prohibit me
from getting too involved right now. :-(
Stuart
More information about the PythonCAD
mailing list