"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?
>
Well, first of all, I don't like the connection points. I just want to
be able to drag a connection (dependency, association, aggregation, ...)
from one object to another and not having to hit a connection point to
make the connection 'stick'. (As a side point I like this connection to
be a straight line with the option of adding breakpoints as I please,
not the strict horizontal/vertical that we have now.) This connection
should slide along the edge if I move the nearest breakpoint (which can
be the endpoint of the line) to the side. This behavior is common in
many commercial design tools and it is quite intuitive to use.
If we have to stick with the connection points, I would like them evenly
spaced along the edge and fairly tightly packed. If you make an object
larger you get more connection points, if you make it smaller you get
fewer connection points. This can put a constraint on the minimum size
of an object (given that you have fixed connection point spacing) as you
can have a connection on point 2 and another connection on point 10.
Then you can't resize the object in such a way that connection point 10
gets removed, as you would then loose the connection. This problem would
not surface if the connections were allowed to slide along the edge as I
mention above.
I'll try to add the things I forgot tomorrow.
Jens