Neuerungen in R-BASIC 1.01 / 1.02 / 1.031. Versionsübersicht 1. VersionsübersichtDiese Übersicht enthält die wesentlichen Neuerungen, Änderungen und Bugfixes für die R-BASIC-Versionen, die nach der Version 1.0 (Dezember 2021) veröffentlicht wurden und die direkt das Programmieren betreffen. Kleine Anpassungen und Fehlerkorrekturen, die es in jeder Version gibt, oder Verbesserungen des Editor-Handlings, sind nicht explizit aufgeführt.Falls erforderlich wurde jeweils die Handbücher angepasst. Version 1.0.3 - Mai 2023
^2. Tab-styled RadioButtonGroups
Einstellungen für die RadioButtonGroupDie Einstellungen der RadioButtonGroup beschränken sich darauf, die Instancevariable look mit einem der Werte aus der folgenden Tabelle zu belegen und einen der Hints ExpandWidth oder ExpandHeight zu setzen. Außerdem muss ein Apply-Handler definiert werden, der die zum angewählten Tab gehörende UI sichtbar macht und die nicht dazu gehörende UI verbirgt.
Hinweis: Wenn sich die Tabs links oder rechts vom TabsContent befinden, sollten Sie für die RadioButton-Objekte den Hint fixedSize setzen, weil sie sonst eventuell nicht bis an das TabsContent-Objekt heranreichen. Der Hint ExpandWidth funktioniert (in der aktuellen GEOS-Version) hier nicht. Intern werden beim Belegen der Instancevariablen look zusätzliche Instancevariablen belegt, die im Folgenden aufgeführt sind.
Codebeispiel. Den vollständigen Code finden Sie in der Beispieldatei "Tabs Tester" im Ordner "Beispiel\Objekte\Listen". | ||||||||||||||||||||||||||||||
RadioButtonGroup TabsGroup Children = TabText, TabNumber, TabButton ApplyHandler = TabsChanged ' as ListAction selection = 1 look = LOOK_TABS_TOP End OBJECT | ||||||||||||||||||||||||||||||
LISTACTION TabsChanged TabsNumber.HideDelayed TabsMemo.HideDelayed TabsButton.HideDelayed ON selection SWITCH CASE 1: TabsMemo.visible = TRUE : End CASE CASE 2: TabsNumber.visible = TRUE : End CASE CASE 3: TabsButton.visible = TRUE : End CASE End SWITCH End ACTION | ||||||||||||||||||||||||||||||
DontCenterTabbedChildrenIn älteren GEOS-Versionen, die keine Tabs unterstützen, sieht es eventuell besser aus, wenn die RadioButton-Objekte, die statt der Tabs erscheinen, zentriert sind. Dazu müssen Sie die Instancevariable justifyChildren = J_CENTER setzen. Damit in diesem Fall die Tabs nicht auch zentriert werden, können Sie den Hint DontCenterTabbedChildren verwenden.Syntax UI- Code: DontCenterTabbedChildren Einstellungen für den TabsHolderDer TabsHolder muss die RadioButtonGroup und das TabsContent Objekt als Children haben. Die Reihenfolge und die Orientierung der Children hängt davon ab, wo sich die Tabs befinden:
Zusätzlich sollte der Hint MinimizeChildSpacing gesetzt werden, um einen Abstand zwischen TabsGroup und TabsContent zu verhindern. Häufig ist es sinnvoll, die beiden Hints ExpandWidth und ExpandHeight zu setzen. Codebeispiel: | ||||||||||||||||||||||||||||||
Group TabsHolder Children = TabsGroup, TabsContent orientChildren = ORIENT_HORIZONTALLY MinimizeChildSpacing ExpandWidth : ExpandHeight End OBJECT | ||||||||||||||||||||||||||||||
Einstellungen für das TabsContent-ObjektDas TabsContent-Objekt sollte seine Größe nicht ändern, wenn die UI darin umgeschaltet wird. Das erreicht man durch setzen beiden Hints ExpandWidth und ExpandHeight oder durch Belegen der Instancevariablen fixedSize.Sehr oft verwendet das TabsContent-Objekt einen hervorgehobenen Rahmen an drei Seiten, um das typische Aussehen zu erzeugen. Der Rahmen auf der Seite, auf der sich die Tabs befinden, sollte nicht hervorgehoben werden. Das erledigt das RadioButton-Objekt. Um das zu realisieren, unterstützen Group-Objekte die Instancevariable RaisedFrame. Ihr wird ein Zahlenwert übergeben, der bestimmt, auf welcher Seite ein hervorgehobener Rahmen gezeichnet wird.
RaisedFrameRaisedFrame zeichnet einen hervorgehobenen Rahmen an einer oder mehreren Seiten des Objekts.RaisedFrame ist ein Hint, d.h nicht alle GenericClass Abkömmlinge unterstützen diese Funktion. Er sollte nur für Groups verwendet werden.
Syntax UI- Code: RaisedFrame = numWert
Lesen: <numVar> = <obj>.RaisedFrame
Schreiben: <obj>.RaisedFrame = numWert
Zur Verwendung mit RaisedFrame sind die folgenden Konstanten definiert. Sie können mit + oder OR verbunden werden.
Hinweis: Wird die Instancevariable RaisedFrame verwendet, so wird der Hint DrawInBox ignoriert. Codebeispiel: | ||||||||||||||||||||||||||||||
Group TabsContent Children = TabsMemo, TabsNumber, TabsButton RaisedFrame = RF_TOP + RF_RIGHT + RF_BOTTOM justifyChildren = J_CENTER ExpandWidth : ExpandHeight End OBJECT | ||||||||||||||||||||||||||||||
^Weitere Listen-Objekte - OptionGroup, RadioButtonGroup, DynamicList |