19.01.2015 Aufrufe

Projektgruppe Visual Analytics - Medieninformatik und Multimedia ...

Projektgruppe Visual Analytics - Medieninformatik und Multimedia ...

Projektgruppe Visual Analytics - Medieninformatik und Multimedia ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

176 Kapitel 10 Implementierung<br />

das Diagramm von neuem erstellt. Bei einem globalen DrillDown bzw. RollUp wird das<br />

ausgewählte Level daher durch sein jeweiliges Kind-Element bzw. durch sein Parent-<br />

Element ersetzt. Dieses Vorgehen muss für den lokalen DrillDown variiert werden,<br />

da nur ein Ausschnitt des nächsttieferen Levels angezeigt werden soll. Zu diesem<br />

Zweck wurde die Online Analytical Processing-Abstraktionsschicht um die Klasse<br />

Partiallevel erweitert. Sie erbt alle Eigenschaften eines Levels <strong>und</strong> kann folglich<br />

ebenso verwendet werden wie ein Level. Die Data-Eigenschaft wird jedoch leer belassen;<br />

stattdessen werden der Nodes-Eigenschaft des PartialLevels die ChildNodes der<br />

ausgewählten Nodes zugewiesen. Das ausgewählte Level wird in diesem Fall also durch<br />

solch ein PartialLevel-Objekt ersetzt.<br />

10.1.5 DiagramState <strong>und</strong> DiagramStateList<br />

In Abbildung 9.3 sind die für die Zustandsspeicherung benötigten Klassen dargestellt.<br />

Die Klasse DiagramState stellt eine Datenstruktur zur Verfügung, die es ermöglicht,<br />

einen Diagrammzustand zu speichern. Wie aus Abbildung 9.3 hervorgeht, enthält<br />

sie dazu mehrere Properties. Das Dictionary Axis enthält die Zuweisung von<br />

HierarchicalOLAPObjects zu den Achsen bzw. Drop-Zonen im Diagramm. Um einen<br />

kompletten Diagrammzustand wiederherstellen zu können, speichern die Properties<br />

ScaleProperty <strong>und</strong> TranslateProperty die Skalierungs- <strong>und</strong> Verschiebungsfaktoren<br />

des gespeicherten Diagramms. Weiterhin wird mit dem Property Thumbnail ein<br />

Screenshot zur Verfügung gestellt, sodass dass das Auffinden eines gewünschten<br />

Zustandes in der Liste von Zuständen erleichtert wird.<br />

Die Liste der Zustände wird im Diagramm mit Hilfe des neuen Properties Diagram-<br />

StatesProperty gespeichert. Durch die Methode AddState wird dieser Liste der<br />

aktuelle Diagrammzustand hinzugefügt, wobei die Methode durch den Diagramm-<br />

Menüpunkt Save aufgerufen wird. RemoveState <strong>und</strong> RemoveStateAt können genutzt<br />

werden, um Zustände aus der Liste zu entfernen, wobei der Unterschied der beiden<br />

Methoden darin besteht, dass RemoveState als Parameter einen DiagramState<br />

erhält <strong>und</strong> diesen aus der Liste entfernt, <strong>und</strong> RemoveStateAt ein int übergeben<br />

wird, der den Listen-Index des zu löschenden Zustandes angibt. Mit den Methoden<br />

SetCurrentDiagramToState <strong>und</strong> SetCurrentDiagramToStateAt kann der aktuelle<br />

Zustand eines Diagramms auf einen zuvor gespeicherten Zustand gesetzt werden.<br />

Die Klasse DiagramStateList stellt die Liste der gespeicherten Zustände visuell dar.<br />

Wird im Diagramm-Menü Load ausgewählt, legt sich eine Ebene über das Diagramm,<br />

in der die Screenshots der gespeicherten Zustände zur Auswahl dargestellt werden.<br />

Per Multitouch kann nun ein Zustand ausgewählt werden. Im Diagramm wird die<br />

Methode SetCurrentDiagramToState mit dem entsprechenden Diagrammzustand als<br />

Parameter aufgerufen. Für den Fall, dass viele Diagrammzustände gespeichert wurden,<br />

ist die DiagramStateList per Multitouch verschiebbar.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!