Публикувана версия на проекта Cambalache 0.8.0, който развива инструмент за бързо проектиране на интерфейси за GTK 3 и GTK 4, използващ парадигмата MVC и философията на първостепенната значимост на моделите на данни. В отличие от Glade, в Cambalache се предоставя поддръжка за множество интерфейси на потребителя в един проект. По функционалност, версия 0.8.0 на Cambalache се счита за близка до паритета с Glade. Кодът е написан на Python и се предоставя под лицензия GPLv2.
Cambalache не зависи от GtkBuilder и GObject, но предоставя модел на данни, който съответства на системата от типове GObject. Моделът на данни може да импортира и експортира няколко интерфейса наведнъж, поддържа обекти, свойства и сигнали на GtkBuilder, предлага стек за връщане на операции (Undo / Redo) и възможност за компресиране на историята на командите. За генериране на модела на данни от gir файлове се предоставя утилитата cambalache-db, а за генериране на класове GObject от таблиците на модела на данни — утилитата db-codegen.
Интерфейсът може да се генерира на базата на GTK 3 и GTK 4, в зависимост от версията, определена в проекта. За осигуряване на поддръжка на различни версии на GTK, образуването на работна среда се извършва с помощта на backend Broadway, който позволява рендериране на изхода на библиотеката GTK в прозорец на уеб браузър. Основният процес на Cambalache предоставя обвивка на базата на WebKit WebView, в която с помощта на Broadway се предава изхода от процеса Merengue, който директно се занимава с рендериране на интерфейса, създаден от потребителя.
В новото издание:
- Добавена е интерактивна панел за избор на обекти, който категоризира класовете на обектите и улеснява намирането на необходимата информация.

- Реализирани са запълнители на работното пространство, улесняващи добавянето на дъщерни елементи в определени позиции. Можете да добавите виджет вместо запълнител, като кликнете два пъти на него.

- Предоставена е поддръжка за преводими свойства и реализирана възможност за оставяне на коментари за преводачи.

- Добавена е поддръжка за операции с клипборд (Копиране, Поставяне, Изрязване и Изтриване).

- Подобрен е изходът на информацията за неподдържаните функции при импортиране на UI файлове и при експортиране в друг файл.

Източник: opennet.ru





