Die Veröffentlichung von Cambalache 0.8.0 ist erfolgt. Dieses Tool zur schnellen Entwicklung von Benutzeroberflächen für GTK 3 und GTK 4 nutzt das MVC-Paradigma und legt besonderen Wert auf das Datenmodell. Im Gegensatz zu Glade bietet Cambalache die Unterstützung zur Verwaltung mehrerer Benutzeroberflächen in einem einzigen Projekt. Funktional gesehen erreicht die Version Cambalache 0.8.0 ein Niveau, das mit Glade vergleichbar ist. Der Code ist in Python geschrieben und wird unter der GPLv2-Lizenz bereitgestellt.
Cambalache ist unabhängig von GtkBuilder und GObject, bietet jedoch ein Datenmodell, das mit dem GObject-Typsystem kompatibel ist. Das Datenmodell kann mehrere Benutzeroberflächen gleichzeitig importieren und exportieren, unterstützt Objekte, Eigenschaften und Signale von GtkBuilder, ermöglicht das Rückgängigmachen und Wiederherstellen von Operationen (Undo / Redo) und bietet die Möglichkeit, den Befehlshistorie zu komprimieren. Zur Generierung des Datenmodells aus gir-Dateien steht das Tool cambalache-db zur Verfügung, und für die Generierung von GObject-Klassen aus den Datenmodelltabellen gibt es das Tool db-codegen.
Die Benutzeroberfläche kann auf der Grundlage von GTK 3 und GTK 4 generiert werden, abhängig von der im Projekt festgelegten Version. Um die Unterstützung für verschiedene GTK-Zweige zu gewährleisten, wird der Arbeitsbereich unter Zuhilfenahme des Broadway-Backends gebildet, das die Ausgabe der GTK-Bibliothek im Webbrowser rendert. Der Hauptprozess Cambalache bietet eine Bindung auf Basis von WebKit WebView, in der die Ausgabe des Prozesses Merengue, der direkt für die Darstellung der vom Benutzer erstellten Benutzeroberfläche zuständig ist, mit Broadway übertragen wird.
In der neuen Version:
- Ein interaktives Auswahlfeld für Objekte wurde hinzugefügt, das die Klassen der Objekte kategorisiert und die Suche nach notwendigen Informationen vereinfacht.

- Platzhalter für Arbeitsbereiche wurden implementiert, die das Hinzufügen von Kinderelementen an festgelegte Positionen erleichtern. Um ein Widget anstelle eines Platzhalters hinzuzufügen, können Sie doppelt darauf klicken.

- Es wird Unterstützung für übersetzbare Eigenschaften bereitgestellt, und die Möglichkeit, Kommentare für Übersetzer zu hinterlassen, wurde umgesetzt.

- Die Unterstützung für Clipboard-Operationen (Kopieren, Einfügen, Ausschneiden und Löschen) wurde hinzugefügt.

- Die Ausgabe von Informationen zu nicht unterstützten Funktionen beim Import von UI-Dateien und beim Export in eine andere Datei wurde verbessert.

Quelle: opennet.ru





