Konsol-UI-Widgets

Wenn Sie die Konsol-UI im RCP-Modus verwenden (siehe Konsol-UI), können Sie unter Verwendung von Widgets Steuerelemente zu Ihrer Anzeige hinzufügen. Widgets sind die grundlegenden Elemente in einer grafischen Benutzerschnittstelle, z. B. Schaltflächen, Optionsfelder, Kontrollkästchen und Kombinationsfelder. EGL verwendet das Standard Widget Toolkit von Java™, um diese Elemente bereitzustellen.

EGL behandelt diese Widgets wie EGL-Abschnitte. Sie deklarieren Variablen auf ihrer Grundlage und jedem Widget sind Eigenschaften zugeordnet. Alle Widgets haben die folgenden Eigenschaften:
name
Dies ist der Name, den das Konsol-UI-Programm verwenden wird, um das Widget zu erkennen.
bounds
Dies ist eine Feldgruppe von vier ganzen Zahlen, die die Position und die Größe des Widgets wie folgt in Zeichen angeben: [zeile, spalte, höhe, breite].
Die folgenden Widgets sind verfügbar:
ConsoleButton
Dies erstellt einen scheinbar erhöhten Bereich in der Anzeige. Wenn der Benutzer auf die Schaltfläche klickt, sieht es aus, als würde sie nach unten gedrückt. Wenn der Benutzer die Maustaste wieder loslässt, kehrt die Taste in ihre ursprüngliche Position zurück. Ein 'ConsoleButton'-Widget hat die folgende zusätzliche Eigenschaft:
text
Eine Zeichenfolge (STRING), deren Wert auf der Schaltfläche angezeigt wird.
Eine 'ConsoleButton'-Widget generiert das folgende Ereignis:
PUSHED
Dies zeigt an, dass der Benutzer auf die Schaltfläche geklickt hat.
ConsoleCheckBox
Dieses Widget erstellt ein standardmäßiges Kontrollkästchen. Wenn auf ein leeres Kontrollkästchen geklickt wird, zeigt das Feld ein X oder ein Häkchen an (abhängig von der Plattform). Wenn auf ein markiertes Kontrollkästchen geklickt wird, wird der Inhalt des Felds gelöscht. Ein 'ConsoleCheckBox'-Widget hat die folgende zusätzliche Eigenschaft:
text
Eine Zeichenfolge (STRING), deren Wert auf der Schaltfläche angezeigt wird.
Ein 'ConsoleCheckBox'-Widget generiert das folgende Ereignis:
STATE_CHANGED
Dies zeigt an, dass der Benutzer das Kontrollkästchen angeklickt hat. Binden Sie das Kontrollkästchen an eine Variable vom Typ BOOLEAN, um den Status des Kästchens zu prüfen. TRUE weist darauf hin, dass das Kästchen markiert ist.
ConsoleCombo
Dieses Widget erstellt ein Standardkombinationsfeld (auch bekannt als Dropdown-Liste). Wenn der Benutzer einen Wert in dem ausgeklappten Feld auswählt, wird der ausgewählte Wert in der komprimierten Form des Felds angezeigt. Ein 'ConsoleCombo'-Widget hat die folgende zusätzliche Eigenschaft:
items
Eine Feldgruppe von Zeichenfolgen (STRING), deren Werte in dem ausgeklappten Feld angezeigt werden.
Ein 'ConsoleCombo'-Widget generiert das folgende Ereignis:
SELECTION_CHANGED
Dies zeigt an, dass der Benutzer auf das Kombinationsfeld geklickt hat. Wenn der Benutzer dasselbe Elemente wie zuvor auswählt, generiert das Feld trotzdem das Ereignis. Binden Sie das Kombinationsfeld an eine ganzzahlige Variable (wie SMALLINT oder BIN(4,0)), um einen Index in die Feldgruppe items einzufügen, der dem ausgewählten Element entspricht.
ConsoleRadioGroup
Dieses Widget erstellt eine Gruppe von Standardoptionsfeldern. Es kann jeweils nur ein Optionsfeld ausgewählt sein. Wenn der Benutzer einen Wert aus der Gruppe auswählt, wird die ausgewählte Schaltfläche als ausgefüllt angezeigt und zuvor ausgewählte Schaltflächen in der Gruppe werden abgewählt. Ein 'ConsoleRadioGroup'-Widget hat die folgende zusätzliche Eigenschaft:
items
Eine Feldgruppe von Zeichenfolgen (STRING), deren Werte neben den Schaltflächen angezeigt werden.
Ein 'ConsoleRadioGroup'-Widget generiert die folgenden Ereignisse:
SELECTION_CHANGED
Dies zeigt an, dass der Benutzer auf eine der Schaltflächen geklickt hat. Wenn der Benutzer auf dasselbe Element wie zuvor klickt, generiert die Gruppe trotzdem dasselbe Ereignis. Binden Sie die Gruppe an eine ganzzahlige Variable (wie SMALLINT oder BIN(4,0)), um einen Index in die Feldgruppe items einzufügen, der dem ausgewählten Element entspricht.
ConsoleList
Dieses Widget erstellt ein Listenfeld, bei dem es sich um eine Liste von Zeichenfolgenwerten handelt, von denen der Benutzer einen oder mehrere auswählen kann. Ein 'ConsoleList'-Widget hat die folgenden zusätzlichen Eigenschaften:
items
Eine Feldgruppe von Zeichenfolgen (STRING), deren Werte neben den Schaltflächen angezeigt werden.
multipleSelect
Ein boolescher Wert (BOOLEAN), der angibt, ob der Benutzer mehr als ein Element in der Liste auswählen kann, üblicherweise indem bei der Auswahl die Taste STRG gedrückt wird.
Ein 'ConsoleList'-Widget generiert das folgende Ereignis:
SELECTION_CHANGED
Dies zeigt an, dass der Benutzer die Auswahl in der Liste geändert hat. Wenn der Benutzer auf das aktuell ausgewählte Element klickt, generiert das Listenfeld trotzdem das Ereignis. Binden Sie das Listenfeld an eine ganzzahlige Variable (wie SMALLINT, INT oder BIN(4,0)), um einen Index in die Feldgruppe items einzufügen, der den ausgewählten Elementen entspricht.

