Widgetset

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Zusammenspiel der Klassenbibliotheken und Widgetsets in Lazarus und Free Pascal

Widgetsets sind "Adapterbibliotheken" der Entwicklungsumgebung Lazarus, die eine Schnittstelle zwischen einem plattformunabhängigen Quelltext und plattformspezifischen Systemfunktionen herstellen. Sie erlauben damit die Entwicklung plattform-nativer Software, ohne dass der Quelltext geändert werden müsste. Damit ermöglichen sie, den Anspruch von Lazarus write once, compile anywhere in die Praxis umzusetzen.

Die plattformspezifischen Widgetsets stellen LCL-Schnittstellen für die Anbindung an das jeweilige Betriebssystem einschließlich seiner visuellen Steuerelemente (Widgets) bereit. Üblicherweise ist es nicht erforderlich, das Widgetset direkt anzusprechen, da dies durch die jeweiligen visuellen Komponenten (z. B. TEdit) automatisch geschieht. Dadurch wird gewährleistet, dass plattformunabhängiger Quellcode zu einer plattform-nativen Anwendung übersetzt wird. Die Widgetsets stellen jedoch auch Klassen bereit, die direkt von der Software angesprochen werden können.

Technische Details[Bearbeiten]

Die LCL ist mit mehreren hierarchischen Klassensystemen, die miteinander verzahnt sind, unterlegt. Die plattformunabhängige Schicht implementiert Steuerelemente, die im Formulardesigner entworfen werden können und für alle Betriebssysteme definiert werden. Die zugehörigen Komponenten sind von der LCL-Klasse TLCLComponent abgeleitet. Die konkrete Implementierung geschieht dann in einer plattformabhängigen Schicht, welche die abstrakten Basisklassen im LCL-Interface umsetzt und an das jeweilige Toolkit anbindet.

Verfügbare Widgetsets[Bearbeiten]

Derzeit (Herbst 2013) sind die folgenden Widgetsets verfügbar oder in Entwicklung:

Widgetset Unterstützte Betriebssysteme Status
Windows API, GDI Windows Stabil, produktiv benutzbar
Windows CE API, GDI Windows CE Stabil, produktiv benutzbar
GTK+ 1.2.x Linux (via X11) Teilweise umgesetzt, veraltet
GTK+ 2.8+ Windows, Linux (X11 und framebuffer) und Mac OS X (via X11) Stabil, produktiv benutzbar
GTK+ 3.x Windows, Linux (X11 und framebuffer) und Mac OS X (via X11) In Entwicklung
Qt 4.5+ Windows, Linux (X11 und framebuffer), Mac OS X Stabil, produktiv benutzbar.
Verfügbar für Windows, Linux, Mac OS X, Maemo, etc.
Software benötigt Zusatzbibliothek.
Cocoa Mac OS X In Entwicklung
Carbon Mac OS X Stabil, produktiv benutzbar
fpGUI Windows, Windows CE, Linux (via X11) In Entwicklung
Lazarus Custom Drawn Controls Android, Windows, Linux (via X11), Mac OS X In Entwicklung

Weblinks[Bearbeiten]

Literatur[Bearbeiten]

  • M. Van Canneyt, M. Gärtner, S. Heinig, F. Monteiro de Carvalho, I. Ouedrago. Lazarus - Arbeiten mit IDE und Klassenbibliothek. C&L-Verlag, Böblingen 2010. ISBN 978-3-936546-38-5.