Widgetset

Interaction of class libraries and widgetsets in Lazarus and Free Pascal

Widgetsets support platform-sensitive development with the Lazarus IDE system. They act as adapter libraries that provide an interface between a platform-independent sourcecode written in Free Pascal and platform-specific system functions. Thus they allow for development of platform-native software without requiring to provide specific source code for different target platforms.

Widgetsets act as basis for the Lazarus Component Library (LCL).

Available widgetsets

Currently (June 2020), the development status of widget toolkit interfaces is roughly as follows:[1]

Widget set Supported operating systems Status
Windows API, GDI Windows Mainstream use
Windows CE API, GDI Windows CE Mainstream use
GTK+ 1.2.x Linux (via X11) Deprecated
GTK+ 2.8+ Linux (X11 and framebuffer), Windows, and Mac OS X (via X11) Mainstream use
GTK+ 3.x As Gtk2 Alpha
Qt 4.5+, 5.6+[2] Linux (X11 and framebuffer), Windows, Mac OS X Mainstream use. Works in Windows, Linux, Mac OS X, Maemo, etc
Cocoa Mac OS X In progress
Carbon Mac OS X Mainstream use
fpGUI Windows, Windows CE, Linux (via X11) Initial stage
Lazarus Custom Drawn Controls Android, Windows, Linux (via X11), Mac OS X Initial stage

References

Further reading

  • Michaël van Canneyt; Florian Klämpfl (2012), Free Pascal (Free Pascal 2 ed.), Computer & Literatur Verlag GmbH, ISBN 978-3936546729, OL 25421359M, 393654672X
  • Michaël van Canneyt; Mattias Gärtner; Swen Heinig; Felipe Monteiro de Carvalho; Inoussa Ouedraogo; Jörg Braun (2011), Lazarus, Böblingen, Germany: Computer & Literatur Verlag GmbH, OL 25426539M
  • Michaël van Canneyt; Mathias Gärtner; Swen Heinig; Felipe Monteiro de Carvalho; Inoussa Ouedraogo (2011), Lazarus - the complete guide, Blaise Pascal Magazine, OL 25427992M
  • Roderick Person (2013), Getting Started with Lazarus IDE, Packt Publishing, ISBN 978-1782163404, OL 25426631M, 1782163409