Wenn multipleSelect auf 'false' (den Standardwert) gesetzt ist, was bedeutet, dass nur ein Element in der Liste ausgewählt werden kann, enthält die an die Konsolenliste gebundene Variable den Index des ausgewählten Elements. Wenn das erste Element ausgewählt wird, enthält die Variable die Zahl 1. Wenn das fünfte Element ausgewählt wird, enthält die Variable die Zahl 5.

Wenn multipleSelect auf 'true' gesetzt ist, enthält die Variable eine binäre Darstellung der ausgewählten Elemente. Jedes Element in der Liste ist, abhängig von seiner Position, einem Mehrfachen von zwei zugeordnet: das erste Element ist 1, das zweite ist 2, das dritte ist 4, das vierte ist 8, das fünfte ist 16, das sechste ist 32 usw. Der Wert der Variablen ist die Summe der Werte aller ausgewählten Elemente. Beispiel: Wenn nur das erste Element ausgewählt ist, enthält die Variable den Wert 1. Wenn das erste und das zweite Element ausgewählt sind, enthält die Variable den Wert 3, also die Summe der Werte für die beiden ausgewählten Elemente. Wenn das zweite, fünfte und sechste Element ausgewählt sind, enthält die Variable den Wert 50, oder genauer 2+16+32.

Beispiel

Der folgende vereinfachte Konsolendatensatz enthält jeweils ein Exemplar aller Widgettypen.
Record ShowWidgets type ConsoleForm { formsize=[12,55] }

*    ConsoleField      { position=[2,5], value="First Name" };
firstName ConsoleField { name="firstName", position=[2,20], 
   fieldLen=15, value="", inputRequired=no };

*     ConsoleField    { position=[3,5], value="Last Name" };
lastName ConsoleField { name="lastName", position=[3,20], 
   fieldLen=8, value="", inputRequired=yes };

button1 consolebutton {
  name = "button1", bounds = [5,5,1,15], text = "Submit"
  };
  
box1 consolecheckbox {
  name = "box1", bounds = [5,6,1,15], text = "Check Me!"
  };
  
combo1 consolecombo {
  name = "combo1", bounds = [7,5,1,15]
  };
radio1 consoleradiogroup {
  name = "radio1", bounds = [5,25,3,15]
  };
list1 consoleList {
  name = "list1", bounds = [10,25,3,15]
  };
end
In dem folgenden Auszug zeigt die Konsole das ausgewählte Element des Kombinationsfelds an.
OnEvent(ConsoleCombo.SELECTION_CHANGED: "combo1")
  writeStdOut(myForm.combo1.items[combo1var]);

Ausführlichere Codebeispiele finden Sie in den Themen zu Konsol-UI-Widgets im EGL-Programmiererhandbuch.


Feedback