Re: UML Class Connection Point PATCH against CVS
- From: Cyrille Chepelov <cyrille chepelov org>
- To: dia-list gnome org
- Subject: Re: UML Class Connection Point PATCH against CVS
- Date: Fri, 28 Jun 2002 20:39:53 +0200
Le Fri, Jun 28, 2002, à 11:03:46AM -0700, Tim Ellis a écrit:
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...?
The trick is that while they're in memory, they're not connected to
"connection point #X from the corner", they are connected to "the connection
point at address 0x12345FED" which knows which objects are connected to it
(so that when it's destroyed, it can tell objects to disconnect).
The numbering is done only when the diagram is about to be saved -- so if
the number of CP's has changed, the numbering will be very different.
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.
Indeed. This makes a lot of sense, and I will merge this ASAP (which may be
in a couple of hours)
I'm still undecided; either going to a full connpoint_line
I guess I don't know what a connpoint_line is... :(
This is a subobject which manages a variable number of connection points. An
object can hold several such connpoint_line (this is what the objects I
mentioned use to handle a variable number of connection points).
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.
The ideal way is that the diagram "just loads", no funky conversion tool to
grab...
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.
Yes, SADT Box is a good start.
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... :)
Don't worry ! we all begin one day :-)
(and after all, C isn't really that worse than perl, is it ?)
-- Cyrille
--
Grumpf.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]