LINUX.ORG.RU

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

 


0

1

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

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

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

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

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

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

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

/fixed.

Доскональное знание всего этого дерева тебе ничем и никогда не поможет, блин.

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

Доскональное знание всего этого дерева тебе ничем и никогда не поможет, блин.

Ох, блин. Мне нужна структура корней от этого дерева. Так ясней?

Как еще объяснить, я не собираюсь изучать gtk и субкласить свой кастомный диалог, мне нужно понять РЕАЛИЗАЦИЮ отрисовки окон и и т.п.

Схема сократила бы время вхождения в разы, в cairo, xlib-ы и сопутствующую хрень, так как я не в курсе тонкостей разработки низкоуровневых фишек на X11/Xorg.

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

Схема сократила бы время вхождения в разы

Если ты ещё не понял, в этом и есть суть. Отсечь лентяев, которым нужны схемы и диаграммы. Ну что внятного или полезного может привнести человек, который не может читать код?

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

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

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

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

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

Если ты ещё не понял, в этом и есть суть. Отсечь лентяев, которым нужны схемы и диаграммы.

Я понял что ты не видишь дальше своего носа. И кроме самолюбования, по существу ничего сказать не можешь.

Ну что внятного или полезного может привнести человек, который не может читать код?

В миллионы раз больше чем тот трепач, который считает что он всё на свете знает и всё умеет.

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

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

Это ты «абстрактно» или применительно к gtk/другим реальным проектам?

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

В миллионы раз больше чем тот трепач, который считает что он всё на свете знает и всё умеет.

Как хорошо, что ты хотя бы самокритичен и понимаешь, что не сможешь быть полезным для opensource.

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

cairo, xlib-ы и сопутствующую хрень, так как я не в курсе тонкостей разработки низкоуровневых фишек на X11/Xorg.

Ничего из этого не нужно, чтобы навелосипедить диалог.

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

Ничего из этого не нужно, чтобы навелосипедить диалог.

У меня нет цели - навелосипедить кастомный диалог аля: gtk internals - внутреннее устройство gtk (комментарий)

У меня другая задача - разобраться в кишках gtk (низкий уровень) за минимальное время.

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

Cairo рисует примитивы, GDK занимается абстракцией над x11/winapi/quartz/directfb/wayland/что-мы-там-ещё-придумали. Что тут, блин, ещё непонятно?! На диаграммках не видно?

так как я не в курсе тонкостей разработки низкоуровневых фишек на X11/Xorg

Ты сейчас докатишься до интеграции диаграмм вызовов в GTK/GDK-стеке с диаграммами сисколлов в рандомном KMS-модуле ядра. Оно тебе нафиг не надо. А до кода манов по какому-нибудь XEvent(3) ты всё равно докатишься, с диаграммами или без, причём одним и тем же путём.

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

У меня другая задача - разобраться в кишках gtk (низкий уровень) за минимальное время.

Это — не зачада.

«Я хочу разобраться в кишках GTK, чтобы…» — продолжай

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

Что тут, блин, ещё непонятно?! На диаграммках не видно?

Это понятно когда ты с этим сталкиваешься. Я - с нуля. WPF/XAML - интуитивно понятно. А тут столько велосипедов...

«Я хочу разобраться в кишках GTK, чтобы…» — продолжай

... понять как это работает.

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

Ты сейчас докатишься до интеграции диаграмм вызовов в GTK/GDK-стеке с диаграммами сисколлов в рандомном KMS-модуле ядра.

Вот именно поэтому мне и нужна структура этого бардака. Чтобы ПОНЯТЬ КАК РЕАЛИЗОВАНО на пальцах! Я пишу об этом уже третью страницу.

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

А понимать нам нужно просто так, для разгадывания кроссвордов в электричке?

А тебе что, завидно?

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

Так тебе структуру или «ПОНЯТЬ КАК РЕАЛИЗОВАНО»? Первое — http://developer.gnome.org/platform-overview/2.32/figures/graphics.png.en, второе — less gdk/gdkwindow.c или что там.

И вообще весь этот тред выглядит вот так:
— Я хочу сделать искуственную почку лошади, дайте мне схему животного царства, как это устроено, я хочу понять этот бардак.
— Посмотри лучше на конкретно почку лошади в энциклопедии
— МНЕ НЕ НУЖНА СТАТЬЯ ПРО ОРГАНЫ ЛОШАДИ ДАЙТЕ МНЕ ЖИВОТНОЕ ЦАРСТВО В КАРТИНКАХ И ЦЕЛИКОМ И ЧТОБЫ БИОХИМИЮ ЗАХВАТИЛО ТУПОРЫЛЫЕ ВЫ ЖИВОТНЫЕ

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

В миллионы раз больше чем

ничего — это ничего.

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

«Всё, что угодно, лишь бы исходники инструкцию от GDK не читать!»

Да, если есть конкретная задача, а не из серии «расширяем кругозор познанием атомной структуры вселенной».

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

Да, если есть конкретная задача,

Ну так если «да», то давай конкретику ссылками, а не парь мозг! Ты что, еще один «индивид» с гипертрофированным ЧСВ?

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

