Die Version 0.8.0 des Cambalache-Projekts wurde veröffentlicht, das ein Tool zur schnellen Entwicklung von BenutzeroberflĂ€chen fĂŒr GTK 3 und GTK 4 bereitstellt und das MVC-Paradigma sowie die Philosophie der primĂ€ren Bedeutung des Datenmodells verwendet. Im Gegensatz zu Glade bietet Cambalache die UnterstĂŒtzung fĂŒr die Verwaltung mehrerer BenutzeroberflĂ€chen in einem Projekt. Funktional wird die Version 0.8.0 von Cambalache als nahezu gleichwertig mit Glade angesehen. Der Code ist in Python geschrieben und wird unter der GPLv2-Lizenz veröffentlicht.
Cambalache hĂ€ngt nicht von GtkBuilder und GObject ab, sondern bietet ein Datenmodell, das dem GObject-Typsystem entspricht. Das Datenmodell kann mehrere BenutzeroberflĂ€chen gleichzeitig importieren und exportieren, unterstĂŒtzt Objekte, Eigenschaften und Signale von GtkBuilder, bietet einen RĂŒckgĂ€ngig/Wiederholen-Befehlsstapel und die Möglichkeit, die Befehlsverlaufshistorie zu komprimieren. Zur Generierung des Datenmodells aus gir-Dateien steht das Tool cambalache-db zur VerfĂŒgung, und zur Generierung von GObject-Klassen aus den Datenmodelltabellen â das Tool db-codegen.
Die BenutzeroberflĂ€che kann auf der Basis von GTK 3 und GTK 4 generiert werden, je nach der im Projekt definierten Version. Um die UnterstĂŒtzung fĂŒr verschiedene GTK-Zweige zu gewĂ€hrleisten, erfolgt die Gestaltung des Arbeitsbereichs mit Hilfe des Broadway-Backends, das es ermöglicht, die Ausgabe der GTK-Bibliothek in einem Webbrowserfenster darzustellen. Der Hauptprozess von Cambalache bietet eine Bindung auf Basis von WebKit WebView, in der die Ausgabe des Merengue-Prozesses, der fĂŒr das Rendering der vom Benutzer erstellten BenutzeroberflĂ€che verantwortlich ist, ĂŒber Broadway ĂŒbertragen wird.
In der neuen Version:
- Ein interaktives Auswahlfeld fĂŒr Objekte wurde hinzugefĂŒgt, das die Klassen von Objekten kategorisiert und die Suche nach benötigten Informationen erleichtert.

- Es wurden Platzhalter fĂŒr den Arbeitsbereich implementiert, die das HinzufĂŒgen von untergeordneten Elementen an bestimmte Positionen vereinfachen. Um ein Widget anstelle eines Platzhalters hinzuzufĂŒgen, kann man es doppelt anklicken.

- UnterstĂŒtzung fĂŒr ĂŒbersetzbare Eigenschaften wurde bereitgestellt und die Möglichkeit implementiert, Kommentare fĂŒr Ăbersetzer zu hinterlassen.

- UnterstĂŒtzung fĂŒr Operationen mit der Zwischenablage (Kopieren, EinfĂŒgen, Ausschneiden und Löschen) wurde hinzugefĂŒgt.

- Die Ausgabe von Informationen ĂŒber nicht unterstĂŒtzte Funktionen beim Import von UI-Dateien und beim Export in eine andere Datei wurde verbessert.

Quelle: opennet.ru





