| P.O.P Toast for wxWidgets |
| pop | Дата: Суббота, 2010-04-17, 9:29 PM | Сообщение # 1 |
 Admin
Группа: Администраторы
Сообщений: 66
Статус: Offline
| У тех кто пишет кроссплатформенные приложения на wxWidgets иногда возникает потребность показывать всплывающие информационные окна. Под виндой в ShellAPI есть баллоны - вещь хорошая, но нифига не кроссплатформенная. Есть ToasterBox - но он заброшен давно, под новыми wx работает неправильно. Недолго думая было решено написать свой компонет для попапов. Итак, в разработке новый наш проект - P.O.P Toast
Будьте в Точке.Присутствия!
|
| |
|
|
|
| pop | Дата: Суббота, 2010-04-17, 9:39 PM | Сообщение # 2 |
 Admin
Группа: Администраторы
Сообщений: 66
Статус: Offline
| Внешне окно компонента немного похоже на виндовые баллоны - иконка, заголовок, сообщение Попапы умеют выстраиваться в стек и пропадать по тайм-ауту. Определимся, какие могут понадобиться методы: SetPopupTitle(wxString title) - заголовок попапа SetPopupMessage(wxString message) - сообщение
Будьте в Точке.Присутствия!
|
| |
|
|
|
| pop | Дата: Суббота, 2010-04-17, 9:52 PM | Сообщение # 3 |
 Admin
Группа: Администраторы
Сообщений: 66
Статус: Offline
| Установка позиции попапа Code void PopToast::SetPopupPosition(int x, int y) void PopToast::SetPopupPosition(POPTOAST_POSITION pos) вторая реализация метода позволяет автоматически устанавливать позицию, "загоняя" попап в один из углов экрана, для этого есть четыре константы Code PT_POS_TOPLEFT, PT_POS_TOPRIGHT, PT_POS_BOTTOMLEFT, PT_POS_BOTTOMRIGHT
Будьте в Точке.Присутствия!
|
| |
|
|
|
| pop | Дата: Суббота, 2010-04-17, 10:18 PM | Сообщение # 4 |
 Admin
Группа: Администраторы
Сообщений: 66
Статус: Offline
| Установка размеров попапа (по умолчанию 340х80): Code void SetPopupSize(int x, int y) Внимание, если установить совсем маленькую высоту, большой текст будет обрезаться, что логично
Будьте в Точке.Присутствия!
|
| |
|
|
|
| pop | Дата: Суббота, 2010-04-17, 10:23 PM | Сообщение # 5 |
 Admin
Группа: Администраторы
Сообщений: 66
Статус: Offline
| Управляем временем Code void SetPopupPauseTime(int milliseconds) Устанавливает время в миллисекундах, сколько будет находится попап в зоне видимости Code void SetPopupScrollSpeed(int _sleepTime) Устанавливает скорость появления/исчезания попапа
Будьте в Точке.Присутствия!
|
| |
|
|
|
| pop | Дата: Суббота, 2010-04-17, 10:35 PM | Сообщение # 6 |
 Admin
Группа: Администраторы
Сообщений: 66
Статус: Offline
| Устнавливаем цвета. Первый метод устанавливает цвет окна, второй - цвет текста. По умолчанию цвет текста - черный, фон - светло-голубой. Code void SetPopupBackgroundColor(int r, int g, int b); void SetPopupTextColor(int r, int g, int b);
Будьте в Точке.Присутствия!
|
| |
|
|
|
| pop | Дата: Суббота, 2010-04-17, 10:45 PM | Сообщение # 7 |
 Admin
Группа: Администраторы
Сообщений: 66
Статус: Offline
| Реализована возможность, которой не было в ToasterBox - по клику на попапе он закрывается
Будьте в Точке.Присутствия!
|
| |
|
|
|
| pop | Дата: Суббота, 2010-04-17, 11:13 PM | Сообщение # 8 |
 Admin
Группа: Администраторы
Сообщений: 66
Статус: Offline
| Добавлены методы устанавливающие стандартные системные иконки: Code void SetPopupErrorIcon(); void SetPopupInfoIcon(); void SetPopupWarningIcon(); void SetPopupTipIcon();
Будьте в Точке.Присутствия!
|
| |
|
|
|
| pop | Дата: Суббота, 2010-04-17, 11:17 PM | Сообщение # 9 |
 Admin
Группа: Администраторы
Сообщений: 66
Статус: Offline
| Добавлен метод, устанавливающий произвольную иконку Code void SetPopupIcon(wxIcon _icon);
Будьте в Точке.Присутствия!
|
| |
|
|
|
| pop | Дата: Понедельник, 2010-04-19, 11:49 AM | Сообщение # 10 |
 Admin
Группа: Администраторы
Сообщений: 66
Статус: Offline
| Релиз состоялся - http://pointofpresence.ru/load/5-1-0-123
Будьте в Точке.Присутствия!
|
| |
|
|
|
| pop | Дата: Четверг, 2010-04-22, 11:31 AM | Сообщение # 11 |
 Admin
Группа: Администраторы
Сообщений: 66
Статус: Offline
| Добавлен новый метод, назначающий попапу окно-родитель Code void SetPopupParent(wxWindow* _parent=(wxWindow *)NULL)
Будьте в Точке.Присутствия!
|
| |
|
|
|
| pop | Дата: Четверг, 2010-04-22, 3:16 PM | Сообщение # 12 |
 Admin
Группа: Администраторы
Сообщений: 66
Статус: Offline
| Разработка завершена. Исходники библиотеки и пример кода выложены на странице библиотеки. Лицензия wxWidgets, используйте библиотеку на свое усмотрение, но было бы неплохо, если будут указаны авторы разработки - http://toasterbox.sourceforge.net/ и http://pointofpresence.ru/
Будьте в Точке.Присутствия!
|
| |
|
|
|
| pop | Дата: Четверг, 2010-04-22, 3:18 PM | Сообщение # 13 |
 Admin
Группа: Администраторы
Сообщений: 66
Статус: Offline
| В довесок - библиотека содержит закомментированный метод SetPopupBackgroundImage. Если есть желание использовать в качестве задника картинку - разкомментируйте и в путь
Будьте в Точке.Присутствия!
|
| |
|
|