LINUX.ORG.RU

gtk internals - внутреннее устройство gtk

 


0

1

Народ, подскажите, пож-ста, про внутреннюю структуру gtk.

Интересует грамотное, адекватное описание исходников gtk, что-нибудь на подобие схемы, т.е. что к чему относится и за что отвечает.

В частности, что отвечает за отрисовку диалогов «FileOpen/Save».

Цель: разобраться во внутреннем устройстве gtk, поменять «File» диалоги.

★★
Ответ на: комментарий от AP

Не, не об этом речь. Речь о структуре (устройстве - как устройство ДВС, например: клапаны, поршни, ГРМ, распредвалы, впрыск и т.п.)

У ваших девелоперов gtk есть что-то такого вида:

http://upload.wikimedia.org/wikipedia/commons/b/b8/Policy_Admin_Component_Dia...

Речь идёт о том, чтобы понять внутреннее устройство gtk (gtk internals). Само собой разумеется, что имея диаграмму (чертёж, картинку, рисунок) под руками, скорость восприятия основ - в разы выше.

Типа:

http://upload.wikimedia.org/wikipedia/commons/c/cf/Umbrello_KDE_4.1.png

http://en.wikipedia.org/wiki/Unified_Modeling_Language

Т.е.,интересно чем пользуются разработчики gtk?

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

Т.е.,интересно чем пользуются разработчики gtk?

я подозреваю, что ничем таким они не пользуются. они и так прекрасно знают свою кодобазу. даже я, как человек со стороны, ориентируюсь в ней свободно, и ни разу не испытывал нужды в картинках.

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

Это, если честно, не схемы, а бесполезный адский ад. Мне http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Button__inherit__graph.png ничего нового и интересного не показал; более того, это даже менее понятно, чем простое текстовое дерево.

И повторюсь: держать в графике все эти диаграммки при разработке даже самого GTK смысла нет никакого. Если что-то из этой примитивной информации вылетело из головы, всегда можно посмотреть на родителя класса и спокойно пойти дальше. Поэтому ответ на вопрос

Т.е.,интересно чем пользуются разработчики gtk?

— ничем.

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

Предпочитаете непонятную картинку понятному тексту? Ню-ню.

Извини, не удержался! :D «У тебя проблемы с картинками?» ;)

Зачем?!

Наглядность, простота восприятия.

В голове нужна только общая схема с компонентами.

Она нужна «на бумаге», а не «в голове». Иначе, в итоге 1 разработчик останется, у которого «всё в голове». Да и тому скоро всё надоест.

Всю схему (читай: диаграмму вызовов, промежуточных схем тебе не получить) ты задолбаешься держать в голове, и она тебя будет постоянно отвлекать и путать.

Я или ты - не понимаю(ешь) о чём речь.

Тебя всё время будут интересовать только конкретные штуки в данном конкретном месте, например, в x11-коде gdk.

Да, ну и что? Это часть этой схемы. Остальное - закрою ладонью - чтобы не отвлекало. Потом - другая часть. Что сложного, если «поэтапно»???

Отличаются только наличием стрелочек. Вся толковая документация, как всегда, снова в тексте.

Набор слов, не более.

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

Мне ничего нового и интересного не показал;

Так не о тебе речь!!! Ты уж прости, но ТЫ здесь мало кого интересуешь!

И повторюсь: держать в графике все эти диаграммки при разработке даже самого GTK смысла нет никакого.

Это с твоего скромного и весьма бестолкового (в данном случае) мнения.

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

Т.е.,интересно чем пользуются разработчики gtk?

Мозгом.

Кстати, рекомендую.

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

И много ты нового узнал в этих макаронах, чего не мог узнать в текстовой GTK-документации, потратив всего 2 минуты жизни на чтение документации, а не полдня на срачи на лоре с невнятными изначальными запросами про файловые диалоги?

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

диаграмма наследования

Тебе нужна отдельная диаграмма, чтобы понять, кто от кого унаследован в gtk? Соболезную, в таком случае. Видимо, моя рекомендация воспользоваться мозгом не может быть тобой исполнена.

geekless ★★
()
Последнее исправление: geekless (всего исправлений: 1)
Ответ на: комментарий от thriller

потратив всего 2 минуты жизни на чтение документации

Давай пруфы, что ты за 2 минуты поднял всю документацию по gtk, в первую очередь по внутреннему устройству, а не API!

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

Видимо, моя рекомендация воспользоваться мозгом не может быть тобой исполнена.

Видимо, с такой рекомендацией иди ты на хрен!

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

Не раньше, чем ты дашь пруфы, что понял внутреннее устройство gtk по невнятной макаронине со стрелочками наследования.

geekless ★★
()
Последнее исправление: geekless (всего исправлений: 1)
Ответ на: комментарий от waker

даже я, как человек со стороны, ориентируюсь в ней свободно, и ни разу не испытывал нужды в картинках.

