1.2.3. Einzelkomponenten

Die Einzelkomponenten lassen sich in Eingabekomponenten, die der Auswahl oder der Eingabe von Daten dienen, und reine Darstellungskomponente unterteilen.
Diese Einzelkomponenten bieten eine Auswahl oder Eingabemöglichkeit durch den Benutzer. Jede dieser Komponenten muss daher innerhalb eines Formulars (oder innerhalb von Strukturkomponenten, die in einem Formular enthalten sind) platziert sein. Wird eine Eingabekomponente außerhalb eines Formulars eingefügt, so führt dies beim Anzeigen der Webseite zu einer Exception.
Abbildung
Komponente
Abbildung
Komponente
GhGuiButton
Diese Komponente stellt einen Button (eine Schaltfläche) dar. Normalerweise werden Buttons verwendet, um das Formular, in dem sie enthalten sind, abzusenden. Ein Button kann eine Beschriftung und ein Icon enthalten.
GhGuiCheckBox
Die Check-Box stellt eine Option dar, die ausgewählt (angekreuzt) oder frei gelassen werden kann. Wird die Check-Box angekreuzt, so wird ihr Wert im Formular übermittelt, andernfalls ist ihr Name und Wert nicht in den Formulardaten enthalten. Die Beschriftung der Check-Box (wie in der Abbildung zu sehen) muss separat erzeugt werden (mittels der Klasse GhGuiLabel, siehe unten).
GhGuiComboBox
Die Combo-Box ähnelt einem Textfeld, das nicht editiert werden kann. Beim Aufklappen wird eine Liste von Auswahlmöglichkeiten angezeigt, von denen nur eine ausgewählt werden kann. Die ausgewählte Option wird in dem Textfeld dargestellt.
GhGuiComboTree
Der Combo-Tree ähnelt der Combo-Box, jedoch wird beim Aufklappen keine Liste, sondern ein Baum angezeigt, aus dem ein Element ausgewählt werden kann.
GhGuiDataGrid
Das Data-Grid stellt tabellarische Daten in einer mehrspaltigen Liste dar. Die einzelnen Spalten können mit Überschriften und speziellen Formaten (z.B. für Datum oder Währungen) versehen werden und sortieren die Daten beim Anklicken des Spaltentitels. Das Data-Grid erlaubt je nach Einstellung die Auswahl einer einzelnen Zeile oder mehrerer Zeilen.
GhGuiDateTextBox
Diese Eingabekomponente stellt ein Textfeld zur Eingabe eines Datums dar. Die Komponente kann aufgeklappt werden und zeigt dann einen Kalender zur Auswahl eines Datums an.
GhGuiEditor
Der Editor ermöglicht die Eingabe formatierter Texte und stellt die Textauszeichnungen direkt dar (WYSIWYG - "what you see is what you get"). Die Möglichkeiten zur Textformatierung (z.B. Fett- und Kursivdruck, Ausrichtung, Schriftart und -größe) werden in einer Toolbar im Editor zur Verfügung gestellt. Diese Toolbar kann sowohl im Umfang als auch in der Reihenfolge der Optionen festgelegt werden.
GhGuiFileChooser
Diese Eingabekomponente dient der Auswahl einer Datei zum Hochladen über das Formular. Sie stellt einen Button dar, der beim Anklicken einen Dateidialog zum Auswählen einer Datei öffnet. Die ausgewählte Datei wird neben dem Button angezeigt.

GhGuiHiddenField
Diese Komponente fügt ein verstecktes Formularfeld in das Formular ein. Sie hat demnach keine sichtbare Ausprägung und dient lediglich dazu, zusätzliche Daten im Formular mitzusenden.
GhGuiList
Diese Komponente stellt eine vertikale Liste von Einträgen dar. Je nach Einstellung können ein oder mehrere der Einträge ausgewählt werden. Die Anzahl der sichtbaren Einträge (die Höhe der Liste) kann festgelegt werden.
GhGuiNumberSpinner
Dies ist eine Komponente zur Eingabe von Zahlen. Zusätzlich zur direkten Eingabe als Text bietet die Komponente zwei Schaltflächen zum Erhöhen oder Verringern der Zahl.
GhGuiPasswordBox
Dies ist ein Textfeld, welches die eingegebenen Zeichen maskiert. Zum Eingeben von Passwörtern wird üblicherweise diese Komponente verwendet, da sie das Ausspähen des Passworts vom Bildschirm während der Eingabe verhindert.
GhGuiRadioButton
Das Radio-Button stellt, ähnlich wie die Check-Box, eine Option dar, die angekreuzt oder frei gelassen werden kann. Von mehreren Radio-Buttons mit dem selben Formularfeldnamen kann immer nur eine Option gewählt sein. Die Beschriftung des Radio-Buttons (wie in der Abbildung zu sehen) muss separat erzeugt werden (mittels der Klasse GhGuiLabel, siehe unten).
GhGuiTextArea
Diese Komponente stellt einen Bereich zur Eingabe mehrzeiliger Texte dar. Die Eingabe ermöglicht lediglich reinen Text ohne Formatierung. Die Breite (in Zeichen) und Höhe (in Zeilen) des Textbereichs kann festgelegt werden.
GhGuiTextBox
Die Text-Box ist eine Eingabekomponente für einzeiligen Text ohne Formatierung.
GhGuiTimeTextBox
Diese Eingabekomponente stellt ein Textfeld zur Eingabe eines Zeitpunkts dar. Die Komponente kann aufgeklappt werden und zeigt dann eine List von Zeiten zur Auswahl eines Zeitpunkts an.
GhGuiTree
Diese Komponente stellt einen Baum dar, dessen Elemente aufgeklappt werden können, und der die Auswahl eines Baumelements ermöglicht.
Diese Einzelkomponenten dienen der reinen Darstellung von Daten und enthalten keine Eingabemöglichkeit.
Abbildung
Komponente
Abbildung
Komponente
GhGuiIframe
Das IFrame bindet eine beliebige Webseite als Inhalt ein. Da diese Komponente als Ziel für ein Formular verwendet werden kann, eignet sie sich zur Strukturierung komplexerer Benutzungsoberflächen (wie im Abschnitt Formulare beschrieben).
GhGuiLabel
Diese Komponente stellt eine Beschriftung einer anderen Komponente dar. Häufig wird dies verwendet, um Check-Boxen und Radio-Buttons zu beschriften, da in diesem Fall das Anklicken der Beschriftung ein Auswählen / Leeren der Check-Box bzw. des Radio-Buttons ermöglicht.
GhGuiSeparator
Diese Komponente stellt einen Trenner oder Abstandhalter dar. In normalen Strukturkomponenten ist dieser Trenner nicht sichtbar und fügt lediglich einen Freiraum ein (dessen Größe optional festgelegt werden kann). In Toolbar-Komponenten (siehe GhGuiToolbar) wird der Trenner sichtbar als Trennlinie angezeigt, um eine Gruppierung der Toolbar-Inhalte zu ermöglichen.
GhGuiText
Dies ist eine Komponente, die beliebige Textinhalte darstellt. Der Text kann formatiert sein, es können zudem beliebige HTML-Elemente im Text enthalten sein. Die Komponente bietet einige Methoden zur Formatierung, z.B. zum Hinzufügen von Überschriften und Absätzen sowie eine Methode zum Hinzufügen des Webseiteninhalts (aus dem <body> Knoten) einer kompletten Webseite.