È stato pubblicato il rilascio del progetto Cambalache 0.8.0, uno strumento per lo sviluppo rapido di interfacce per GTK 3 e GTK 4, che utilizza la paradigmo MVC e la filosofia dell'importanza primaria del modello di dati. A differenza di Glade, in Cambalache è fornito supporto per la gestione di più interfacce utente all'interno di un unico progetto. Dal punto di vista delle funzionalità, il rilascio di Cambalache 0.8.0 è noto per essere vicino alla parità con Glade. Il codice è scritto in Python e distribuito sotto licenza GPLv2.
Cambalache non dipende da GtkBuilder e GObject, ma fornisce un modello di dati che corrisponde al sistema di tipi di GObject. Il modello di dati può importare ed esportare più interfacce contemporaneamente, supporta oggetti, proprietà e segnali di GtkBuilder, fornisce uno stack di operazioni per il ripristino (Undo / Redo) e la possibilità di comprimere la cronologia dei comandi. Per generare il modello di dati da file gir, è fornuto uno strumento chiamato cambalache-db, mentre per generare classi GObject dalle tabelle del modello di dati è fornito lo strumento db-codegen.
L'interfaccia può essere generata sulla base di GTK 3 e GTK 4, a seconda della versione specificata nel progetto. Per garantire il supporto di diverse branche di GTK, la formazione dell'area di lavoro è realizzata con l'ausilio del backend Broadway, che permette di visualizzare l'output della libreria GTK in una finestra del browser web. Il processo principale di Cambalache fornisce un wrapper basato su WebKit WebView, nel quale, attraverso Broadway, viene trasmesso l'output del processo Merengue, che si occupa in modo diretto del rendering dell'interfaccia creata dall'utente.
Nel nuovo rilascio:
- È stata aggiunta una barra di selezione interattiva degli oggetti, che categorizza le classi di oggetti e semplifica la ricerca delle informazioni necessarie.

- Sono stati implementati dei segnaposto nell'area di lavoro, che semplificano l'aggiunta di elementi figli nelle posizioni designate. È possibile aggiungere un widget al posto di un segnaposto facendo doppio clic su di esso.

- È stato fornito supporto per le proprietà traducibili ed è stata implementata la possibilità di lasciare commenti per i traduttori.

- È stato aggiunto il supporto per le operazioni con il clipboard (Copia, Incolla, Taglia e Elimina).

- È stato migliorato il messaggio informativo sulle funzionalità non supportate durante l'importazione dei file UI e durante l'esportazione in un altro file.

Fonte: opennet.ru