Так а на фига они эти рисунки сделали, по твоему? Время им не куда убить, что-ли?

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

Их сделал doxygen, потому что разработчикам тупо лениво было выключать эти бесполезные макаронины. (Или потому что у авторов биндинга gtkmm аццкий UML головного мозга.)

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

Очевидно, что весь ЛОР пытается тебе объяснить, что ты страдаешь хернёй, исключительно потому, что не в состоянии оценить всю гениальность квадратиков и стрелочек. Разве могут быть какие-то иные причины этому явлению? Решительно невозможно, чтобы было как-то иначе.

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

У меня Worse is Better головного мозга. Ладно бы какую-нибудь переусложнённую хрень осваивал по диаграммкам (Atlassian JIRA, привет!), но не осилить GTK по простой документации надо сильно постараться.

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

Так а на фига они эти рисунки сделали, по твоему? Время им не куда убить, что-ли?

1. эти рисунки сделаны разработчиками gtkmm (которые делают только C++ бинды, а не сам gtk)

2. они их автосгенерили, так что время никто не убивал

3. зачем они нужны — я не знаю. никогда не пользовался ничем подобным

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

Очевидно, что весь ЛОР пытается тебе объяснить

Очевидно, что ты - это не весь ЛОР.

что ты страдаешь хернёй, исключительно потому

А страдаешь полной хёрней ты, так как вместо ответа по существу вида (Да/Нет/Незнаю/Пошёл нафиг) ты разводишь на пустом месте балаган о нужности/ненужности схем. Я тебя правильно понял, ты заявляешь что структурные схемы - не нужны?

Кстати, это ты? http://vadim-ushakov.moikrug.ru/

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

например плейеры системы DeadBeef (одного известного автора, фамилию забыл)

Это так толсто, что даже тонко! Браво!

i-rinat ★★★★★
()
Ответ на: комментарий от Boboms

Я тебя правильно понял, ты заявляешь что структурные схемы - не нужны?

Я заявляю, что ты не умеешь пользоваться мозгом. Умел бы — давно бы понял, что лучший способ понять устройство гтк — чтение сорцов гтк.

А вообще, кто хочет — ищет возможности. Кто не хочет — причины.

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

И еще:

Никаких инноваций (в хорошем смысле) гтк не содержит. Поэтому ожидать для него какого-нибудь обзора, подобного, например, The KeyKOS Nanokernel Architecture, довольно наивно. Это не академическая работа, это прямолинейная и тупая как полено библиотека для рисования кнопочек.

geekless ★★
()
Последнее исправление: geekless (всего исправлений: 1)
Ответ на: комментарий от geekless

Я заявляю, что ты не умеешь пользоваться мозгом.

Ты заявляешь, что ты - трепло.

Умел бы — давно бы понял, что лучший способ понять устройство гтк — чтение сорцов гтк.

Для бездельников - да. Школете нехрен делать, сидят, читают.

А вообще, кто хочет — ищет возможности. Кто не хочет — причины.

Это вообще не в тему. Ты КАМАЗ водил?

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

Это не академическая работа, это прямолинейная и тупая как полено библиотека для рисования кнопочек.

Что из этого? В огороде - бузина, в Киеве - дядька.

Поэтому ожидать для него какого-нибудь обзора, подобного, например,

Мне не нужен подробный обзор, мне нужна подробная схема (если есть) чтобы понять что и как работает (реализовано).

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

мне нужна подробная схема (если есть) чтобы понять что и как работает (реализовано).

Тяжелый случай. Ничего, ты повзрослеешь.

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

Это вообще не в тему. Ты КАМАЗ водил?

Вот она, способность к обучению!

Для бездельников - да. Школете нехрен делать, сидят, читают.

Уже семь часов прошло. Продвинулся хоть чуть-чуть? :)

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

какой код! сначала надо спроектировать, нарисовать блоксхему, UML-диаграмму, иерархию классов, а код пусть бездельники пишут.

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

там 1 мелкий патч, и 1 серьезный сегфолт - вылетает панелька по 100 раз в день, сходу не разобрался что к нему приводит, похоже что фуллскриновый флеш. уже конкретно поддостало.. надо будет потрассировать.

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

На днях надо разгрести, щас времени нет.

Не пиши херню всякую не по существу -> время тут же появится.

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

Так, ладно, сегфолт этим вечером попробую глянуть — а то опять забуду про всё.

task_update_composite_thumbnail_timeout

У тебя включен показ тумбочек?

geekless ★★
()
Последнее исправление: geekless (всего исправлений: 1)
Ответ на: комментарий от geekless

У тебя включен показ тумбочек?

Показ тумбочек существенно сокращает жор ЦПУ на ряде операций с окнами, например перемещение окон и т.п.

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

я ж там написал в баге

Дык... «Комменты не читай...»

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

Народ, отрезались бы в толксы, или отдельную тему сварганили,а?

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