Detail
#27640
Modell-Editor: Oberklassen-Pfeil wird angezeigt, obwohl Oberklasse nicht gezeichnet ist
Wenn im Diagramm die Klasse TLObject ausgeblendet ist, erscheint bei Neuanlage einer Klasse ein Vererbungspfeil ins Leere.
Das Ausblenden von TLObjet ist sowieso ungeschickt gelöst. Diese Klasse will man so gut wie nie sehen, sie führt nur dazu, dass Diagramme maximal unübersichtlich aussehen. Es gibt aber keine Möglichkeit sie permanent auszublenden - bei jedem Relayout kommt sie wieder.
Aktuell gibt es schon Optionen, um technische Namen anzuzeigen und "Tabellen-Interfaces" anzuzeigen.
Die zweite Option hat überhaupt keine Funktion mehr, da es schon lange keine Tabellen-Interfaces mehr gibt. (Option soll weg).
Bei keiner der Optionen sieht man, ob sie ausgewählt ist oder nicht. (Am Icon sollte erkennbar sein, ob die Option ausgewählt ist).
Es soll eine Option geben "Technische Oberklassen anzeigen" - per default aus. Nur wenn das angehakt ist, soll TLObject in ein (fremdes) Diagramm eingezeichnet werden.
Wenn man Klassen über das Auge ausblendet, soll dies über ein Relayout hinaus erhalten bleiben.
Wenn man aktuell eine neue Assoziation anlegt, springt das Diagramm danach und bewegt die Assoziation in die Mitte. Das ist unerwartet, bei der Neuanlage soll weder ein Relayout noch eine automatische Positionsänderung erfolgen.
Wenn man am Diagramm an einem Wegpunkt zieht, verschwindet während des Drag-Vorgangs die Kante:
Umsetzung
Ausgeblendete Diagrammelemente werden mit einer Transparenz von 30% dargestellt, falls die Option gesetzt ist, dass ausgeblendete Elemente angezeigt werden sollen.
Jedes Element kann aus- und eingeblendet werden. Es werden nur die Elemente eingeblendet, die notwendig sind um das ursprüngliche Element darzustellen. Wird ein Element ausgeblendet, dann werden alle abhängigen Elemente ausgeblendet.
Migration
Wenn im Eclipse Workspace tl-engine ausgecheckt wurde, also insbesondere das Modul com.top_logic.graph.diagramjs.client, dann sollte dies neu mit GWT kompiliert werden, um auch lokal die neuste Version zu erhalten.
Test
Der Modell-Editor sollte intuitiv bedienbar sein, insbesondere die neue Funktionalität des Ein- und Ausblenden von Elementen sollte getestet werden.
Die Toggle-Buttons im Burgermenü des Modell-Editors sollten wie erwartet funktionieren. Ihr Icon soll den Status des zugrunde liegenden boolschen Flags abbilden.
Wenn eine neue Kante angelegt wird, dann sollte die Ansicht auf das Diagramm sich nicht verschieben.
Nach einem Relayout sollen ausgeblendete Elemente weiterhin ausgeblendet sein. Erst beim Wechsel des Moduls soll die Menge der ausgelbendeten Elemente "geleert" werden.
Unter der Annahme, dass im Diagram ausgeblendete Elemente angezeigt werden, soll sich der Modell-Editor wie folgt verhalten:
- Wird ein Typ mit Attributen ausgebelendet, dann werden auch alle Attribute ausgeblendet.
- Wird ein Typ mit Kanten ausgeblendet, dann werden auch seine Kanten ausgeblendet.
- Wird ein Attribut in einem ausgeblendeten Typ eingeblendet, dann sollte nur sein Typ eingeblendet werden. Angehängte Kanten und andere Attribute des Typs sollen weiterhin ausgeblendet bleiben.
- Wird ein Typ mit mehreren Kanten ausgeblendet und anschließend eine seiner ausgeblendeten Kanten eingeblendet, dann sollte der ausgeblendete Typ eingeblendet werden und alle anderen Kanten jedoch weiter ausgeblendet sein.