Going way back in time it was not possible to add more than one
instance of the same model element to a diagram in ArgoUML.

Looking at http://argouml.tigris.org/issues/show_bug.cgi?id=6251 is
the first time I've realised that this restriction has been removed.
The restriction would appear to have been removed in release 0.27.2. I
don't know who did this, if it was the result of some issue requesting
this or actually an unintended change.

To my mind this is a good thing but I don't think its been tested
enough. I don't know of any other UML tool where this restriction
exists.

The problem in issue 6251 is as a result of the GraphModel classes
used in ArgoUML.

At the moment there is both a Diagram and a GraphModel for each actual
ArgoUML diagram. I've never really understood why this is but I think
I have some idea now and this is just ancient history that shouldn't
be relevant any more.

When an element is added to a diagram the element is placed in the
GraphModel and the Fig representing that element is placed in the
Diagram. So the graph model can tell us what elements are in a diagram
and the diagram the visual representations.

Why would that be? We can find the elements by look at all the Figs in
the diagram and getting their owners.

The problem in issue 6521 is because when a Fig is removed from the
Diagram it will remove the model element from the GraphModel. That
fires an event telling the Diagram an element has been removed and so
the Diagram tries to delete a Fig with that model element.

I suspect the GraphModel date from way before ArgoUML had any 3rd
party model repository. Even before NSUML and way before our model
interface.

When ArgoUML was adapted for NSUML I think the GraphModel concept
should have been dropped then but it seemed to remain in place as
something that sat between the diagrams and NSUML (and now between the
diagrams and the model interface).

Our implementations of the model interface are the model and I think
we need no separate "graphmodel".

I'd like to try to remove the GraphModel classes. It may be a slow
process which involves initially removing just some parts of its
functionality till they're gone altogether.

Regards

Bob

------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=450&dsMessageId=2733659

To unsubscribe from this discussion, e-mail: 
[dev-unsubscr...@argouml.tigris.org].
To be allowed to post to the list contact the mailing list moderator, email: 
[li...@tigris.org]

Reply via email to