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.
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.
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
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.