Foi publicado o lançamento do projeto Cambalache 0.8.0, desenvolvendo uma ferramenta para desenvolvimento rápido de interfaces para GTK 3 e GTK 4, utilizando o paradigma MVC e a filosofia de suma importância do modelo de dados. Ao contrário do Glade, o Cambalache fornece suporte para manutenção de múltiplas interfaces de usuário em um projeto. Em termos de funcionalidade, o lançamento do Cambalache 0.8.0 é apontado como próximo da paridade com o Glade. O código é escrito em Python e licenciado sob GPLv2.
Cambalache é independente de GtkBuilder e GObject, mas fornece um modelo de dados consistente com o sistema de tipos GObject. O modelo de dados pode importar e exportar múltiplas interfaces ao mesmo tempo, suporta objetos, propriedades e sinais GtkBuilder, fornece uma pilha de desfazer (Desfazer/Refazer) e a capacidade de compactar o histórico de comandos. O utilitário cambalache-db é fornecido para gerar um modelo de dados a partir de arquivos gir, e o utilitário db-codegen é fornecido para gerar classes GObject a partir de tabelas de modelo de dados.
A interface pode ser gerada com base em GTK 3 e GTK 4, dependendo da versão definida no projeto. Para fornecer suporte para diferentes ramos do GTK, o espaço de trabalho é criado usando o backend Broadway, que permite renderizar a saída da biblioteca GTK em uma janela do navegador da web. O processo principal do Cambalache fornece uma estrutura WebKit baseada em WebView que usa Broadway para transmitir a saída do processo Merengue, que está diretamente envolvido na renderização da interface do usuário.
Na nova versão:
- Adicionado um painel interativo de seleção de objetos que categoriza classes de objetos e facilita a localização das informações necessárias.
- Implementados marcadores de espaço de trabalho para facilitar a adição de elementos filhos em posições especificadas. Você pode adicionar um widget em vez de um espaço reservado clicando duas vezes nele.
- Foi fornecido suporte para propriedades traduzíveis e implementada a capacidade de deixar comentários para os tradutores.
- Adicionado suporte para operações com a área de transferência (Copiar, Colar, Recortar e Excluir).
- Exibição aprimorada de informações sobre recursos não suportados ao importar arquivos de UI e ao exportar para outro arquivo.
Fonte: opennet.ru