Dienstag, 15. Juli 2008

Layout Manager Tutorial, Teil 1

Ein Layout Manager dient zum einen dazu das Platzieren von GUI-Elementen bei der Entwicklung einer Anwendung zu vereinfachen. Da nicht jedes Element pixelgenau ins Fenster gesetzt werden muss, sondern nur relativ zu den übrigen Elementen, spart das Arbeit und später dazu kommende Elemente können sehr schnell eingefügt werden.
Ein weiterer Vorteil ist die Unabhängigkeit von der verwendeten Schriftgröße. Die GUI wächst und schrumpft praktisch mit. Dies ist auch für eine zukünftige Lokalisierung des Systems wichtig, da beschreibende Texte in verschiedenen Sprachen unterschiedlich lang sind.

Das BeOS besaß von Hause aus kein Layout System. Daher kamen unterschiedliche Systeme Dritter (liblayout, Santa's Gift Bag und ARPCommon library) zum Einsatz, die aber untereinander nicht kompatibel waren.
Haiku macht das einzig richtige und bringt einen Layout Manager als offiziellen Teil der API.
Es sei an dieser Stelle darauf hingewiesen, dass der Layout Manager z.Zt. noch eine private API ist, sie sich also jederzeit noch ändern kann! Dadurch würden die ihn benutzenden Programme nicht mehr funktionieren. Wer außerhalb von Haiku damit experimentieren möchte sollte sich darüber klar sein. Die von Haiku mitgelieferten Anwendungen werden bei Änderungen einfach mit angepasst.

Der Code befindet sich seit August 2006 in Haikus Repository. Ingo Weinhold, der ihn zum großen Teil entwickelt hat, ließ sich dabei vom QLayout der Qt Bibliothek inspirieren. Durch Christof Lutteroth und James Kim kam im Februar 2008 noch eine weitere Layout Methode dazu, das Auckland Layout Model (ALM), das Christof an der University of Auckland, Neuseeland, entwickelt hat.

Ryan Leavengood erklärt im 1. Teil des Layout Manager Tutorials das grundsätzliche Prinzip anhand Haikus MidiPlayer. In folgenden Teilen möchte er weiter in die Tiefe gehen und u.U. die oben genannte ALM Methode genauer vorstellen.

Keine Kommentare:

Kommentar veröffentlichen