Creating Nice Reports with wxWidgets ZIP API

wxWidgets contains a set of classes which handle several archive formats. Most commonly used archive format is ZIP. This tutorial shows how to use wxWidgets API for reading and writing ZIP-files.
As you probably know, Microsoft Office 2007 produces .DOCX files which are ZIP archives which contain several XML files, images and few directories inside. After visiting Microsoft Developer’s Days I decided to add new feature to my current project and create new type of report which is based on .DOCX file format. This tutorial contains some techniques which you can use for generating such reports by yourself.
Continue reading…

Сделайте мне красиво – Часть II – wxAUI в Multi-View приложений

Использование возможностей библиотеки wxAUI для создания Multi-View приложений

Ну вот, «Ножки дошли до ручки» (c) < один-очень-хороший-человек>, вернее, ручки дошли до новых возможностей библиотеки wxAUI. И, сдается мне, что эти новые возможности будут востребованы в моих последующих проектах, ибо удобство и эстетичность GUI, созданного с их помощью, лично меня приводит в восторг.
Continue reading…

Сделайте мне красиво – Часть I – Знакомство с wxAUI

Сегодня я хочу рассказать о таком полезном явлении в wxWidgets, как плавающие окна (Docking Windows). Со временем, каждого из нас посещает желание, так или иначе, сделать интерфейс своих программных продуктов более привлекательным и более удобным. Одним из способов достичь этого являются плавающие окна. Использование плавающих панелей инструментов, информационных и прочих панелей в приложении, позволяет настроить внешний вид программного продукта, которым вы пользуетесь очень часто, как говорится «под себя» и тем самым сделать работу с ним более комфортной. Эта возможность используется во многих современных приложениях и многие пользователи, сами того не замечая, уже давно привыкли к ней.

Итак, начнем наше знакомство…
Continue reading…

Кросс-платформенная справочная система для кросс-платформенных приложений – Часть II

Итак, продолжаем изучать процесс создания справки для приложений, разработанных с использованием wxWidgets. В этот раз я хочу рассказать о нескольких интересных методах встраивания справки в приложение.
Начнем, пожалуй, с того, что wxWidgets помимо стандартной возможности открытия справки в отдельном окне, позволяет отображать справку прямо в окне приложения без каких-либо дополнительных усилий со стороны разработчика.

Возьмем пример из статьи “Кросс-платформенная справка для кросс-платформенных приложений – Часть 1” и внесем некоторые изменения:
Continue reading…

Кросс-платформенная справочная система для кросс-платформенных приложений – Часть I

Сегодня я хочу рассказать об одной из интересных функциональных возможностей wxWidgets, а именно, о работе со справочной системой. Библиотека wxWidgets позволяет организовать работу со справочной системой, прилагая минимум усилий. Обеспечение работы со справкой с помощью wxWidgets занимает куда меньше времени, чем написание самой справки.
Также интересным является тот факт, что wxWidgets использует распостраненный формат описания структуры справочной системы, а именно те файлы, которые можно сгенерировать с помощью утилиты HTML Help Workshop. К слову сказать, это достаточно распространенная практика… так, например, инструментарий документирования исходного кода Doxygen также позволяет создавать файлы проектов HTML Help Workshop, с помощью которых можно сгенерировать справку в формате .chm
wxWidgets позволяет организовать работу со справочной системой для приложений, работающих под управлением любой из поддерживаемых операционных систем. А о том, как это всё работает, рассказано ниже.
Continue reading…

Multilingual Applications? It’s Simple!

I was digging wxForum searching for a solution of some of my problems and realized that many people ask questions related to wxLocale and multilingual applications and it seems that setting up the development of multilingual applications is hard enough for junior programmers. So, today I want to tell you about how to start…. start the development of software which supports different languages.
Continue reading…

Перевод книги Julian’а Smart’а – Глава XIV – Файлы и потоки

Скачать PDF-версию (262 кб)

В этой главе рассказывается о классах, которыми располагает библиотека wxWidgets для низкоуровневого доступа к файлам и потокам. Классы потоков wxWidgets не только защищают ваше приложение от особенностей различных стандартных библиотек C++, но также предоставляют множество полезных функций, включая сжатие, запись в zip-архивы и даже потоковые сокеты. Также рассматривается механизм виртуальных файловых систем, который позволяет вашему приложению легко получать данные из источника, отличного от обычных дисковых файлов.
Continue reading…

Перевод книги Julian’а Smart’а – Глава XIII – Структуры данных (Часть 2)

Читать первую честь этой главы.

Хранение и обработка дат и времени

wxWidgets предоставляет достаточно комплексный класс wxDateTime для хранения даты и времени с множеством доступных операций, таких как форматирование, часовые пояса, различные арифметические операции и {т.д.} Статические функции дают информацию о текущей дате и времени, а также методы получения информации о високосном годе. Советуем использовать этот класс, даже если вам необходимо просто хранить информацию о времени и дате. Вспомогательные классы wxTimeSpan и wxDateSpan дают возможность легко изменять существующие объекты wxDateTime.
Continue reading…

Перевод книги Julian’а Smart’а – Глава XIII – Структуры данных (Часть 1)

Скачать PDF-версию (327 кб)

Хранение и обработка информации является важнейшей частью любого приложения. wxWidgets предоставляет широкий выбор структур данных, начиная от самых простых, хранящих информацию о размере и расположении, и, заканчивая сложными, такими как массивы и ассоциативные массивы. В этой главе мы рассмотрим различные полезные структуры данных, сосредоточившись на их часто используемых методах. Об остальных методах и особенностях работы с этими структурами можно прочитать в документации.
Continue reading…