"Andrew S. Howell" wrote:
>
> >>>>> "Jens" == jph <[EMAIL PROTECTED]> writes:
>
> Jens> "Andrew S. Howell" wrote:
> >>
>
> Jens> If you add methods to a class you will get two connection
> Jens> points for each method (one on each side). That is workable,
> Jens> but the real problem comes when you try to create a sequence
> Jens> diagram. The vertical time bar has just six connection
> Jens> points. There you _must_ have more points to make it usable.
>
> Jens,
>
> You got me curious. I took a look at lifeline.c, which seems
> to be the file that implements the sequence diagram. It has a
> fixed array of 6 connections. I don't think this would be too
> difficult to change to a list, and allow an arbitrary
> number. Ideally it would start off with some default (6), and
> allow the user to override it. The question is, how to
> distribute them along the line? Should the user be able to
> place them willy-nilly, or should they be distributed evenly?
>
> My preference would be to have both. Automatic distribution
> with user over-ride. You should be able to add them anywhere.
>
> This has implications for loading and saving the files though,
> as the format on disk would have to change. Looks like there
> is a version number for each component, so it should be
> possible to at least have the ability to load old files.
>
> I don't know how the development of Dia is proceeding. If I
> get some time this weekend, I might give it a try. However, I
> don't want to cause trouble for the current developers.
>
> Jens> I don't know the code (and am not planning to get familiar
> Jens> with it in the near future), but I would imagine that it
> Jens> would be a major task to change the connection behavior. If
> Jens> someone cares to do it I'm more than willing to discuss it
> Jens> from a users point of view.
>
> Ok, whats your view on how to add connection points?
>
> Regards,
>
> Andy
My opinion is that each edges must have a attribute allowing
desired behavior: FREE_PLACEMENT, STATIC_EQUAL_SPACE_PLACEMENT,
DYN_EQUAL_SPACE_PLACEMENT, DEFAULT_PLACEMENT.
The behavior is not only desired for a particular shape but also
for each edge. For example, a box may have four incoming lines on the
top and three outgoing lines at the bottom. The desire behavior may be
to automatically have repositioning of connection points when
a line is added or removed with DYN_EQUAL_SPACE_PLACEMENT.
Need also to define a key binding to activate a dialog allowing
change for the attribute. For example, STATIC_EQUAL_SPACE_PLACEMENT
selection offer to modified the number of connection point.