De release van het Cambalache-project 0.8.0 is gepubliceerd. Dit is een tool voor snelle ontwikkeling van interfaces voor GTK 3 en GTK 4, die gebruikmaakt van de MVC-paradigma en de filosofie van de primordiale waarde van gegevensmodellen. In tegenstelling tot Glade biedt Cambalache ondersteuning voor het beheren van meerdere gebruikersinterfaces binnen ƩƩn project. Wat betreft functionaliteit wordt de release van Cambalache 0.8.0 als ongeveer gelijkwaardig aan Glade beschouwd. De code is geschreven in Python en wordt geleverd onder de GPLv2-licentie.
Cambalache is niet afhankelijk van GtkBuilder en GObject, maar biedt een datamodel dat overeenkomstig is met het type systeem van GObject. Het datamodel kan meerdere interfaces tegelijk importeren en exporteren, ondersteunt objecten, eigenschappen en signalen van GtkBuilder, biedt een undo/redo-operatiestack en de mogelijkheid om de geschiedenis van opdrachten samen te drukken. Voor het genereren van het datamodel uit gir-bestanden is er een utiliteit genaamd cambalache-db, en voor het genereren van GObject-klassen uit datamodeltabellen is er een utiliteit genaamd db-codegen.
De interface kan worden gegenereerd op basis van GTK 3 en GTK 4, afhankelijk van de versie die in het project is gedefinieerd. Om ondersteuning voor verschillende GTK-takken te waarborgen, wordt de werkruimte gevormd met behulp van de Broadway-backend, waarmee de uitvoer van de GTK-bibliotheek in een webbrowser kan worden weergegeven. Het hoofdproces van Cambalache biedt een wrapper op basis van WebKit WebView, waarin de uitvoer van het Merengue-proces, dat zich bezighoudt met het tekenen van de door de gebruiker gemaakte interface, via Broadway wordt gestreamd.
In de nieuwe release:
- Er is een interactieve objectselectie-paneel toegevoegd, die objectklassen categoriseert en het gemakkelijker maakt om de benodigde informatie te vinden.

- Vulplaatsen voor de werkruimte zijn geĆÆmplementeerd, wat het toevoegen van sub-elementen op specifieke posities vereenvoudigt. Je kunt een widget in plaats van een vulplaats toevoegen door er twee keer op te klikken.

- Ondersteuning voor vertaalbare eigenschappen is toegevoegd en de mogelijkheid voor vertalers om opmerkingen achter te laten is geĆÆmplementeerd.

- Ondersteuning voor bewerkingen met het klembord (Kopiƫren, Plakken, Knippen en Verwijderen) is toegevoegd.

- De informatie-uitvoer over niet-ondersteunde mogelijkheden is verbeterd bij het importeren van UI-bestanden en bij het exporteren naar een ander bestand.

Bron: opennet.ru





