Das User Interface der Steuerungssoftware

Von Benutzerfreundlichkeit und Farbe …

Mit Visual Basic lässt sich relativ einfach eine ansprechende Benutzeroberfläche für die Steuerung aller Komponenten und Visualisierung aller Zustände programmieren. Die objektorientierte Programmiersprache macht das möglich. Die Herausforderung bestand dann auch nicht in der Programmierung der einzelnen Steuerungsfunktionen, sondern im Darstellen einer Vielzahl von Button, Label, Panels etc. für die Vielzahl der Steuerungs- und Anzeige-Funktionen auf recht kleinem Monitor.

Eine gut aussehende und vor allem in ihrem grafischen Aussehen einfach veränderbare Steuerungsoberfläche ist mir sehr wichtig. Die folgenden Bilder zeigen verschiedene Layouts für die Bedienung derselben Steuerungs-Funktionen:

Die gesamte grafische Benutzeroberfläche ist in 9 Felder eingeteilt. In Visual Basic (VB.net) ist jedes Feld mit der „Panel“ Komponente aufgebaut. Das folgende Bild zeigt diese Aufteilung:

Die einzelnen Panels beherbergen die jeweils benötigten Komponenten für das Schalten oder Anzeigen.

Schaltfelder sind dabei nicht mit den VB.net eigenen „Button“ Komponenten realisiert worden, sondern mit „Label“, die flexibler bei der Einbindung von Icons, Bildern, Text, Vordergrund- und Hintergrund-Farbe sind und solche grafischen Elemente besser darstellen. Was alles geändert werden kann, zeigt der Blick auf das Setup-Menü:

Der Clou bei der Einbindung von sehr vielen Funktionen liegt darin, dass vor allem das Anzeige-Panel (Panel #7) mehrfach existiert und immer nur dasjenige eingeblendet wird, das gerade aktuell benötig wird. Die nicht gebrauchten Panels werden ausgeblendet. Die folgenden Bilder zeigen die verschiedenen, übereinander liegenden Panels zusammen mit den Display Buttons, die die Anzeigen steuern:

Zudem haben die Buttons ganz rechts (Panel #2) Einfluss auf die Anzeige-Panels (Panels #7), wie es das folgende Bild zeigt. Man beachte nun ebenso die sich verändernden Schalter auf Panel #2 sowie die Buttons auf Panel #4 und #5:

Ausser dem Anzeige-Panel gibt es auch für die 8-Tasten-Felder links und rechts mehrfache Überlagerung. So kann sowohl Home Office und Home Cinema eingeblendet werden, als auch die umfangreiche Gartensteuerung. Im vorherigen Bild erkannt man das anhand der ersten beiden gezeigten Benutzeroberflächen.

Noch ein Hinweis für den interessierten Leser: auf die VB.net Komponente „GroupBox“ wurde verzichtet. Dies, weil sie stets mit einem nicht ausblendbaren Rahmen versehen angezeigt wird. Dies hat in meinen Augen den grafischen Gesamteindruck beeinträchtigt, vor allem dort, wo Panels mit eigenen Hintergrundbildern unterlegt worden sind.

Die Darstellung der 9 Panels kann ebenso noch recht umfangreich und je Panel individuell verändert werden. So können Panels mit unterschiedlichen Farben oder Bildern dargestellt werden, ihre Position und Grösse verändert und individueller Text eingegeben werden. Das zugehörige Menü zeigt das folgende Bild:

Jeder Steuer-Button kann individuell mit Text versehen werden. Das obere Menü im folgende Bild zeigt die entprechende Eingabe-Box. Schaltet man den Design Modus mit dem Button unten links ein, dann können die einzelnen Schalter-Positionen der beiden 8-Tasten-Felder verändert werden. Jeder Taster kann individuell auf seinem jeweiligen Panel verschoben werden. Im unteren Menü ist zu sehen, dass sowohl Grösse als auch Position beeinflussbar sind:

Das Menü im nächsten Bild zeigt, wie die Szenarien Button auf Panel #1 konfiguriert werden. Jedem Szenario sind dabei verschiedene Schalter auf Panel #4 und #5 zugeordnet. Die angehakten Schalter werden eingeschaltet, wenn das Szenario gewählt wurde. Mit Tristate behält der Schalter seinen Zustand bei, den er im Schaltmoment des Szenario-Buttons hatte:

Das zeigt das Bild darunter exemplarisch für die Szenarien ‚Büro‘ und ‚Kino‘:

Das nächste Bild zeigt exemplarisch die geschalteten Kanäle für die Szenarien ‚Büro‘ und ‚Kino‘:

Das letzte Konfigurationsmenü bezieht sich auf die diversen Timerfunktionen sowie Auswertung der Bewegungsmelder, die die Steuerung beinhaltet. Das Verständnis dafür, was hier alles eingestellt erden kann, sollte selbsterklärend sein: