Выпуск графического тулкита GTK+ 3.12.0

За считанные часы до выхода GNOME 3.12 представлен стабильный релиз новой ветки многоплатформенного тулкита для создания графического интерфейса пользователя — GTK+ 3.12.0. Ветка GTK+ 3.12 полностью обратно совместима с прошлыми выпусками GTK+ серии 3.x. В состав тулкита входит полный набор виджетов, позволяющих использовать GTK+ для проектов различного уровня и размера. Код GTK+ развивается в рамках проекта GNU и распространяется под лицензией LGPL, что позволяет использовать GTK+ не только для разработки свободного ПО, но и для создания проприетарных приложений, не требуя от производителей закрытых программ выплаты роялти или покупки специальной лицензии. С тех пор, как GTK+ был разработан в рамках проекта GIMP, тулкит используется в различных проектах, например, GTK+ лежит в основе десктоп-окружений GNOME и Xfce или используется в таких продуктах, как Firefox и OpenOffice/LibreOffice.

GTK+ спроектирован для поддержки не только C/C++, но и других языков программирования, таких как Perl и Python, что в сочетании с использованием визуального построителя интерфейса Glade позволяет существенно упростить разработку и сократить время написания графических интерфейсов. Организация вывода в GTK+ абстрагирована от типа оконных систем, например, поставляется бэкенд, обеспечивающий возможность работы поверх дисплейного сервера Wayland, а также бэкенд, позволяющий отрисовывать вывод библиотеки GTK+ в окне web-браузера (запустив Gtk-приложение на одной машине, можно открыть web-браузер на другой машине и получить доступ к интерфейсу данной программы).

Из добавленных в GTK+ 3.12.0 улучшений можно отметить:

Бэкенд, обеспечивающий возможность работы поверх дисплейного сервера Wayland, переведён на использование технологий Wayland 1.4. Для организации взаимодействия между приложениями и десктоп-окружением задействован протокол xdg-shell; Расширены возможности бэкенда Broadway, позволяющего отрисовывать вывод библиотеки GTK3+ в окне web-браузера. Для обмена данными теперь применяются только бинарные буферы и современный протокол WebSocket. Для оптимизации прокрутки задействованы кольцевые хэши. Реализована поддержка декарирования окон на стороне клиента. Добавлена обработка событий ввода с сенсорных экранов и поддержка экранной клавиатуры IPad; Добавлен виджет GtkFlowBox, реализующий контейнер для расположения дочерних элементов с вёрсткой по сетке. Поддерживается полный набор режимов выделения, а также функции сортировки и фильтрации; 0_1395818167.png Добавлен виджет GtkActionBar, предоставляющий панель для отображения контекстных действий. Например, для отображения кнопок внизу окна; Добавлен виджет GtkPopover для замены меню и диалогов на контекстно зависимые блоки; Расширено число элементов для которых доступны средства для людей с ограниченными возможностями, том числе такая поддержка добавлена для ссылок в метках, модельных меню, GtkColorChooser и разных виджетах; Улучшена интеграция с системой меню платформы OS X, по умолчанию в OS X теперь предлагается глобальное меню приложения; Объявлены устаревшими режимы изменения размера в GtkContainer, геттеры и сеттеры для изображений в GtkMessageDialog и вызов gtk_dialog_get_action_area (); Усовершенствовано оформление внешнего вида всех диалогов, обновлён стиль вкладок в виджете GtkNotebook; В дочерние элементы GtkStack добавлена поддержки индикации наступления события, к которому необходимо привлечь внимание; В GtkProgressBar добавлена поддержка плавной анимации; Во многие контейнеры добавлена поддержка отрисовки фоновых изображений и бордюров; В реализацию диалога управления выводом на печать добавлена поддержка сервиса Google Cloud Print.

© OpenNet