Релиз Cambalache 0.8.0, инструмента для разработки GTK-интерфейсов

Опубликован релиз проекта Cambalache 0.8.0, развивающего инструмент быстрой разработки интерфейсов для GTK 3 и GTK 4, использующий парадигму MVC и философию первостепенного значения модели данных. В отличии от Glade в Cambalache предоставляется поддержка ведения нескольких интерфейсов пользователя в одном проекте. По функциональным возможностям выпуск Cambalache 0.8.0 отмечается как близкий к паритету с Glade. Код написан на Python и поставляется под лицензией GPLv2.

Cambalache не зависит от GtkBuilder и GObject, но предоставляет модель данных, соответствующую системе типов GObject. Модель данных может импортировать и экспортировать разом несколько интерфейсов, поддерживает объекты, свойства и сигналы GtkBuilder, предоставляет стек отката операций (Undo / Redo) и возможность сжатия истории команд. Для генерации модели данных из gir-файлов предоставляется утилита cambalache-db, а для генерации классов GObject из таблиц модели данных — утилита db-codegen.

Интерфейс может генерироваться на базе GTK 3 и GTK 4, в зависимости от определённой в проекте версии. Для обеспечения поддержки разных веток GTK формирование рабочей области осуществляется с привлечением бэкенда Broadway, позволяющего отрисовывать вывод библиотеки GTK в окне web-браузера. Основной процесс Cambalache предоставляет обвязку на базе WebKit WebView, в которой при помощи Broadway транслируется вывод из процесса Merengue, который непосредственно занимается отрисовкой интерфейса, создаваемого пользователем.

В новом выпуске:

  • Добавлена панель интерактивного выбора объектов, которая категоризирует классы объектов и упрощает поиск необходимой информации.

    0_1639144129.png

  • Реализованы заполнители рабочей области, упрощающие добавление дочерних элементов в заданные позиции. Добавить виджет вместо заполнителя можно кликнув на нём два раза. 0_1639144582.png

  • Предоставлена поддержка переводимых свойств и реализована возможность оставления комментариев для переводчиков.

    0_1639144605.png

  • Добавлена поддержка операций с буфером обмена (Copy, Paste, Cut и Delete). 0_1639144686.png

  • Улучшен вывод информации о неподдерживаемых возможностях при импорте UI-файлов и при экспорте в другой файл.

    0_1639144739.png



Источник: http://www.opennet.ru/opennews/art.shtml? num=56321

© OpenNet