PATCH to 0.90::object/UML/class.[ch] -- was "connection point on UML classes?"



Can anyone give me a hint about how I can increase the number of
connection points on the top/bottom of a Class in the UML set?

You'd need to fix the following places (line numbers from newest CVS):

class.c:188 (change assert)
class.c:452 (umlclass_update_data setting connection pos)
class.c:716 (more connection points allocated)
class.c:749 (bound of for over connections)
class.c:945 (bound of for over connections)
class.c:955 (start of extra connections)
class.c:1239 (umlclass_load doing element_init)
class.c:1251 (... and setting up connections)
class.c:1257 (... starting extra connections)

Probably a good idea to have a define for the number of normal
connections.

Okay. I've built a patchset (10k, attached) on objects/UML/class.[hc].

What this allows: A #define inside class.c allows anywhere from 8 to 32
connection points on the class in 4-point increments. I've tested it with
16 and 20 connection points and it works fine. I left it at 20 for the
patch.

Problem: If you load up a schema you built with the old 8-point tool, and
the new tool has >8 connection points, once you click on the class,
the relationships between the classes (or whatever you had connected to a
connection point) go to wierd locations. I can't imagine what would happen
if you built a schema on a >X point dia and tried to load it in an X-point
dia. I assume segfaults.

Thus, there must be some tool written that converts from the X-point to
Y-point versions of the program in case anyone has a huge schema already
built and wants the new number of connection points. I'm not sure how to
go about this, but I imagine I could write a Perl script to do it. Ideas?

It might actually be wise to revise my patch to make the first 8 points
always be the four corners and four centrepoints between the corners, then
the additional points be the rest...? It would make the code more
complex but would make sure upgrading from 8-point schemas to X-point
schemas always works fine. Downgrading is still odd.

Thanks,
--
Tim Ellis
DBA, Gamet

Attachment: class-connection-point-diffs.tar
Description: Unix tar archive



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]