Subject: Re: UML Class Connection Point PATCH against CVS
Date: Fri, 28 Jun 2002 11:03:46 -0700
On Fri, 28 Jun 2002 07:46:50 +0200
Cyrille Chepelov <cyrille@chepelov.org> wrote:
> Try to use a snapshot, an use the bundled ./configure rather than
> autogen.
Aha! Snapshots have configure already!!! I'll do that.
> This patch indeed works. However, the effect is that you can't control
> how the connection points are spaced. Wouldn't it be better to allow a
> variable number of points (like, for instance, "SADT - Box" -- try to
> middle click on one of the edges) ?
So instead of Obj1 knowing it's connected to Obj2 at connection point
nr.3, it knows it's connected at a connection point nr.X from the
corner...?
I guess I'm confused about a general algorithm for keeping the objects
connected to each other in a sensible fashion when connection point nr's
change.
In any case, my patch replaces the ambiguous "8" with
"UMLCLASS_CONNECTIONPOINTS" which is a bit less ambiguous. If you apply
this patch as is, it'll be a lot easier to modify the Class object in the
future.
> I'm still undecided; either going to a full connpoint_line
I guess I don't know what a connpoint_line is... :(
> should go in shortly. The only problem I see with including your patch
> is: should we go afterwards to connpoint_line, how do we handle the
> conversion(the cpl should then default to 1 point for pre-patch, and 7
> points for post-patch.
I think I could hack together a Perl script in pretty short order that
would allow you to pass it 1 or 7 and it'd convert accordingly. Perl groks
XML like you wouldn't believe (all bow down and praise XML::DOM). The end
user would only need to know if she's upgrading her diagrams from 0.95 (or
whatever version gets this patch) or from <=0.90.
Oh... I just noted the Dia savefile doesn't have a 'version' attribute on
dia:diagram, so it'd be a little tough for a script to automagically know
what version Dia created the diagram... I was imagining a Perl script that
just automagically determined the Right Thing To Do.
> Might be a leeetle tricky to handle, so going CPL
> right away would be better. I'm ready to help you on this, of course
...okay? I guess if I'm going to hack in cpl, I'd love to know where I can
see some working code with connpoint_line -- is this SADT - Box thing a
good start? I'll wander off to a CVS snapshot and check it out.
I'll warn you, I'm not a C hacker, as you've probably already surmised.
I'm a Database Administrator, and this idea hacking dynamic numbers of
connection points in C is making me jittery... :)
--
Tim Ellis
DBA, Gamet