Alex,
> I feel the design of Dia is quite good. I did do the right thing in the
> beginning by scrapping the first version i did and do a complete rewrite.
> Dia's design is a bit minimalistic. It is designed to be finished. No
> grand ideas and overly complex abstractions. There are of course
> abstractions, like the renderer and the object system, but they are quite
> small and to the point. I decided from the begining to use ANSI C, both
> because that is what i know absolutely best, and because of portability
> reasons. The 'object-oriented' design of the canvas objects was given,
> that is a text-book example of when to use subclassing, only i implemented
> it in C.
>
> Now i feel quite satisfied with Dia's architecture. There are only one
> real thing that i would like it to have before it could be called 1.0
> (except fine-tuning, various features and new objects), and that is UNDO
> capabilities. This would need quite a lot of changes, as all modifications
> of diagrams need to pass thorough a central point, and the modification,
> with data needed to revert them, needs to be stored on a stack. This is
> quite hard, and might lead to changes in the object system. I haven't
> though much about this, as i haven't done this before, and it's quite a
> lot of work... We'll see if we can do it...
If the Undo mechanism could be better accomplished by rewriting Dia in
C++, would you give a C++ port your blessing?
I love using Dia, and I thank you for starting such a cool project. I'm
just a little disapointed it wasn't implemented in an OO language. I think
adding new objects could be done much cleaner, faster, and more efficiently
if it was written in C++.
-Ben
--
Ben Hochstedler http://www.mei.com GE Marquette Medical Systems
[EMAIL PROTECTED] Phone: 414-362-3317 Fax: 414-362-3389