LINUX.ORG.RU

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

 


1

0

В списке рассылки 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.

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

★★★★

Проверено: JB ()
Ответ на: комментарий от mv

> tailgunner - вменяемый человек с незашоренным мозгом. Если факт имеет место быть, он с этим соглашается. Из-за вот таких единиц, типа него, на ЛОРе всё ещё бывает интересно.

чего не скажешь о вас :( ну да ладно

насчет persistent objects - я так и знал вы на яве прогите :) кстати вообще спор ява против с++ считаю немного неуместным - у них разные ниши, и все-таки насчет persistent objects - идея безусловно интересная, чесно говоря впервые про это только что читал( таки как я понял это чисто явовская технология ), ок - это еще одна область применения, хоть и достаточно экзотическая

lester ★★★★
()
Ответ на: комментарий от lester

> persistent objects - идея безусловно интересная, чесно говоря впервые про это только что читал( таки как я понял это чисто явовская технология )

Совпадение. Persistent objects - это старый обобщенный термин, пригодный для много чего, от сериализации до ORM и ООСУБД. /me даже припоминает язык Persistent Algol 8)

tailgunner ★★★★★
()
Ответ на: комментарий от lester

> насчет persistent objects - я так и знал вы на яве прогите :)

Я не программирую на яве, ты не прав. Более того, я её не знаю даже.

> ок - это еще одна область применения, хоть и достаточно экзотическая

Т.е. прозрачно работать с объектами, которые живут между сеансами запуска и сохраняют своё состояние - это экзотика? Пользователи объектных СУБД так не думают.

mv ★★★★★
()
Ответ на: комментарий от lester

> чего не скажешь о вас :( ну да ладно

Да, я плюсами не восторгаюсь, плюсофилам меня читать не интересно.

mv ★★★★★
()
Ответ на: комментарий от lester

Полтора. Собрал волю в кулак и бросил. Но до сих пор есть ломка, так и тянет какую-нибудь гадость на CLOS в плюсатом стиле написать :(

mv ★★★★★
()
Ответ на: комментарий от mv

> Т.е. прозрачно работать с объектами, которые живут между сеансами запуска и сохраняют своё состояние - это экзотика? Пользователи объектных СУБД так не думают.

Пользователи объектных СУБД это разве тоже не экзотика? :)

lester ★★★★
()
Ответ на: комментарий от lester

> Пользователи объектных СУБД это разве тоже не экзотика? :)

Да, пользователи AllegroCache - это экзотика из TOP100 IT-компаний. Ведь всем известно, чтоб подавляющая часть IT-компаний в мире - полное говно ;)

mv ★★★★★
()
Ответ на: комментарий от lester

По части неприсущих ему свойств - да, говно.

mv ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.