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

Reply via email to