> Some kind of constraint on the connections could solve
> several problems,
> such as ensuring that a line is orthogonal to the object
> border. It's not
> an easy task, though, since the objects would have to provide
> a lot of info
> for the constraints.
It's relatively easy, the cassowary library is only lacking conditional constraints
for now.
As constraint info is involved, you won't need more info than when you make it
programmatically. To connect a handle to the left of a box do:
handle->x = box->left
handle->y = box->top + (box->bottom - box->top) / 2
But it needs another library and a recent C++ compiler, so it should be some kind of
specialization of the canvas.
BTW what's the status of the GnomeCanvas in this matter? If it could be done by just
placing the GnomeCanvas in GTK+ (without stuff that needs extra libs, like an image
object) it's a good start. Then the canvas could be a specialization of GnomeCanvas
aiming for diagramming.