Is anyone working on connector handle improvement?

Asked by Arch Dude on 2009-12-11

The Inkscape wiki page shows many requests that connectors should connect to user-specified connection points rather than connecting to the center of a shape. Is anyone working to add this functionality? If not, is it OK for me to try to add this? I do not wish to try it if someone else is already doing this.

Basically, I need this functionality so I can use Inkscape to replace Visio. Connector handles are the single most important Visio feature that is missing from Inkscape.

Approach:
Inkscape "almost" has this capability: If you add a small circle shape at the edge of a shape to which you wish to connect, you can then connect to the small circle. After you complete your connection, you can then group the small circle with the actual target: the SVG contains a perfectly reasonable description of the connector. Unfortunately, Inkscape will not automatically move the connector when you move the group, but if you ungroup, the connector is then redrawn properly. I propose to do the following:
1) correct the connector re-draw code to work when the target is in a group.
2) add a new attribute to a shape: "connector target.".
3) when a group has top-level members that have the "connector target" attribute, then make these targets (rather than the group's center) visible when the connector tool is selected and the cursor is within the group.

This will take me awhile, since I have not yet even begun to look at the code.

Note that, while a typical handle will be a small invisible circle or rectangle, there is no requirement for this. the user may choose to use any shape as a handle within a group, by setting the "connector target" attribute on that shape.

In practice, I would create a collection of shapes in a "stencil" file. Each shape would be a group with the appropriate handles.

Question information

Language:
English Edit question
Status:
Solved
For:
Inkscape Edit question
Assignee:
No assignee Edit question
Solved by:
jazzynico
Solved:
2009-12-11
Last query:
2009-12-11
Last reply:
2009-12-11
Best jazzynico (jazzynico) said : #1

Hi,

Arcadie Cracan has added some great improvements recently (see http://socghop.appspot.com/gsoc/student_project/show/google/gsoc2009/sxc/t124025056540). Its work is very likely to be included in the next (0.48) Inkscape version, but you can try it now if you can use bzr (see Branch tab in Launchpad) and compile the sources.

There's also a full connectors improvement specification on the wiki: http://wiki.inkscape.org/wiki/index.php/Connectors and a registered blueprint (https://blueprints.edge.launchpad.net/inkscape/+spec/inkscape-connectors). You can use it to add your comments if you wish.

Regards.

Arch Dude (danclemmensen) said : #2

Thanks, JazzyNico. I will try the bzr if I can figure out how, and comment on it as appropriate.

I am new to the Inkscape community, and I'm confused as to how to communicate. The links you gave are very useful, but the wiki pages are copies of the launchpad information, and the wiki pages do not link to each other or to the launchpad. I will add links to the wiki, but is the wiki considered to be "the" infomation repository, "an" information repository, or a dead end?

jazzynico (jazzynico) said : #3

The wiki should contains the full specification and the launchpad blueprint an overview.
But in this case it's almost the same content. More generally, the wiki should be "the" information repository, but it as lots of very old information and really needs a cleanup.

Doctor D (dafaddah) said : #4

I, too, am brand new to the Inkscape community. I found and installed the program as a replacement for a very old Visio version in my program inventory in order to draw flow and organization diagrams better suited for the web. I am not a programmer any more so I'm not going to get involved (probably) with changing or adding to Inkscape. Thanks for the very clear and current 'state of the art' explanation regarding the connector handle situation. Before I found it I was puzzled about the handles question and spent a lot of time trying to figure out how to add handles to the edges of my shapes. I guess I'll just have to wait until the option is programmed by someone a lot smarter than I.