Работаем с Cairo в wxWidgets – Часть I – Компиляция CAIRO 1.8.6 на Visual C++ 8

Первая статья из цикла, повествующего о том, ка киспользовать библиотеку cairo (и обертку wxCairo) с wxWidgets.

В этот раз речь пойдет о том, как собрать библиотеку cairo с помощью Visual C++ в Windows.

Для начала определимся, что нам нужно:

  • Mozilla Build 1.3
  • cairo 1.8.6
  • libpng 1.2.35
  • zlib 1.2.3
  • pixman 0.14.0

Continue reading…

Работа с базами данных в wxWidgets – DatabaseLayer – Минимальное приложение

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

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

Continue reading…

DatabaseLayer 1.8 Released

Yesterday jb_coder announced new version of cross-platform database access library for wxWidgets, DatabaseLayer 1.8.

DatabaseLayer provides access to different types of databases using unified wxWidgets-based API. It supports:

  • SQLite3
  • Firebird
  • MySQL
  • PostgreSQL
  • Oracle
  • Microsoft SQL Server
  • ODBC

Here is the list of changes for this release:

  • Changed RunQuery message signature to return a list of affected records
  • Database backends are dynamically loaded (at the request of users)
  • Ship with an internal version of SQLite3 to reduce dependency issues when compiling
  • UNICODE fixes for ODBC code
  • ODBC backend should now work for MS SQL Server
  • Various fixes for ODBC, Firebird, MySQL, and PostgreSQL backends
  • Added compile targets “databaselayer” and “databaselayer_gpl” to compile the library with multiple database backends
  • Added DLL exports to be able to use DatabaseLayer as a dynamic library

You can download DatabaseLayer 1.8 from wxCode

Read discussion of this release at wxForum.

Перевод книги Julian’а Smart’а – Глава IX – Написание собственных диалогов – Часть III

Читать вторую часть главы “Написание собственных диалогов”.

Дополнительные заметки о дизайне диалогов

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

Навигация с помощью клавиатуры

Указывайте мнемоники для меток со статическим текстом и для других элементов управления с метками. Для этого необходимо поставить перед необходимым символом амперсанд (&). На некоторых платформах (особенно Windows и GTK+) мнемоники помогают пользователю быстро передвигаться между элементами управления.
Continue reading…

Перевод книги Julian’а Smart’а – Глава IX – Написание собственных диалогов – Часть II

Читать первую часть главы “Написание собственных диалогов”.

Добавление помощи

Существует по крайней мере три пути как можно реализовать помощь для вашего диалога:

  • Всплывающие подсказки
  • Контекстная помощь
  • Справочная система

Кроме того у нас уже есть некоторый текст на самой панели диалога. Возможно вы захотите также использовать другие технологии, явно не поддерживаемые в wxWidgets. Например, для более сложных диалогов вы можете создать wxHtmlWindow вместо wxStaticText и загрузить в него HTML-файл, содержащий необходимое описание. В качестве альтернативы вы можете поместить маленькую кнопку помощи справа от каждого элемента управления, при нажатии на которую выводился бы некоторый текст с описанием.
Continue reading…

Перевод книги Julian’а Smart’а – Глава IX – Написание собственных диалогов – Часть I

Скачать PDF-версию (342 КБ)

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

А может поговорим вживую на CodeCamp?

Зарегистрировался сегодня на CodeCamp, который пройдет 28-29 марта 2009г. в Киеве. Если у кого-то есть желание пообщаться на тему кросс-платформенной разработки на C++/wxWidgets, то можно об этом написать в каментах. Договоримся о встрече 🙂

Перевод книги Julian’а Smart’а – Глава VI – Обработка данных с устройств ввода

Скачать PDF-версию (223 КБ)

Перевод сделан Грубниковым А.Г.

Все GUI-приложения должны каким-либо образом реагировать на данные, поступающие от устройства ввода. Эта глава покажет как можно взаимодействовать с мышью, клавиатурой и джойстиком.

6.1 Получение данных от мыши

Упрощенно говоря, приложение получает от мыши два вида событий: основные события мыши, посылаемые с помощью класса wxMouseEvent, и “сырые” события, передаваемые вашей функции-обработчику неинтерпретированными. При этом действия, связанные с элементами управления (такими как, например, кнопка), часто являются результатом интерпретации событий от мыши (или других устройств) как отдельных команд.
Например, когда вы добавляете макрос EVT_BUTTON в таблицу событий, то вы перехватываете событие wxCommandEvent, которое было сгенерировано классом wxButton.
Continue reading…