> Yes, this would be nice. In fact i often fet this suggestion. It's not
> as easy as it seems though. The exact semantics of placing a
> connectionpoint and then resizing or otherwise changing the objects
> are quite complex to specify.
why ? Isn't it all based simply on linear transformations ? Then you
would transform the connection point as any other within the object.
Problems arise if constraints would hinder you to apply the trafo.
Then it would be more appropriate to put a real constraint solver at
the heart of the whole editor and every connection point would become
a 'constrained variable'.
> > I found the horizontal/vertical alignment operations to be confusing, half
> > the time I picked the wrong one -- I think of horizontal alignment as
> > placing the objects on a horizontal line. How do other programs do this?
>
> Thats the way it works. Aligning horizontally at the top means
> aligning the top of the objects to a horizontal line. I haven't
> checked out how other programs work.
I think it should be the inverse: a horizontal box tiles horizontally and
aligns vertically. So whenever I see alignment:horizontal it means for me
to shift on the x axis.
> > A tricky kind of connection point that would be useful: Floating
> > connection. If, in the diagram, I want to move the Data memory block up or
> > down, normal connection points would create slanted lines, where what I
> > really want is lines that stay horizontal. This is tricky indeed to
> > implement.
> Yes. It might be hard to use them too...
Hmmm, a semi-manual way: put a line which is first purely horizontal.
Then take the object you would like to connect to it's end point and let
it snap to the line.
However, this is only doable in a coherent way with real constraint
solvers (may be it would really be worth, there are a couple of GPLed
constraint solvers out there you could base on)
> > Boxes with rounded corners would be nice.
> Yepp.
Definitely. Object interaction diagrams (UML) require this.
> > Aside from all these points (of which the arrowhead sizing is the only real
> > showstopper (mea culpa)), I am very pleased with how smoothly it went.
> > Dia is absolutely getting useful.
> That's nice. I don't really use it right now as i don't do so much
> documentation. We might be using it at work soon though...
Another useful feature would be the ability to create composed objects,
save them in special files and use them in diagrams as new object types.
This would even allow to create hierarchical diagrams.
Stefan