Aufgabe: Implementierung von Schemata zur Darstellung von CharElementen in Tables/TreeTables
aus AlricgWiki, der freien Wissensdatenbank
Inhaltsverzeichnis |
Profil
Aufgabe ist erledigt!
Dringlichkeit: Hoch
Schwierigkeit: Mittel bis Schwer
Ziele: Es sollen sogenannte "Schema" entworfen werden für die Darstellung von CharElementen in Tabellen bzw. TreeTables.
Wird bearbeitet von:Vincent
Für Rückfragen: Vincent
Beschreibung
Das Hauptwerkzeug zur Darstellung in Alricg werden Tabellen und TreeTables (wer TreeTables nicht kennt, siehe hier) sein. Demnach müssen die CharElemente auch in solchen Tabllen/TreeTables angezeigt werden können. Damit möglich wenig neu implementiert werden muß pro CharElement wurden die relevaten Funktionen ausgelagert in 3 Klassen, die Pro CharElement zu schreiben sind.
In diesen Klassen werden angegeben:
- Anzeige von Daten:
- Welche Spalten sie besitzt
- Wie ein CharElement auf die einzelen Spalten "gemappt" wird
- ToolTips für einzelene Elemente
- ToolTips für Spaltenüberschriften
- Möglichkeiten der Sortierung o.ä. es gibt:
- Welche Spalten sortierbar sind
- Welche Ordnungen es gibt (nur bei TreeTables, die Ordner in dem die anderen Elemente zugeordnen werden)
- Welche Filter es gibt (es werden dann bestimmte Elemente "ausgefiltert", d.h. nicht angezeigt
- Manipulation von Daten
- Setzen von Werten
- Bestimmen ob eine Element editierbar ist.
- Notwenige Funktionen für den Betrieb, wie z.B.
- Comparatoren für den Sortierung
Welche Spalten, Ordnungen und Filter es gibt, kann in den Entwürfen unter Grafische Oberfläche nachgesehen werden. Wenn Klassen implementiert werden, für die ein solcher Entwurf NICHT existiert, muß erst ein Entwurf erstellt und zur Diskussion gestellt werden, bevor die Klasse "als fertig" angesehen werden kann wird.
Lösungsansatz
Beschreibung des Konzepts
Es gibt zwei Interfaces (SpaltenSchema, ZeilenSchema) in denen alle Methoden vorgegeben sind, die benötigt werden. Zu jedem CharElement gibt es eine implementierung für das SpaltenSchema und zwei für das ZeilenSchema. Es gibt zwei ZeilenSchemas für die Darstellung des CharElements selbst und für die Darstellung eines Links der als Ziel ein solches CharElement hat.
Das extra Schema für die Links ist für alle CharElemente die er Held bereist gewählt hat (somit auch eine Stufe, Text o.ä. existiert). Das andere Schema "direkt" für die CharElemente ist für die Auswahl von Elementen. Geneaueres ist im JavaDoc der entsprechenden Klassen nachzulesen.
Bisherige Implementierung
org.d3s.alricg.gui.views.SpaltenSchema org.d3s.alricg.gui.views.ZeilenSchema org.d3s.alricg.gui.views.ComparatorCollection
Es existiert eine Implementierung an der man sich orienteren kann im package "org.d3s.alricg.gui.views.talent". Die Klasse "ComparatorCollection" ist für Comparatoren (die für die Sortierung benötigt werden) die in verschiedenen Klassen verwendet, und somit zwecks Wiederverwendung ausgelagert wurden. Geneaueres ist im JavaDoc der entsprechenden Klassen nachzulesen.
