Hier sollen zusammenfassend die Möglichkeiten der XML-Module beschrieben werden, damit Sie sich einen Eindruck von den Möglichkeiten machen können. Dabei wird hier nur das angegeben, was durch reines XML implementiert werden kann also ohne Programmierung. In Java kann dann natürlich alles verändert bzw. realisiert werden.
Der Funktionsumfang der XML-Module sowie des Frameworks wird auch ständig weiter entwickelt. Darauf können Sie auch Einfluss nehmen. Teilen Sie uns einfach mit, was Sie vermissen und gerne im Aviantes-Framework implementiert hätten. Die Wünsche unserer Kunden nehmen wir sehr ernst.
In den XML-Panels können zurzeit folgende Widgets verwendet werden:
Spezielle Widgets können auch selbst implementiert und in das Framework integriert werden, so dass sie auf allen Panels verwendet werden können. Widgets können miteinander verknüpft werden (Master-Slave-Beziehungen), so dass sich die Werte bzw. die Inhalte (z.B. bei Comboboxen) abhängiger Widgets ändern, sobald das Master-Widget seinen Wert verändert. So könnte z.B. eine Combobox mit Städten nur die Städte anzeigen, die zu einem Land gehören, welches zuvor in einem anderen Widget ausgewählt wurde. Interessant ist das auch für Textfelder, die mit Such-Dialogen verknüpft sind. So wird in dem Such-Dialog ein Datensatz ausgewählt, z.B. ein Kunde und dessen Daten (Name, Anschrift usw.) werden dann in davon abhängigen Widgets angezeigt.
In den Widgets, die Daten aus Tabellen anzeigen (wie z.B. Such-Dialoge und Checklisten) können zur Bestimmung der anzuzeigenden Daten mehrere Tabellen miteinander gejoint werden. Es können auch eigene SQL-Statements angegeben werden, um so sehr flexibel bestimmen zu können, was angezeigt werden soll. Die Daten in den Spalten können formatiert werden (wichtig für Zahlen, Datums- und Uhrzeitangaben).
Bei jedem Widget, welches Daten beinhaltet, kann festgelegt werden, ob die Daten automatisch gelesen und geschrieben werden sollen, bzw. wann sie geschrieben werden sollen (bei der Neuanlage, bei einer Änderung oder beim Setzen einer Löschmarkierung). Des weiteren ist es möglich, den aktuellen Zeitpunkt und die Benutzernummer automatisch schreiben zu lassen (z.B. wenn vermerkt werden soll, wer einen Datensatz wann neu angelegt hat).
Für jedes Widget können Farben, Fonts und Rahmen festgelegt werden.
Es gibt zurzeit zwei Panel-Varianten:
Auch zwischen den Panels in einem Modul können beliebige Beziehungen (Master-Detail) hergestellt werden. Im Master-Panel wird ein Datensatz ausgewählt und in davon abhängigen Panels können dann die dazugehörigen Datensätze eingesehen und bearbeitet werden. Das kann auch weiter verschachtelt werden, z.B. das dritte Panel ist vom ersten und zweiten abhängig usw. Beide oben beschriebene Panel-Varianten können sowohl als Master als auch als Detail-Panel (Slave-Panel) eingesetzt werden.
Es gibt verschiedene Möglichkeiten wie in einem XML-Panel eine Beziehung zu anderen Datensätzen hergestellt werden kann. Comboboxen und Checklisten bieten sich bei einer überschaubaren Menge von auszuwählenden Datensätzen an. Gibt es allerdings sehr viele Datensätze aus denen ausgewählt werden muss, so ist ein Textfeld mit einem verknüpften Such-Dialog das Mittel der Wahl. Dabei gibt es verschiedene Varianten wie in so einem Fall nach Datensätzen gesucht werden kann.
Als Beispiel betrachten wir dazu ein Panel zur Verwaltung von Kunden-Aufträgen. Auf diesem Panel befinden sich Widgets zur Auswahl und Anzeige eines Kunden. Nur das erste Widget ist editierbar und dient zur Auswahl des Kunden. Alle weiteren Widgets zeigen Daten des ausgewählten Kunden an (hier Ort, Straße und Hausnummer).
Ein Anwender kann zunächst durch den Klick mit der rechten Maustaste in das Textfeld oder durch ein einstellbares Tastenkürzel den damit verknüpften Such-Dialog aufrufen.
In diesem gibt der Anwender oben Suchbegriffe ein bzw. wählt diese aus und unten werden daraufhin die gefundenen Datensätze angezeigt. Von diesen kann der Anwender einen auswählen, der dann in das Aufträge-Panel übernommen wird.
Alternativ gibt der Anwender den Anfang des Kundennames in das Textfeld ein. Beim Verlassen des Feldes führt das Framework eine Suche nach diesem Namen in der Kunden-Tabelle durch. Wird genau ein Datensatz gefunden, so werden dessen Daten übernommen. Ist die Angabe allerdings nicht eindeutig, so geht automatisch der Such-Dialog auf und alle gefundenen Datensätze werden angezeigt.
Zusätzlich kann für so ein Textfeld eine inkrementale Suche aktiviert werden. Während der Anwender einen Namen eintippt, werden darunter in einer Popup-Tabelle schon Suchergebnisse eingeblendet.
Ist der gewünschte Datensatz sichtbar, so kann er einfach ausgewählt werden.
Ausschnitt aus der XML-Datei