Die Basis-Klasse Completion (gb.form) ermöglicht die automatische Vervollständigung von Texten in Textfeldern wie TextBox, TextArea oder im Gambas-Quelltext-Editor. Einige Steuerelemente wie zum Beispiel eine TableView haben auch die Editor-Eigenschaft, der Completion.Editor zugewiesen werden kann, um Vervollständigungen für Tabellen-Zellen anzubieten.
Achtung: Die Klasse Completion ist nur eine Vorlage: Sie erzeugen aus der Vorlage (Template) eine abgeleitete, spezialisierte Vervollständigungsklasse, indem diese von der Basis-Klasse Completion erbt und ihre (Basis-)Methoden überschreibt.
Diese Klasse können Sie erzeugen. So erzeugen Sie eine neue, spezialisierte Vervollständigungsklasse für das angegebene Steuerelement. Der Parameter 'hEditor' hat den Wert einer speziellen TextBox oder einer speziellen TextArea:
Dim hCompletion As Completion hCompletion = New Completion ( hEditor As Control ) As "EventName"
Die Klasse FileCompletion ist eine spezialisierte Vervollständigungsklasse. Sie wird Ihnen im Absatz 6.11.4 vorgestellt.
Die Klasse Completion verfügt über diese Eigenschaften:
Eigenschaft | Datentyp | Beschreibung |
---|---|---|
Delay | Integer | Gibt die Verzögerung in Millisekunden zwischen einem Tastendruck und der Anzeige des Vervollständigungs-Popups zurück oder stellt sie ein. Der Standardwert ist 350. |
Editor | Control | Die TextBox oder TextArea sind die Standards für Ergänzungen. Einige Steuerelemente wie zum Beispiel eine TableView haben eine Editor-Eigenschaft, die auch der Eigenschaft Completion.Editor zugewiesen werden kann, um Vervollständigungen auf Tabellenzellen anzubieten. |
Icons | String[ ] | Array der Icon-Namen, die im Popup-Fenster neben den Vervollständigungsvorschlägen in der Eigenschaft List angezeigt werden sollen. Die Namen werden im Picture-Cache nachgeschlagen. Diese Eigenschaft füllen Sie in der Fill-Methode der speziellen Klasse, die von Completion erbt. |
List | String[ ] | Das Array der Vervollständigungsvorschläge im Popup-Fenster. Diese Eigenschaft füllen Sie in der Fill-Methode der speziellen Klasse, die von Completion erbt. |
Start | Integer | Gibt die Zeichenposition innerhalb des Editors vor, an der die Popup-Liste angezeigt wird. Diese Eigenschaft füllen Sie in der Fill-Methode der speziellen Klasse, die von Completion erbt. |
Tabelle 6.11.1.1 : Eigenschaften der Klasse Completion
Die Klasse Completion verfügt über diese drei Methoden:
Methode | Beschreibung |
---|---|
Open() | Öffnet das Vervollständigungs-Popup-Fenster. |
Close() | Schließt das Vervollständigungs-Popup-Fenster. |
Fill( sText As String, bExplicit As Boolean ) | Füllt den zu ergänzenden Text. sText ist der zu vervollständigende Ausgangstext. Das Argument bExplicit wird vom Code innerhalb der Completion-Klasse verwendet, um anzuzeigen, dass Fill von der Open-Methode aufgerufen wurde. |
Tabelle 6.11.2.1 : Methoden der Klasse Completion
Hinweise:
Die Klasse Completion besitzt nur das Ereignis Activate(). Es wird ausgelöst, wenn ein Vervollständigungsvorschlag aus der Liste im Popup-Fenster ausgewählt wurde.
Die abgeleitete Klasse FileCompletion – basierend auf der (Basis-)Klasse Completion – ermöglicht die automatische Vervollständigung von Pfad-Angaben in ausgewählten Textfeldern wie zum Beispiel in einer TextBox:
Abbildung 6.11.4.1: Text-Vervollständigung in einer TextBox
Die Klasse kann erzeugt werden. Der Parameter 'hEditor' hat den Wert einer speziellen TextBox oder einer speziellen TextArea:
Dim hCompletion As FileCompletion hFileCompletion = New FileCompletion ( hEditor As Control ) As "EventName"
Der folgende Quelltext erzeugt eine neue automatische Vervollständigung für das angegebene Steuerelement TextBox1:
Private $hFileComplete As FileCompletion Public Sub Form_Open() $hFileComplete = New FileCompletion(TextBox1) End
Wenn Sie in das Textfeld – wie es in der Abbildung 6.11.4.1 zu sehen ist – einen Datei-Pfad eingeben, dann wird der Pfad nach der Eingabe von / oder wenigen Zeichen des passenden Pfades automatisch ergänzt. Gut zu wissen: Die Methode FileCompletion.Fill(…) wird automatisch ausgeführt!
Aus der Gambas-IDE kennen Sie bereits weitere Completion-Klassen, die anstelle von Dateien u.a. Eigenschaften oder Methoden oder Namen von Bildern im Quelltext-Editor vervollständigen:
Abbildung 6.11.5.1: Text-Vervollständigung 1 IDE
Abbildung 6.11.5.2: Text-Vervollständigung 2 IDE