Inhaltsverzeichnis

12.8.0 Wizard

In Gambas gibt es die Klasse Wizard (gb.form), die als Multi-Container eine assistenten-ähnliche Oberfläche bietet. In der Informatik wird ein Wizard als Assistent verstanden, der Sie in endlich vielen Schritten durch einen (hinreichend) linearen Prozess führt – wie zum Beispiel bei der Installation von Gambas über SVN. Die Begriffe Wizard und Assistent werden in diesem Kapitel synonym verwendet.

Diese Dialoge in der Gambas-IDE verwenden einen Wizard:

Abbildung 12.8.0.1: Datenbank-Wizard

In der IDE von Gambas finden Sie die Komponente Wizard unter dem Reiter 'Container'.

Für den Aktivierungsmodus der Wizard-Schaltflächen in der Navigation gilt:

Der 'OK'-Button als eine Schaltfläche im letzten Schritt besitzt standardmäßig kein Bild und die Beschriftung 'OK'. Das können Sie über die Eigenschaften Wizard.ActionPicture und Wizard.ActionText ändern → Abbildung 12.8.0.1. Wird die Schaltfläche 'Abbrechen' gedrückt, dann wird der Assistent beendet.

12.8.0.1 Eigenschaften

Von der Klasse Wizard werden nur ausgewählte Eigenschaften beschrieben:

EigenschaftDatentypDefaultBeschreibung
ActionPicturePictureNULLSetzt ein Icon auf den Wizard-Ende-Button oder gibt das Icon zurück. Standardmäßig wird kein Icon angezeigt.
ActionTextStringOKErsetzt den (Standard-)Text 'OK' auf dem Wizard-Ende-Button oder gibt den Text zurück.
AnimatedBooleanFalseFür den Wert 'True' werden die einzelnen Wizard-Schritte animiert gewechselt. Sie können den Wert auch auslesen.
Children .Container.ChildrenNULLZurückgegeben wird eine Sammlung aller Steuer-Elemente im Wizard.
IndexInteger0Setzt den aktuellen Wizard-Schritt oder gibt den Wert zurück.
LastIndex Integer0Gibt den vorherigen Wizard-Schritt-Index in einem Change-Ereignis zurück.
ShowButtonBooleanTrueFür den Wert 'True' werden die drei Schaltflächen im unteren Wizard-Panel (Navigation) angezeigt. Sie können den Wert auch auslesen.
ShowIndexBooleanTrueFür den Wert 'True' wird der Wizard-Schritt-Index+1 im oberen Wizard-Panel vor dem ActionText angezeigt. Sie können den Wert auch auslesen.
ShowTitleBooleanTrueFür den Wert 'True' wird das obere Wizard-Panel angezeigt. Sie können den Wert auch auslesen.
TextString#kSetzt den Text, der im oberen Wizard-Panel des aktuellen Wizard-Schrittes angezeigt wird oder gibt den Text zurück.
TextFontFontStandard-FontSetzt den Font für den Text in der Titel-Zeile oder gibt den aktuellen Font zurück.

Tabelle 12.8.0.1.1 : Eigenschaften Klasse Wizard

12.8.0.2 Methoden

Von den Methoden der Klasse Wizard sind vor allem diese beiden bemerkenswert:

Sub MoveNext( ) 

Geht zum nächsten Schritt des Wizards - so, als ob die Schaltfläche „Weiter“ geklickt wurde. Diese Methode können Sie dann verwenden, wenn der aktuelle Schritt vollständig bearbeitet wurde.

Sub MovePrevious( ) 

Geht zum vorherigen Schritt des Wizards - so, als ob die Schaltfläche „Zurück“ geklickt wurde. Mit dieser Methode können Sie darauf reagieren, wenn der aktuelle Schritt zum Beispiel bestimmte Daten aus dem letzten Schritt benötigt oder der letzte Schritt nicht vollständig oder fehlerbehaftet war.

12.8.0.3 Ereignisse

Diese vier ausgewählten Ereignisse geben Spielraum für die Gestaltung des Programmablaufs, wobei die Methode BeforeChange() besonderes Augenmerk verdient:

EreignisBeschreibung
BeforeChange( )Dieses Ereignis wird unmittelbar vor einer Änderung des Wizard-Schritt-Indexes ausgelöst.
Cancel( )Dieses Ereignis wird ausgelöst, wenn der Benutzer auf die 'Abbrechen'-Schaltfläche gedrückt hat.
Change( )Dieses Ereignis wird unmittelbar nach einer Änderung des Wizard-Schritt-Indexes ausgelöst.
Close( )Dieses Ereignis wird ausgelöst, wenn der Benutzer auf die 'OK'-Schaltfläche gedrückt hat. Die Schaltfläche kann – in Abhängigkeit vom Wert der Eigenschaft ActionText – durchaus auch eine andere Beschriftung tragen!

Tabelle 12.8.0.3.1 : Übersicht zu ausgewählten Ereignissen der Klasse Wizard

Das Ereignis BeforeChange() macht es möglich, zwischen zwei Schritten eine Auswertung von bisherigen Eingaben und die weitere, gezielte Steuerung des Wizards vorzunehmen. So könnten Sie zum Beispiel mit Stop Event das Wechseln zu einem weiteren Schritt nach der Überprüfung der Daten im aktuellen Schritt abbrechen.

Download

Artikel

Download