Я вижу, ТС не только искперд в экономике, но и гениальный программист.

А ты сам-то чем в истории отличился, кроме форумного нытья?

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

Искперд в экономике, гениальный программист и совесть нации. Боюсь продолжать разговор, а то вдруг окажется, что он ещё и по ночам с преступностью борется в чёрном костюме.

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

Ты и эту тему решил засрать? От тебя кроме люзерства польза есть?

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

Давай конкретную задачу. Пока я вижу лишь одно «ХОЧУ ПОНЯТЬ ВСЁ И СРАЗУ!!!!11».

И предоплату тоже готовь. Времена трудные, Еврозона нестабильна, а чтецы мануалов вслух с выражением нынче в дефиците.

thriller ★★
()

А чё замолчали? Я чё зря попкорн жарил и пиво открывал?

iBliss
()

После прочтения первой страницы было желание назвать ТС «тупой макакой», но, дочитав тред до конца, я понял, что это было бы ничем не заслуженное оскорбление этих милых, симпатичных и сообразительных животных, равно как и ничем не обоснованный комплимент умственным способностям ТС.

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

Давай конкретную задачу.

С чего вдруг? Ты мне конкретику ответил? Где ссылки? Хоть что-то полезное где?

Пока я вижу лишь одно «ХОЧУ ПОНЯТЬ ВСЁ И СРАЗУ!!!!11».

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

И предоплату тоже готовь.

Предоплату??? За что? Ты даже не в состоянии понять назначение простой диаграммы, да я тебя и гвоздодёром не поставлю, поломаешься весь ведь.

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

После прочтения первой страницы было желание назвать ТС «тупой макакой»

Интересно, а как ты мне посоветуешь тогда назвать мужика, который у себя на аватаре размещает малолетних девочек?

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

Педофилом-лоликонщиком. Не понимаю этих извращенцев, поэтому на свои аватары ставлю всегда только брутальных мужиков.

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

Ты мне конкретику ответил? Где ссылки? Хоть что-то полезное где?

Ты мне конкретику задал, чтобы получить конкрутику в ответ? Все ссылки на полезное выше — разуй глаза.

Если тебе нужна конкретика по существу, а именно то, что мне нужно - спрашивай.

Да не могу понять, на кой черт тебе это нужно
«Я хочу разобраться в кишках GTK, чтобы…» — продолжай
А понимать нам нужно просто так, для разгадывания кроссвордов в электричке? Продолжай дальше.

Ответ на любой подобный вопрос всегда один: «я хочу понять структуру», «как это работает», «хочу понять gtk, чтобы понять gtk», «схему, ьл9, дайте» и даже «а тебе, что, завидно?» — без единого намёка на конкретные цели. Понимание ради понимания — зачем?! Твоя задача не конкретна и решительно бессмысленна.

Предоплату??? За что?

За чтение исходников и документации вслух с выражением.

Ты даже не в состоянии понять назначение простой диаграммы

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

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

Твоя задача не конкретна и решительно бессмысленна.

=> заранее обречена на трату огромной кучи времени впустую

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

Ты мне конкретику задал, чтобы получить конкрутику в ответ?

Ёшь твою, «схема внутреннего устройства gtk» - не конкретно? Ты про электронику (электронные устройства) слышал?

Ответ на любой подобный вопрос всегда один: «я хочу понять структуру», «как это работает», «хочу понять gtk, чтобы понять gtk», «схему, ьл9, дайте» и даже «а тебе, что, завидно?» — без единого намёка на конкретные цели.

Ты сейчас всерьёз пишешь? Зачем тебе знать какие у меня цели? :O Какая тебе лично разница? Я серьёзно не могу понять, на кой хрен тебе забивать голову такой дурью, как «цели дяди васи»?

За чтение исходников и документации вслух с выражением.

Я и сам это умею. Но зачем читать, если можно ПОСМОТРЕТЬ??? Для раскрытия мысленного шаблона -> опиши вот эту «фотку» очень подробно и крайне достоверно словами: http://commons.wikimedia.org/wiki/File:Aivazovsky,_Ivan_-_The_Ninth_Wave.jpg?...

Твоя задача не конкретна и решительно бессмысленна.

Разобраться в устройстве чего-либо бессмысленно?

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

Как может усложнить графическое представление объекта?

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

У меня на аватаре настоящий мужик Ранма Саотоме, наследник Школы Универсальных Боевых Искусств Саотоме, жених Акане Тендо, наследницы Школы Универсальных Боевых Искусств Тендо (для которой раскидать десяток каратистов - утренняя рутина), единственный, освоивший стиль «кошачьего кулака», и прочая и прочая. Гордится тем, что победил всех соперников (пусть и не всех с первого раза). Проблемз, офицер?

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

Ёшь твою, «схема внутреннего устройства gtk» - не конкретно?

Нет! Это снова «знания ради знаний» ­— бессмысленные и беспощадные.

Ты про электронику (электронные устройства) слышал?

Принципиальная схема отвечает как минимум задаче «собрать устройство из того, что было». Какой задаче соответствует наличие иерархии классов GTK+? «Переписать GTK на том, что есть»?

