Release of Cambalache 1.0, a tool for developing GTK interfaces

Cambalache 1.0 is now available. It develops a rapid interface development tool for GTK 3 and GTK 4, using visual design (WYSIWYG), the MVC paradigm, and a data-first philosophy. The 1.0 version is touted as the project's readiness for widespread use. The code is written in Python and licensed under the LGPLv2.1 license. A flatpak package is available for installation.

Unlike Glade, Cambalache provides support for managing multiple user interfaces in a single project. Cambalache does not depend on GtkBuilder or GObject, but provides a data model that conforms to the GObject type system. It supports editing, visualization, and creation of GTK styles in CSS format, editing XML files with GResources, creating templates and widgets, and using GtkBuilder XML files and Blueprint markup.

The data model can import and export multiple interfaces simultaneously, supports GtkBuilder objects, properties, and signals, provides an undo/redo stack, and the ability to compress the command history. The cambalache-db utility is provided for generating the data model from gir files, and the db-codegen utility is used for generating GObject classes from data model tables.

The interface can be generated using GTK 3 or GTK 4, depending on the version specified in the project. To support different GTK versions, the workspace is generated in a separate process using the Casilda widget, which allows windows from other processes to be embedded into GTK4 applications and is implemented as a specialized composite. Server, using the Wayland protocol and the wlroots library. Casilda creates virtual input devices to which events are broadcast from the GtkEventController, as well as a virtual output device sized like the app's built-in widget. Using wlroots, preview content is drawn to a pixel buffer and loaded as a Cairo surface (cairo.Surface) for rendering in GTK.  Release of Cambalache 1.0, a tool for developing GTK interfaces  Release of Cambalache 1.0, a tool for developing GTK interfaces  Release of Cambalache 1.0, a tool for developing GTK interfaces

Source: opennet.ru

Add a comment