Development/VCL
TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Donate
Introduction
- Main article: VCL weld mechanism.
LibreOffice uses VCL (Visual Class Library) as its internal widget toolkit to create the graphical user interface (GUI) of LibreOffice. This library is responsible for creating the GUI widgets for LibreOffice, providing abstraction from the operating system including the basic rendering.
VCL is responsible for the widgets (windowing, buttons, controls, file-pickers etc.), operating system abstraction, including basic rendering (e.g. the output device). It should not be confused with Borland’s Visual Component Library, which is entirely unrelated.
VCL provides a graphical toolkit similar to wxWidgets, and in the software stack it has the place on the top of toolkits like GTK, Qt, meaning that it uses those toolkits.
VCL is capable of loading user interface definition files in Glade XML format (.ui
) at runtime, and use native widgets of specific platform to match the look and feel of other user interfaces. This can be changed simply by setting an environment variable, to select among the platform-specific user interface libraries that are available.
Examples
- Main article: VCL workbenches.
These are the examples that can help to become familiar with the way LibreOffice GUI is created using VCL.
Getting Started Examples
First example, minvcl
, uses some primitive constructs from VCL to create and display a Window on the screen.
This is a more interesting example, minweld
, which uses VCL::weld
mechanism to display a user interface designed with Glade.
More Complex Examples
These are more complex examples:
Workbenches
If you take a look into the vcl/workben
, you will see several workbenches that are actually built during the build process. These are some of them: