3.1 Anwendungsbaum

Jede RapaGUI-Anwendung ist im Grunde genommen ein Baum, der viele MOAI-Objekte enthält, aus denen sich die Anwendung zusammensetzt. Typischerweise sind MOAI-Objekte nur Widgets wie Schaltflächen, Listenansichten, Textlisten etc, können aber auch separate Fenster oder abstrakte Objekte wie Gruppenobjekte sein, die zur Berechnung des GUI-Layouts verwendet werden.

Das Wurzelelement jedes Anwendungsbaum muss immer eine Instanz von der Applications-Klasse sein. Außerhalb des Applikations-Objekts darf kein MOAI-Objekt existieren. Applikations-Objekte werden durch den Aufruf von moai.CreateApp() erzeugt und es kann in jedem Programm nur ein Applikations-Objekt geben. Das Applikations-Objekt ist für die Abfertigung aller Ereignisse und Nachrichten zuständig, die Ihr Programm benötigt. Siehe Application-Klasse für Details.

Die wichtigsten Elemente des Applikations-Objekt sind die separaten im Vordergrund befindlichen Fenster Ihrer Anwendung. Dies können normale Top-Level-Fenster oder modale Dialoge sein, die den Rest Ihrer Anwendung blockieren, während sie geöffnet sind. Um diese Objekte in XML zu erzeugen, müssen Sie sie nur mit den Tags <window> und <dialog> erzeugen. Siehe Window-Klasse für Details. Siehe Dialog-Klasse für Details.

Jedes Fenster oder jeder Dialog muss immer genau ein Wurzelobjekt haben, das von der Group-Klasse abgeleitet sein muss. Mit der Group-Klasse können Sie ein oder mehrere Widgets in einem horizontalen, vertikalen oder Raster-basierten Layout kombinieren. Dies ist eine der wichtigsten Klassen, auf die mit den Tags <vgroup>, <hgroup> und <colgroup> aus XML zugegriffen werden kann. Wenn sich die Fenstergröße ändert, wird das an alle Gruppen automatisch weitergeleitet, was bedeutet, dass Sie sich nicht um die komplexe Aufgabe kümmern müssen, Ihr GUI-Layout auf der Grundlage der aktuellen Fenstergröße neu zu berechnen. RapaGUI macht das alles automatisch für Sie. Siehe Group-Klasse für Details.

Eine weitere sehr wichtige Klasse ist die Area-Klasse (Bereichs-Klasse). Alle Widgets sind untergeordnete Elemente der Area-Klasse, weil Area-Klasse im Grunde nur einen rechteckigen Bereich innerhalb des GUI-Layouts beschreibt, auf dem Widgets-abhängige Grafiken gezeichnet werden. Dies bedeutet, dass Sie alle Attribute und Methoden dieser Klasse für alle MOAI-Objekte, die Widgets sind, verwenden können. Sie können zum Beispiel die Dimensionen aller Ihrer Widgets festlegen, indem Sie nur die Attribute Area.Width und Area.Height verwenden. Dies ist jedoch normalerweise nicht notwendig, da RapaGUI automatisch die Dimensionen für alle Widgets auswählt. Wenn Sie mit der Wahl von RapaGUI nicht zufrieden sind, können Sie sie jedoch mit diesen Attributen außer Kraft setzen. Siehe Area-Klasse für Details.


Navigation zeigen