Зачем тебе знать какие у меня цели? :O Какая тебе лично разница? Я серьёзно не могу понять, на кой хрен тебе забивать голову такой дурью, как «цели дяди васи»?

Без прикладной задачи ты через пять минут всё забудешь и запутаешься обратно, а время, потраченное на рассказы обо всём (а не о том, что конкретно нужно для решения конкретной задачи) пропадёт даром. Плюс оптимальный порядок рассказа и вообще. Зачем мне что-то рассказывать про, допустим, фенолы, если тебя интересует только репликация ДНК-РНК? Нет же, «расскажи дяде всю органику, какая тебе хер разница, зачем мне это!!!!!11»

Но зачем читать, если можно ПОСМОТРЕТЬ??? Для раскрытия мысленного шаблона -> опиши вот эту «фотку» очень подробно и крайне достоверно словами: http://commons.wikimedia.org/wiki/File:Aivazovsky,_Ivan_-_The_Ninth_Wave.jpg

Применяем гуманитарные паттерны к техническим вещам? Ну-ну.

Посмотреть можно — если от этого никуда не деться; например, если нам надо развернуться в системе из индусьего быдлокода. В GTK ни одна прикладная задача не потребует от тебя такой картинки — ты либо помнишь, от чего наследован класс, либо быстренько посмотрел в конкретную страницу документации, либо (чаще всего) тебя это вообще не колышит. Что ты будешь делать с диаграммой? Судорожно бегать по ней глазами туда-сюда: сперва — чтобы найти класс, затем — чтобы познать дерево. А потом ты потеряешь класс и начнёшь все сначала.

И потом, я тебе уже показал на конкретном примере, что та графическая макаронина менее удобна, чем даже ASCII-дерево. «Нет, блин, хочу глазами, так нагляднее, я в это верю!» На порносайт иди со своими глазами.

Разобраться в устройстве чего-либо бессмысленно?

- Да, но не знать о солнечной системе!.. - воскликнул я.
- На кой черт она мне? - перебил он нетерпеливо. - Ну хорошо, пусть, как вы говорите, мы вращаемся вокруг Солнца. А если бы я узнал, что мы вращаемся вокруг Луны, много бы это помогло мне или моей работе?

(Конан Дойл, Этюд в багровых тонах.)

Сильно ли тебе помогло знание того, как много строчек передаётся в системе SECAM? А знание прочих фактов из сборников «знаете ли вы»? Типа того, что слоны нередко возвращаются на могилы своих родственников.

Ещё раз: пока я вижу только сильное желание бессистемного засорения мозга кучей ненужных знаний. Может быть, вперемешку с толикой нужных.

Как может усложнить графическое представление объекта?

Что проще: сказать ifconfig или воспользоваться графическим центром сетевого безобразия Windows 7? Здесь — то же самое, только не в столь ужасной степени.

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

Посмотреть можно — если от этого никуда не деться; например, если нам надо развернуться в системе из индусьего быдлокода

Кстати, даже в этом запущенном случае огромные схемы не нужны и вредны: лично я всегда брал документацию от какого-нибудь MutableIssue и тупо ходил в жабадоке по классам и интерфейсам. Если начать осваивать всё скопом (да ещё и с UML-безобразием), можно ничего не понять и тронуться рассудком — настолько там много всякого. И задача решена, и JIRA в достаточной степени освоена, и брат жив.

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

Принципиальная схема отвечает как минимум задаче «собрать устройство из того, что было».

Да, ты правильно понял ход мыслей. Только у неё другая задача - описать из чего устройство собрано и как его чинить. В прикладном смысле. «Собрать» - это трассировка ПП + сборочный чертёж.

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

В качестве прикладной задачи FileOpenSave - первое что пришло в голову.

Применяем гуманитарные паттерны к техническим вещам? Ну-ну.

Поясни.

В GTK ни одна прикладная задача не потребует от тебя такой картинки

И тут Остапа понесло... Я не говорю про app, я говорю про sys.

И потом, я тебе уже показал на конкретном примере, что та графическая макаронина менее удобна

Где? Опять ерунду пишешь.

Сильно ли тебе помогло знание того, как много строчек передаётся в системе SECAM?

Смотря о чём речь.

Ещё раз: пока я вижу только сильное желание бессистемного засорения мозга кучей ненужных знаний.

Ты просто не можешь вылезти из собственной зашоренности, к сожалению.

Что проще: сказать ifconfig или воспользоваться графическим центром сетевого безобразия Windows 7?

А что, networkmanager уже отменили? В ряде случаев проще cli, в ряде - gui. Уж не будешь ли ты уверять меня, что ты - консоледрочер?

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

лично я всегда брал документацию от какого-нибудь MutableIssue и тупо ходил в жабадоке по классам и интерфейсам.

Ключевые слова: лично ты. Ты думаешь, что все вокруг одинаковые и все такие же как ты? И всем удобно что-то делать как удобно это делать тебе? Отвыкай всё мерить по себе.

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

Проблемз, офицер?

Конечно. Ведь на аве у тебя мало того что мелкая, так ещё и мёртвая тётка.

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