Foi lançado o projeto Cambalache 0.8.0, que desenvolve uma ferramenta de rápido desenvolvimento de interfaces para GTK 3 e GTK 4, utilizando a filosofia MVC e a primazia da modelagem de dados. Ao contrário do Glade, o Cambalache oferece suporte para gerenciar múltiplas interfaces de usuário em um único projeto. Em termos de funcionalidade, a versão 0.8.0 do Cambalache é considerada quase equivalente ao Glade. O código é escrito em Python e é fornecido sob a licença GPLv2.
O Cambalache não depende do GtkBuilder e do GObject, mas oferece um modelo de dados que se adequa ao sistema de tipos GObject. O modelo de dados pode importar e exportar vários interfaces simultaneamente, suportando objetos, propriedades e sinais do GtkBuilder, além de fornecer uma pilha de operações de desfazer/refazer (Undo/Redo) e a capacidade de compactar o histórico de comandos. Uma utilidade chamada cambalache-db está disponível para gerar o modelo de dados a partir de arquivos gir, e uma utilidade db-codegen para gerar classes GObject a partir das tabelas do modelo de dados.
A interface pode ser gerada com base no GTK 3 ou GTK 4, dependendo da versão especificada no projeto. Para garantir o suporte a diferentes versões do GTK, a formação do espaço de trabalho é realizada com a utilização do backend Broadway, que permite renderizar a saída da biblioteca GTK em uma janela do navegador web. O processo principal do Cambalache fornece uma camada baseada no WebKit WebView, na qual a saída do processo Merengue, que se ocupa diretamente da renderização da interface criada pelo usuário, é transmitida através do Broadway.
No novo lançamento:
- Foi adicionada uma painel interativo de seleção de objetos, que categoriza as classes de objetos e facilita a busca pela informação necessária.

- Foram implementados 'placeholders' na área de trabalho, facilitando a adição de elementos filhos nas posições desejadas. Para adicionar um widget em vez de um 'placeholder', é possível clicar duas vezes sobre ele.

- Fornecido suporte para propriedades traduzíveis e implementada a possibilidade de deixar comentários para os tradutores.

- Foi adicionada a capacidade de realizar operações com a área de transferência (Copiar, Colar, Cortar e Excluir).

- Melhorada a exibição de informações sobre funcionalidades não suportadas durante a importação de arquivos UI e durante a exportação para outro arquivo.

Fonte: opennet.ru





