The release of Cambalache 0.8.0 has been published, advancing a rapid development tool for GTK 3 and GTK 4 interfaces, utilizing the MVC paradigm and the philosophy of prioritizing data model. Unlike Glade, Cambalache offers support for managing multiple user interfaces within a single project. Functionally, the release of Cambalache 0.8.0 is noted to be close to parity with Glade. The code is written in Python and is distributed under the GPLv2 license.
Cambalache is independent of GtkBuilder and GObject but provides a data model that corresponds to the GObject type system. The data model can import and export multiple interfaces at once, supports objects, properties, and GtkBuilder signals, provides an operation undo/redo stack, and allows for command history compression. The cambalache-db utility is available for generating the data model from gir files, and the db-codegen utility is available for generating GObject classes from the data model tables.
The interface can be generated based on GTK 3 and GTK 4, depending on the version specified in the project. To ensure support for different GTK branches, the workspace is formed with the involvement of the Broadway backend, which allows rendering GTK library output in a web browser window. The primary Cambalache process provides a binding based on WebKit WebView, where the output from the Merengue process, which directly handles the rendering of the user-created interface, is streamed using Broadway.
In the new release:
- An interactive object selection panel has been added, categorizing object classes and simplifying the search for necessary information.

- Placeholders for the workspace have been implemented, simplifying the addition of child elements in specified positions. You can add a widget instead of a placeholder by double-clicking on it.

- Support for translatable properties has been provided, with the possibility of leaving comments for translators.

- Support for clipboard operations (Copy, Paste, Cut, and Delete) has been added.

- Improved output of information regarding unsupported features when importing UI files and exporting to another file.

Source: opennet.ru





