Представлен релиз новой ветки многоплатформенного тулкита для создания графического интерфейса пользователя - GTK+ 3.4.0. Одновременно вышел стабильный релиз Glade 3.12.0, инструментария для быстрой разработки интерфейсов для приложений на основе GTK+. На завтра запланирован официальный релиз десктоп-окружения GNOME 3.4.0. Тем не менее, уже сегодня доступны релизы некоторых из компонентов GNOME 3.4: Mutter 3.4.0, GNOME Shell 3.4.0, ATK 2.4.0, Vala 0.16.0, Boxes 3.4.0 и PyGObject 3.2.0.

В состав GTK+ входит полный набор виджетов, позволяющих использовать тулкит для проектов различного уровня и размера. Код GTK+ развивается в рамках проекта GNU и распространяется под лицензией LGPL, что позволяет использовать GTK+ не только для разработки свободного ПО, но и для создания проприетарных приложений, не требуя от производителей закрытых программ выплаты роялти или покупки специальной лицензии. GTK+ специально спроектирован для поддержки не только C/C++, но и других языков программирования, таких как Perl и Python, что в сочетании с использованием визуального построителя интерфейса Glade позволяет существенно упростить разработку и сократить время написания графических интерфейсов.

Ветка GTK+ 3.4 полностью обратно совместима с GTK+ 3.2 и 3.0. Из добавленных улучшений можно отметить:

  • Поддержка устройств с сенсорными экранами и возможность обработки мультитач событий. Определены два новых класса устройств GDK_SOURCE_TOUCHSCREEN и GDK_SOURCE_TOUCHPAD, добавлена поддержка события GdkEventTouch и новый сигнал GtkWidget::touch-event;
  • Поддержка режима плавной прокрутки (smooth scrolling, GDK_SCROLL_SMOOTH), при котором прокрутка содержимого страницы производится гладко и без рывков. Связанные с прокруткой события, могут включать данные о разнице в перемещении, которые можно получить через функцию gdk_event_get_scroll_deltas(). Для получения связанных с прокруткой событий виджеты отныне обязательно должны устанавливать маску GDK_SCROLL_MASK или GDK_SMOOTH_SCROLL_MASK;
  • В GtkScrolledWindow для сенсорных устройств теперь по умолчанию выполняется кинетическая прокрутка (инертное замедление после прекращения прокрутки);
  • Поддержка меню в классе GtkApplication;
  • Новый механизм выбора цвета;
  • Расширена поддержка платформы Mac OS X: улучшена поддержка клавиатуры (стало возможным использование модификаторов 'Command' и 'Option'), в GtkApplication добавлена поддержка глобального меню, обеспечена возможность рекурсивного использования CFRunLoops;
  • Существенно улучшена поддержка Windows. По словам разработчиков, GTK+ 3.4 является первым выпуском серии GTK+ 3.x, который корректно работает в Windows;
  • Обновлён экспериментальный бэкенд, обеспечивающий возможность работы поверх дисплейного сервера Wayland. Добавлена поддержка текущего API Wayland, доведена до конца реализация некоторых возможностей, таких как изменения размера и захват областей, поддержка буфера обмена, задание типов окон и геометрии. Таким образом бэкенд Wayland уже очень близок к полнофункциональному и завершённому состоянию;
  • Обновлён HTML5-бэкенд (Broadway), позволяющий отрисовывать вывод библиотеки GTK+ в окне web-браузера. Добавлена поддержка новой версии протокола WebSockets V7+;
  • Изменено оформление кнопок со стрелками для увеличения или уменьшения значения;
  • Расширен API для формирования визуальных тем, описание стиля в котором задаётся в CSS-подобном представлении с возможностью смены стиля на лету. Добавлена более полная поддержка CSS (например, 'transparent' для определения прозрачности, поддержка свойств 'background-clip', 'background-origin', 'background-size' и синтаксиса для задания линейных градиентов). Поддержка дополнительных величин, таких как проценты и углы. Возможность определения разных тем для активных и фоновых окон; Улучшение отображения вкладок и скруглённые углы для подсказок.

Дополнительно можно отметить выход стабильного релиза среды для визуального проектирования интерфейса на базе GTK+ - Glade 3.12.0. Созданный в Glade интерфейс сохраняется в формате XML, который можно затем динамически загрузить в GTK-приложение при помощи объекта GtkBuilder. XML-файлы с определением интерфейса могут быть использованы в GTK-программах на различных языках программирования, включая C, C++, C#, Vala, Java, Perl и Python.

Glade 3.12 является первым релизом в новой стабильной серии для GTK+ 3.x и в полной мере поддерживает все возможности GTK+ 3.4. Пользователям GTK+ 2.x следует использовать прошлую стабильную ветку Glade 3.8 для которой продолжают выпускаться обновления. Из улучшений Glade 3.12 отмечается поддержка виджетов GtkSwitch, GtkEntryCompletion и GtkInfoBar, а также реализация режима редактирования рабочей области, позволяющего изменить границы и выравнивание виджета, используя только мышь.

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