> 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.

Reply via email to