Приветствуем Вас, Гость | RSS |

Форма входа

Логин:
Пароль:

Социалки



P.O.P ВКонтакте


Поиск


Облако тегов





Пожертвовать

 WMR

USD Z775078396284
RUB R524843904548

Рекомендуем


Точки присутствия



[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » PointOfPresence.Ru » Наши программы » P.O.P Toast for wxWidgets (Всплывающие сообщения)
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) - сообщение

Прикрепления: 3061111.png(2Kb)


Будьте в Точке.Присутствия!
 
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.
Если есть желание использовать в качестве задника картинку - разкомментируйте и в путь

Будьте в Точке.Присутствия!
 
Форум » PointOfPresence.Ru » Наши программы » P.O.P Toast for wxWidgets (Всплывающие сообщения)
Страница 1 из 11
Поиск: