Point-to-point connections between grouped shapes

Oct 22, 2012 at 5:44 AM


Why it's not possible to create point-to-point connections between grouped shapes?

For example, we created a Diagram containing 3 Box-shapes: A, B and C. After we group shapes A and B together, we cannot connect C<-->A or C<-->B using point-to-point connections.

[UPDATE] Well, it seems that it's not possible to create ANY type of connections - i.e. both point-to-point and point-to-shape. In my task only the first ones are used, so my question contains "point-to-point" word only.

Oct 23, 2012 at 7:41 AM

Exposing the connection points of a group's child shapes is a point on our ToDo list but not yet implemented.
You can...

  • ...create the connection before grouping the shapes / ungroup the shapes, create the connection and regroup the shapes.
  • ...search the child shapes (if you create the connection with code) and create the connection between the line and the child shape directly.
  • ...derive your own group shape and override the appropriate methods.
Oct 23, 2012 at 9:04 AM
KurtHolzinger wrote:
  • ...derive your own group shape and override the appropriate methods.

That seems the best - and the most difficult - solution. Can you give me a hint on it? Or I can wait till Your own implementation - if You tell me (at least approximately) when are You planning to release it. If it's about month or two - it's OK for me, I'll better wait :)

Oct 24, 2012 at 1:18 PM

Sorry, I forgot to answer the question for the next release date:
Currently, there is no schedule for the next release - maybe first quarter of 2013.

It should be enough to override all the methods that deal with ControlPoints plus the Connect() and Disconnect() methods:

  • GetConnectionInfos / GetConnectionInfo
  • IsConnected
  • GetControlPointIds
  • HasControlPointCapability
  • FindNearestControlPoint
  • Connect / Disconnect

Map the ControlPointId's (otherwise you will not be able to identify the child shape if only a controlPointId is given) and simply pass the calls to the group's child shapes. I'm not sure whether the list above is complete, maybe I overlooked a method or two.