LINUX.ORG.RU

Сообщения Bohtvaroh

 

Вышли новые версии библиотек Glib 2.18 и GTK+ 2.14

Группа GNOME

Доступны для скачивания новые релизы библиотек Glib и GTK+. Грядущий релиз окружения рабочего стола Gnome будет использовать именно эти новые версии.

Краткий список изменений:

Glib:

  • поддержка Unicode 5.1;
  • поддержка новой спецификации shared-mime;
  • улучшенная поддержка i18n благодаря новым функциям/макросам g_dgettext(), g_dngettext(), NC_();
  • поддержка концепции "вложенных парсеров" в GMarkup;
  • эмблемы на иконках;
  • GIO теперь поддерживает http-ссылки под ОС Windows;
  • традиционные исправления ошибок.
GTK+:
  • новые виджеты и объекты GdkAppLaunchContext, GtkMountOperation, GtkToolShell;
  • новые API gtk_show_uri(), призванные заменить gnome_vfs_url_show() и gnome_url_show(); gtk_widget_get_snapshot();
  • диалог выбора файлов теперь использует GIO напрямую, улучшено автодополнение;
  • улучшения в диалоге печати;
  • улучшения в поддержке "специальных возможностей" и i18n;
  • улучшения в библиотеке gdk-pixbuf (поддержка иконок в формате OS X, изображений JPEG 2000, сохранение и загрузка в и из каналов GIO, использование GIO для получения информации о MIME);
  • GDK теперь использует Xrandr вместо Xinerama для получения информации о мониторе. Установки шрифтов теперь определяются во время исполнения без необходимости перезапуска приложения.
Сразу после выхода GTK+ 2.14 была выпущена исправленная версия 2.14.1.

>>> GTK+ 2.14 release notes

>>> GTK+ 2.14.1

>>> Glib 2.18 release notes

 , ,

Bohtvaroh ()

Планы по выпуску GTK+ версии 3

Группа GNOME

В списке рассылки gtk-devel-list обсуждаются планы выпуска GTK+ версии 3. Основные подготовительные действия, которые необходимо предпринять в текущей ветке:

  • Спрятать все открытые поля структур с помощью макроса GSEAL(). В случае необходимости предоставить новые методы доступа к этим полям. Также должны быть скрыты поля-указатели "priv" на структуры, содержащие закрытые данные. Эти действия уже практически полностью проведены в репозитории git://git.imendio.com/projects/gtk+.git
  • Реализовать закрытые члены класса, что включает изменения в коде GType.
  • Объявить как deprecated публичные данные класса с помощью макроса GSEAL().
  • Поскольку не останется простого способа для доступа к полям класса, а использование g_object_[sg]et() утомительно, необходимо ввести новые методы доступа, вроде g_object_get_int(), *double(), *string() и т.д.
  • Существует множество макросов, таких как GTK_WIDGET_GET_FLAGS(), которые всегда были причиной многочисленных проблем (см. bug #69872). Необходимо реализовать нормальные методы доступа (в виде функций) и избавиться от этих макросов.
  • GtkStyle, без сомнений, самый сложный тип, нуждающийся в скрытии публичных полей, и до релиза должно быть проведено множество исследований.
  • Избавиться от всего кода, объявленного deprecated в 2.x. Это подразумевает все соответствующие виджеты и функции.
  • Удалить все поля структур из публичного API. Есть два способа достичь этого:
    a) переместить все структуры в закрытые заголовки;
    b) переместить структуры в C-файл реализации, но тогда всей библиотеке придётся использовать соответствующие методы доступа.
    Эти варианты ещё обсуждаются.
  • Отключить deprecated-код по умолчанию во флагах компиляции.
Таким образом, версия 3.0 будет готова к релизу. Все приложения, которые собираются для ветки 2.x с макросом GSEAL() и не используют deprecated-кода, будут без проблем собираться для ветки 3.x. Наверное, таким образом разработчики пытаются избежать кошмара миграции, который можно видеть на примере библиотеки Qt.

>>> Подробности

 

Bohtvaroh ()

RSS подписка на новые темы