Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Ср ноя 22, 2017 12:06 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 55 сообщений ]  На страницу Пред. 1 2 3 4
Автор Сообщение
 Заголовок сообщения: Re: Message Box
СообщениеДобавлено: Чт дек 17, 2009 4:25 pm 
Не в сети

Зарегистрирован: Ср мар 26, 2008 12:44 pm
Сообщения: 85
На мой взгляд, внутри одного процесса использовать IPC совершенно ни к чему, достаточно переменной, флага или какого-либа объекта синхронизации (event), который переодически проверяется в главном потоке. Кроме того, в этом же цикле можно при получении фокуса передавать его активному модальному окну.


Вернуться к началу
 Заголовок сообщения: Re: Message Box
СообщениеДобавлено: Чт дек 17, 2009 5:27 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1600
tsdima, этого было бы достаточно, если бы существовала функция, которая просыпается при сообщении от окна или при изменении какой-нибудь переменной, флага или наступлении события. Но при существующем API единственный подходящий способ пробуждения другого потока - послать сообщение по IPC.

_________________
Сделаем мир лучше!


Вернуться к началу
 Заголовок сообщения: Re: Message Box
СообщениеДобавлено: Чт дек 17, 2009 10:29 pm 
Не в сети

Зарегистрирован: Ср мар 26, 2008 12:44 pm
Сообщения: 85
Есть же ожидание события с таймаутом, сам будет просыпаться время от времени.


Вернуться к началу
 Заголовок сообщения: Re: Message Box
СообщениеДобавлено: Пт дек 18, 2009 10:05 am 
Не в сети
Mentor
Аватара пользователя

Зарегистрирован: Вт янв 15, 2008 11:27 am
Сообщения: 750
Вроде получилось с вечным циклом и возвращением результата через первый байт структуры. Просто вначале нужно инициализировать его как какое-либо значение, превышающее число кнопок (подсказал IgorA).


Вернуться к началу
 Заголовок сообщения: Re: Message Box
СообщениеДобавлено: Пт дек 18, 2009 6:26 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1600
tsdima, я считаю такое решение некрасивым, поскольку тогда главный поток будет расходовать лишние ресурсы, что совершенно ни к чему. Я согласна с тем, что работать такое решение будет и что ресурсов нужно мало, но при использовании IPC для пробуждения дополнительных ресурсов во время ожидания не нужно совсем.

_________________
Сделаем мир лучше!


Вернуться к началу
 Заголовок сообщения: Re: Message Box
СообщениеДобавлено: Вт дек 22, 2009 4:38 pm 
Не в сети
Mentor
Аватара пользователя

Зарегистрирован: Вт янв 15, 2008 11:27 am
Сообщения: 750
Пока не дописал (не все типы диалогов поддерживаются), выкладываю предварительный вариант.


Вложения:
msgbox.zip [8.43 КБ]
130 скачиваний
Вернуться к началу
 Заголовок сообщения: Re: Message Box
СообщениеДобавлено: Пт дек 06, 2013 2:57 am 
Не в сети
Public Relations
Аватара пользователя

Зарегистрирован: Пн июн 07, 2010 12:01 pm
Сообщения: 1879
SVN r4330: Исходники демки use_mb залиты на SVN. Добавлен перевод всех текстов на английский язык. Бинарник удалён из автосборки, теперь программа собирается из исходников (отдельно для каждого языка). Если у автора есть более новая версия демки, чем выложенная в этой теме в 2009 году, просьба перезалить новый исходник.

SVN r4331: Исходники библиотеки msgbox.obj залиты на SVN. Бинарники удалены с SVN (и из автосборки в папке /data, и из папки t_edit), теперь библиотека собирается из исходников. Если у автора есть более новая версия библиотеки, чем выложенная в этой теме в 2009 году, просьба перезалить новый исходник.


Вернуться к началу
 Заголовок сообщения: Re: Message Box
СообщениеДобавлено: Пт дек 06, 2013 11:34 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 27, 2008 10:10 pm
Сообщения: 750
yogev_ezra писал(а):
Если у автора есть более новая версия библиотеки, чем выложенная в этой теме в 2009 году, просьба перезалить новый исходник.

К сожалению у автора ничего более нового нет.
Там есть одна функция, которая работает не так как изначально хотелось. Думаю ее нужно или доделать если получится или вообще удалить из библиотеки. Это функция mb_reinit, по первоначальной задумке при ее вызове окно сообщения должно менять свой текст. Но вид остается прежним до того момента, пока пользователь сам не подвигает окно. Если в системе есть возможность вызвать принудительную перерисовку дочернего потока, то проблема будет решена.


Вернуться к началу
 Заголовок сообщения: Re: Message Box
СообщениеДобавлено: Сб дек 07, 2013 1:44 am 
Не в сети
Public Relations
Аватара пользователя

Зарегистрирован: Пн июн 07, 2010 12:01 pm
Сообщения: 1879
IgorA писал(а):
yogev_ezra писал(а):
Если у автора есть более новая версия библиотеки, чем выложенная в этой теме в 2009 году, просьба перезалить новый исходник.
К сожалению у автора ничего более нового нет.
Так это же как раз к счастью, а не к сожалению. К сожалению было бы, если бы автор выложил на форуме исходники 2009 года, а в автосборку положил бинарник, собранный из исходников 2012 года, где исправлено много багов и которые он потерял.


Вернуться к началу
 Заголовок сообщения: Re: Message Box
СообщениеДобавлено: Сб июн 28, 2014 12:49 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 27, 2008 10:10 pm
Сообщения: 750
rev 4988
Добавил смену фокуса выбранной кнопки с помощью [Tab] (фокус движется вправо).
Раньше изменялось только мышью и курсорами [Влево] и [Вправо].


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 55 сообщений ]  На страницу Пред. 1 2 3 4

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB