Category: литература

Category was added automatically. Read all entries about "литература".

лилия, походы

Сборка wx_trunk + wxcode

Так как я давно серьёзно не имею дел с wxWidgets, то сборочное окружение, в котором я собираю свои мелкие вспомогательные утилиты до недавнего времени находилось в состоянии "что собралось три года назад, с тем и линкую". А собирал я тогда, надо отметить, рассово-правильным способом, через .configure. Ага, под виндой, в msys... И, в общем-то, проблем особых не возникало с использованием (единственное, недавно нашёл баг в wxPlotCtrl - в апстрим-то я фикс отправил, а вот самому пересобирать было влом, пришлось костыль для его обхода подставлять), неудобства начинались когда надо было собрать софтины на другой машине... В общем, решил я наконец-таки обновить своё сборочное окружение, тем более, что есть повод попробовать кое-какие плюшки новых wx`ов. И всё было бы легко и просто, если бы я не использовал упомянутый выше wxPlotCtrl. Как выяснилось, собираться он (а точнее его составная часть - wxThings) хочет далеко не во всех конфигурациях: я пробовал варианты SHARED=1 MONOLITHIC=1, SHARED=0 MONOLITHIC=1 и SHARED=0 MONOLITHIC=0 - собралось только в последнем. Так вот, делаю шпаргалку по сборке:
Collapse )
работа, кошка

О красоте кода на C

Совершенно не задумываясь неделю назад написал примерно такой вот код.

if(timer.time)
{
	timer.time--;
	if(!timer.time)(*timer.task)(timer.arg);
}

Сегодня, когда его увидел, задумался о том, что легендарная читабельность C - не такая уж и страшилка, и образчики оной могут появляться совершенно без задней мысли. А про C++ лучше даже не думать.
работа, кошка

wxWidgets inside. Схема выделения идентификаторов.

В обзоре новшеств wxWidgets3 я упоминал, появление нового класса - wxIdManager. В этой статье я хочу подробно рассмотреть новую систему выделения идентификаторов. Несмотря на то, что в большинстве обзоров об этом даже не упоминается, я считаю, что это одно из фундаментальных изменений во внутренней логике библиотеки, наравне с полным переводом на юникод, и изменениями в системе работы с событиями.
Collapse )
Кросс-пост в wxwidgets.
лилия, походы

Краткий обзор новшеств wxWidgets 3.

Недавно был анонсирован первый релиз development ветки wxWidgets 2.9.0. Об этом я уже писал у себя в журнале, сейчас же хочу поподробнее рассмотреть попавшиеся мне на глаза изменения, касающиеся грядущего 3.0.0.
Collapse )
UPD (16.09.09): Забыл про один очень важный момент - изменения в механизме динамического связывания. Вместо методов Connect/Disconnect появились новые Bind/Unbind, которые позволяют в качестве обработчика события назначать произвольную функцию. Старые методы пока не объявлены депрекейтед, но это только из-за их повсеместной распространённости и их использование в новом коде не рекомендуется.
UPD (16.09.09): А ещё сегодня добавили новый класс - wxAny, который является альтернативой старому wxVariant, реализованной через шаблоны.
UPD (09.10.09): На этой неделе добавили ещё один новый класс - wxInfoBar. Этот контрол представляет собой небольшую панельку, появляющуюся внутри родительского окна для уведомления пользователя о чём-то не особо важном. По умолчанию закрывается крестиком, но может содержать и обычные кнопки типа Да/Нет/Не знаю. Подобные панельки можно видеть, например, в Acrobat Reader, и в Foxit Reader при открытии pdf-файла с формой (там предлагают раскрасить поля формы).

Кросс-пост в wxwidgets.
лилия, походы

wxBook, Оглавление

Заодно с переводом одной из глав книги, решил составить список уже переведённых глав, что бы было легче ориентироваться. Большая часть из них выложена на сайте http://wxwidgets.info/ (собственно, кроме моей и 11-той), причём некоторые даже можно слить в формате pdf.
Кстати, оригинал в формате pdf можно слить тут

Collapse )
работа, кошка

wxBook, Глава 17 Многопоточность

Литературы по wxWidgets в целом не много, а на русском - так вообще сложно что-либо найти. Единственная известная мне книга по wx - это "Cross-Platform GUI Programming with wxWidgets" непосредственно от разработчиков библиотеки Джулиана Смарта, Кевина Хока и Штефана Кзомора (есть ещё книга про использование wxDevCpp, но это немного из другой оперы). Но, к сожалению, на русский она не переведена, в связи с чем народ потихоньку, по главам её переводит. Вот и я решил подключиться.
Текст публикуется для свободного использования, ссылка на источник не обязательна (хотя и желательна =) ), кроме того, буду рад правкам и замечаниям.

Collapse )
работа, кошка

В помощь начинающим программистам на C++/wxWidgets: Basic principles.

По просьбе nealar решил набросать коротенькую статью об основных принципах написания GUI-программ с использованием wxWidgets на родном для него языке C++. Данная статья не представляет никакого интереса для тех, кто уже написал пару-тройку самых простых GUI программ на wxWidgets - она рассчитана на тех, кто никогда ранее не писал графических программ как на wx, так и вообще. =)
Collapse )
UPD 01.05.09: поправил пример для иллюстрации работы динамического связывания, обсуждаемой в комментах.
UPD 17.08.09: поправил пример для иллюстрации доступа к объекту из обработчика его события (см. комменты).
работа, кошка

В помощь начинающим программистам на C++/wxWidgets: Documentation bugs.

В процессе работы с wxWidgets постоянно всплывают некоторые неточности и недочёты в документации. Наткнувшись на достаточно большое их количество, я решил посвятить этой теме небольшой обзор. Конечно, сейчас я сходу не вспомню всё, что находил, а опишу лишь те, с которыми столкнулся недавно. Позднее я буду обновлять этот пост по мере натыкания на подобные неточности.

Collapse )