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

edit

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

edit

Further reading

edit
  • 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

📚 Artikel Terkait di Wikipedia

Lazarus (software)

done by separating the definition of common widget classes and their widgetset-specific implementation. Each widget set is supported by providing an

Lazarus Component Library

on the Free Pascal libraries RTL and FCL. By binding platform-specific widgetsets it supports platform-sensitive software development for several operating

PeaZip

Microsoft Windows, Linux (DEB, RPM and TGZ, compiled both for GTK2 and Qt widgetset), and BSD (GTK2). It is available also as a PortableApps package (.paf

Component Library for Cross Platform

Component Library (LCL) for the Lazarus IDE. By docking to different widgetsets, the LCL is able to support an even larger spectrum of platforms including

List of open-source code libraries

Pascal GPL-2.0 fpGUI Pascal GPL-2.0 Turbo Vision Pascal, C++ MPL-1.1 Widgetset Pascal GPL-2.0 Free Component Library Object Pascal GPL FireMonkey Delphi

Mpv (media player)

Linux and Windows music player that supports many backends, based on LCL widgetsets, written in Pascal. Its goal is to be a flexible audio player that supports

Free Pascal Runtime Library

Interaction of class libraries and widgetsets in Lazarus and Free Pascal

Free Component Library

Interaction of class libraries and widgetsets in Lazarus and Free Pascal