Dialogboxen: Komplexer als man sieht


Thomas Wölfer
Thomas Wölfer

11. Februar 2005


Mehr Informationen zum Faltwerksprogramm. Doch ...

Vorab aber eine wichtige Information: Ich kann noch kein  Veröffentlichungsdatum nennen, und alle Informationen beruhen auf der Version, an der momentan gearbeitet wird. Ich denke, dass alle vorgestellten Funktionen, so wie ich sie beschreibe, auch im fertigen Produkt 'drin' sein werden - aber ich möchte das nicht garantieren...



Diesmal geht es nicht um ein spezielles Feature des Programms, sondern ganz allgemein um Dialogboxen - und was im Hintergrund so alles abgeht, wenn man eine verwendet. Als Beispiel dient die folgende Box, die im Faltwerksprogramm zur Auswahl des anzuzeigenden Ergebnisses dient:

Das Ding sieht eigentlich ganz harmlos aus. Oben kann man die Norm auswählen um die es einem momentan geht. Darunter gibt es eine Liste der bei der ausgewählten Norm vorhandenen Bemessungssituationen und darunter gibt es eine Liste der bisher definierten Überlagerungsregeln. Rechts daneben gibt es einen Baum, in dem die momentan auswählbaren Ergebnisse dargestellt werden.

Als Anwender wählt man also eine Norm, eine Bemessungssituation, eine Überlagerungsregel und ein Ergebnis - und bekommt dann die zugehörige(n) Kurve(n). Wählt man ein anderes Ergebnis oder eine andere Regel, dann erhält man eben eine andere Kurve. Soweit so gut. Das erste Problem das dieser Dialog behandelt ist das Problem der Größe: Je nachdem was man gerade sehen möchte, müssen unterschiedliche Teile des Dialoges unterschiedlich gross dargestellt werden. Dazu muss auch der Dialog selbst seine Größe verändern können. Angenommen, man will die komplette Liste von Regeln und Bemessungssituationen sehen, dann zieht man den Dialog auf, und positioniert die Kontrollelemente darauf, bis er eben so aussieht:

Genauso kann man natürlich auch die breite der beiden Spalten verändern - usw. usf.

Wie (nahezu) alle Dialoge ist auch dieser Dialog nicht modal. Das bedeutet, Sie müssen den Dialog nicht schliessen, bevor Sie im Programm weiterarbeiten können. Sie können also alle Arbeitsschritte, die sie beim geschlossenen Fenster durchführen können, auch bei geöffnetem Dialog durchführen. Das ist praktisch, weil Sie dadurch nämlich nicht im Arbeitsfluss gestört werden: Wollen Sie beim angezeigten Ergbnis kurz einen Balkenquerschnitt überprüfen? - Kein Problem, ein Doppelklick auf den Balken hilft weiter. Genauso können Sie natürlich auch Knoten kontrollieren, oder irgendwo einen Kommentar eingeben.

Das hat ein paar interessante Konsequenzen:

Nachdem Sie alle Arbeitsschritte durchführen können, können Sie natürlich auch vorhandene Überlagerungsregeln löschen - oder neue definieren. Wenn Sie eine neue Regel anlegen, dann muss die Dialogbox diese in der Liste der Regeln eintragen, und zwar automatisch. Wie Sie sehen können, sind die Regeln im Bild mit einem grünen Punkt (das soll ein 'OK' Symbol sein) ausgestattet: Nur weil eine Regel hinzugefügt wurde, bedeutet das ja nicht, das sie auch zur aktuellen Norm und zur aktuellen Bemessungssituation passt. Wenn Sie also eine neue Regel anlegen, dann fügt der Dialog diese nicht nur zu seiner Liste hinzu, sondern prüft auch, ob die Regel zu den aktuellen Einstellungen passt. Tut sie das, dann gibt den grünen Punkt- sonst einen roten.

Wenn Sie eine Regel löschen, muss ebenfalls reagiert werden. In diesem Fall muss die Regel nämlich aus der Liste entfernt werden. Nun kann es aber sein, das momentan eine Ergebniskurve angezeigt wird, die auf dieser Regel beruht: Diese Kurve muss dann also auch entfernt werden. Außerdem ist es natürlich so, das die gelöschte Regel auch in den anderen Regeln verwendet worden sein kann. Das bedeutet: Der Test (für den grünen/roten) Punkt muss für die noch übriggebliebenen Regeln neu durchgeführt werden.

Ebenso können Sie natürlich auch einfach eine vorhandene Regel ändern: Wenn Sie den Namen der Regel oder den Kommentar zur Regel verändern, dann müssen der neue Name bzw. der neue Kommentar in der Liste angezeigt werden. Wurde hingegen der Inhalt der Regel verändert, dann muss diese Regel und alle anderen die sie benutzen neu berechnet werden - und bei Bedarf müssen auch neue Kurven angezeigt werden.

Damit solls zunächst einmal genug sein mit dem Dialogboxhintergrund: Die aufgelisteten Dinge sind natürlich noch längst nicht alles - aber wirkliche alles aufzuführen, um das sich die 'harmlose' Dialogbox kümmern muss, das wäre einfach zu viel für diesen Blog-Beitrag.