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

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

11.4 Einbindung weiterer Diagramme 195<br />

durch die GetCompatibles Methode der Datenbankschnittstelle bereitgestellt. Das<br />

folgende Listing enthält einen beispielhaften Aufruf dieser Methode.<br />

1 List < HierarchicalOLAPObject > compatibles = Cube. GetCompatibles ( currElementsOnDiagram );<br />

2 rootOlapViewModel . CheckCompatibility ( compatibles );<br />

Listing 11.2: Beispielhafter Aufruf der Check-Compatibility Funktion<br />

11.4 Einbindung weiterer Diagramme<br />

Es besteht die Möglichkeit, weitere Diagramme in TaP einzubinden. Im Folgenden wird<br />

ein konzeptueller Ablauf gegeben, wie diese Einbindung gestaltet werden kann.<br />

Es wird empfohlen, das neue Diagramm mit einer neuen Geste zu verknüpfen. Diese<br />

kann in die XAML-Datei des MainWindows eingeb<strong>und</strong>en werden. Listing 11.3 zeigt, wie<br />

ein entsprechender Trigger angesprochen werden muss. Wie zu erkennen ist, wird für<br />

jede erkennbare Geste eine Action angeb<strong>und</strong>en.<br />

1 <br />

2 <br />

3 <br />

4 <br />

6 <br />

7 <br />

8 <br />

Listing 11.3: Hinzufügen eines Actiontriggers zur Erstellung eines neuen Diagramms<br />

Die Action muss abgeleitet sein von TargetTriggerAction. Diese abstrakte<br />

Klasse schreibt unter anderem die Methode Invoke vor, die bei einer bei einer<br />

Action aufgerufen wird. Das übergebene Objekt ist der Stroke, welcher von der<br />

Gestenerkennung gesetzt wird. Anhand des Strokes kann die Position <strong>und</strong> die Größe<br />

des neuen Diagramms ermittelt werden. Dies ist im folgenden Listing beispielhaft<br />

dargestellt:<br />

1 // ... Process Stroke ...<br />

2<br />

3 // Create Diagram<br />

4 Diagram diagram = new Diagram ();<br />

5 diagram.Width = stroke.Width ();<br />

6 diagram.Height = stroke.Height ();<br />

7 Point position = stroke.Position ();<br />

8 Canvas.SetLeft(diagram , position .X - deltaX);<br />

9 Canvas.SetTop(diagram , position .Y - deltaY);<br />

10 this.Target.Children .Add(diagram);<br />

Listing 11.4: Berechnung der Position <strong>und</strong> Größe eines Diagramms mit Hilfe des Stroke

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!