Projektgruppe Visual Analytics - Medieninformatik und Multimedia ...
Projektgruppe Visual Analytics - Medieninformatik und Multimedia ...
Projektgruppe Visual Analytics - Medieninformatik und Multimedia ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
9.1 Punktdiagramm 155<br />
9.1.2 Die Containerklasse Diagram<br />
Die Klasse Diagram stellt alle notwendigen Eigenschaften <strong>und</strong> Elemente für die Anzeige<br />
des Diagramms bereit. Dabei wurde das Diagramm mit Hilfe des Entwurfsmusters<br />
MVVM entwickelt. Die Model-Komponente gehört zum Namespace TAP.Model (siehe<br />
9.5.2). Das DiagramDataModel stellt die ViewModel-Komponente des Entwurfmusters<br />
dar, während die anderen Klassen der View-Komponente zugeordnet werden. Wie in<br />
Abbildung 9.1 zu erkennen ist, stellt die Klasse Diagram eine zentrale Sammelstelle dar,<br />
in welche alle Klassen integriert werden. Das Diagramm besteht aus zwei Achsen, die<br />
Beschriftungen beinhalten. Zusätzlich ist in der Klasse Diagram eine Scalable-Canvas<br />
enthalten, in welcher die Punkte erzeugt <strong>und</strong> angezeigt werden. Ferner gibt es eine<br />
DropAreaGroup, die aus fünf verschiedenen DropZonen, je eine für Farb-, X-, Y- ,<br />
Animations- <strong>und</strong> Größen-Achse, besteht. Weiterhin ist dem Diagramm eine animierte<br />
Fortschrittsanzeige zugeordnet, welche allerdings nur erscheint, wenn dies von der<br />
Datenbank auch unterstützt wird. Eine Legende gibt zusätzliche Informationen zu den<br />
Datenpunkten an.<br />
Eigenschaften der Diagram Klasse:<br />
Das Diagramm definiert vier Attached Dependency Properties, die im visuellen Baum<br />
vererbt werden.<br />
• TranslateX <strong>und</strong> TranslateY: Geben an, um wie viel der Inhalt des Diagramms<br />
nach rechts oder links <strong>und</strong> nach oben oder unten verschoben ist. Diese Properties<br />
werden durch das Verschieben gesetzt.<br />
• ScaleX <strong>und</strong> ScaleY: Bestimmen den Skalierungsfaktor für den Inhalt des<br />
Diagramms. Die Properties werden durch das Zoomen beeinflusst.<br />
Das Diagramm hört auf die folgenden Events:<br />
• PropertyChanged aus dem DiagramDataModel: Wenn diese den Wert true<br />
für IsWorking hat, dann wird die Fortschrittsanzeige angezeigt. Während diese<br />
angezeigt wird, sind die Interaktionen mit dem Diagramm unterb<strong>und</strong>en. Liefert<br />
IsWorking den Wert false, wird die Fortschrittsanzeige wieder geschlossen.<br />
• DragEnter: Durch dieses Event wird die DropAreaGroup angezeigt.<br />
• DragLeave <strong>und</strong> Drop: Wird dieses Event geworfen, wird die DropAreaGroup<br />
wieder ausgeblendet.