What are Diagram Representations?
If an element is shown on a diagram in Enterprise Architect, that element also has what is known as a "diagram representation". An element's diagram representation stores properties that are associated with that element's representation within the diagram, such as position, size and ZOrder.
Elements in Enterprise Architect can have zero, one or more diagram representations. One diagram representation exists for each diagram on which the corresponding element is visible.
Diagram Representations vs. Elements
Diagram representations are often mistaken for the elements they are representing. Here are some hints on how to gain a better understanding of them:
Two keyboard shortcuts enable you to delete an element directly on a diagram. Each keyboard shortcut has a different outcome:
- DEL: Only the diagram representation of that element gets deleted on that particular diagram. (This applies only to elements; connectors will be deleted entirely.)
- CTRL+DEL: The element corresponding to the diagram representation is deleted and, along with that element, ALL diagram representations (in case the element was visible on more than one diagram)
While most model elements are visible in the Enterprise Architect Project Browser, Diagram Representations are not.
It is important to remember that what you are seeing on a diagram is only a representation of an element. You can select a diagram representation in the diagram and jump to its represented element by pressing ALT+G.
One vs. Many
An element can be on multiple diagrams, and on these diagrams it may look different every time, while still being the exact same thing.
Not only the position might be different, also the data shown from the element can be drastically different from one diagram to another. In order to store this information, something must exist which is tied to the element and also tied to the diagram.
This little something is the "diagram representation", which is actually a child element of the diagram.
Where to Find Them in LemonTree
Since LemonTree 1.8 the diagram objects can be found in the Impacted Diagrams list, and in the (new in 1.8.0) Property Viewer. They are of course visualized in the Diagram Viewer.
The diagram representations are grouped with the element the diagram representation belongs to. For each diagram the diagram representations are visible, even if they have not changed. LemonTree displays the diagram representation of the element according to the diagram that is expanded in the diagram list.
Property Viewer (new in LemonTree 1.8)
The properties of the elements are listed (since LemonTree 1.8) in a dedicated component, the Property Viewer.
If an element is selected in the Diagram Viewer or in the Impacted Diagrams list, LemonTree shows the properties of the diagram representation in the Property Viewer. One can now clearly see what exactly happened with the diagram representations. In the example image the element has been moved onto a specific diagram, whereby the ZOrder has also changed.
The Diagram Viewer displays the Diagram Representations. Since LemonTree 2.2 Diagram Representations are no longer visible in the Tree Browser. They have been there because it was the only possibility to override the merge decisions there, it was not intuitive to find them and use them properly.
When selecting an element in the diagram, LemonTree offers the possibility to override the merge decisions. The user may choose between the Element, Diagram Representation or both to take into the merge preview.
The possibilities are only available if there are changes to the merge preview.
LemonTree takes care of the consistency of the merge model. For example: If the user decides to only take the "new" Diagram Representation without the new element LemonTree will also take the element because a Diagram Representation cannot exist without its representing element.
For some diagram types like Kanban Boards, Enterprise Architect doesn't save diagram representations of their elements in the database. So LemonTree is not able to visualize them.