On Fri, 19 Mar 2004, Cyrille Chepelov wrote:
> Enter "chickenpox-mode", the thing I'd like to implement. In a nutshell,
> this would be the ability to dynamically create connection points anywhere
> within an object (or shape -- anything here would apply to the base
> classe(s)) instance when one finds the existing CP's are inadequate, and
> later delete them (when they're no longer useful).
>
> I think from the UI point of view, it needs to be close to the "snap to
> grid" switch; except that it should be a three-way switch:
> 1. No dynamic CP creation (current behaviour, default)
> 2. Add CP on edges (this, in effect, would snap on the intersection
> of the snap grid and any lines (straight or otherwise) from the object: drop
> a connector end on an object's line, and it will add a dynamic CP to that
> object and bind the connector; the exact placement of the object will be
> guaranteed to be on an edge, and if the snap grid is applicable, on the snap
> grid as well)
> 3. Add CP on body: anywhere within the object's shape or edge (*NOT*
> bounding box -- if we're talking about an ellipse, only the fillable area
> applies), and subject to "snap to grid".
>
> (add CP on body would be, of course, synonymous to add CP on edges
> for "matchstick-like" objects).
What abount an unique CP at the center of the figure that can receive as
many connections as needed, and an algorighm to compute the output point
of the figure (intersection with the "bounding shape") ?
If you nowadays CP really bring sth, we can also make each figure have a
default CP 0 at its center that behave as I described and other CP shipped
with the figure that behave as they do now.
My problem is automatic placement. I've sent on this list a small Python
program that can read a GraphViz autoplaced .dot and create a Dia grah.
It is very simple and works great, except that :
- I'm unable to chose the right connecting point
- I lack connecting points (I need more that 50 for some networks)
--
Philippe Biondi <phil@ secdev.org> SecDev.org
Security Consultant/R&D http://www.secdev.org
PGP KeyID:3D9A43E2 FingerPrint:C40A772533730E39330DC0985EE8FF5F3D9A43E2