Re: chickenpox: dia in LWN (again)



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




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]