Board.KolibriOS.org

Official KolibriOS board
It is currently Mon Aug 19, 2019 12:39 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 100 posts ]  Go to page Previous 1 2 3 4 5 6 7 Next
Author Message
 Post subject: Re: @notify
PostPosted: Wed Oct 09, 2013 7:46 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5054
# плохой разделитель, лучше реже используемый символ, вроде |.
Ок, пусть будет "bAutoClose", но я всё равно сомневаюсь в его целесообразности, т.к. показ ошибок требующих _обязательного_ внимания пользователя не задача @notify в принципе, а программы которая выявила эту ошибку. В этом случае должно быть сообщение в той программе "Ошибка такая-то" и кнопка "Ок" (увидел, понял).

_________________
Через тернии к звездам


Top
   
 Post subject: Re: @notify
PostPosted: Wed Oct 09, 2013 8:09 pm 
Offline
Public Relations
User avatar

Joined: Mon Jun 07, 2010 12:01 pm
Posts: 1879
Leency wrote:
# плохой разделитель, лучше реже используемый символ, вроде |.
А если символ не обрабатывать, а выводить как есть? Если @notify сама выведет chr(13),chr(10) - строчка сама не переведётся?
Code:
nmsg db "Title", 13, 10, "String", 0
Вот так не получится само собой 2 строки?
Leency wrote:
Ок, пусть будет "bAutoClose", но я всё равно сомневаюсь в его целесообразности, т.к. показ ошибок требующих _обязательного_ внимания пользователя не задача @notify в принципе, а программы которая выявила эту ошибку. В этом случае должно быть сообщение в той программе "Ошибка такая-то" и кнопка "Ок" (увидел, понял).
Ну если эта возможность не добавляет много работы к уже существующей функциональности, то вреда от неё точно не будет, а польза определённо есть.


Top
   
 Post subject: Re: @notify
PostPosted: Wed Oct 09, 2013 8:26 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
yogev, нет, две строчки не получится :)


Top
   
 Post subject: Re: @notify
PostPosted: Wed Oct 09, 2013 8:58 pm 
Offline
User avatar

Joined: Sat Oct 05, 2013 9:32 pm
Posts: 386
Пока что без автозакрытия и флага на него


Attachments:
NOTIFY [816 Bytes]
Downloaded 78 times
notify.asm [4.54 KiB]
Downloaded 110 times


Last edited by e-andrew on Wed Oct 09, 2013 9:13 pm, edited 2 times in total.
Top
   
 Post subject:
PostPosted: Wed Oct 09, 2013 8:59 pm 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1150
Лучше исходник прикреплять

_________________
я лишь учусь


Top
   
 Post subject: Re: @notify
PostPosted: Wed Oct 09, 2013 10:15 pm 
Offline
User avatar

Joined: Sat Oct 05, 2013 9:32 pm
Posts: 386
@notify
asm-версия 0.8b

    • Убрана кнопка закрытия, для закрытия нужно кликнуть на само уведомление
    • Добавлено автозакрытие через некоторое время (зависит от длины текста).
    • Дублирование уведомления в BOARD

Автозакрытие можно отключить, дописав в конце уведомления знак "~".
Например:
Code:
@notify Hello, World!!!~

Для закрытия такого уведомления нужно кликнуть по нему.

Планируется добавить полупрозрачность(под вопросом).
Пишите свои предложения.


Attachments:
@NOTIFY.ASM [4.86 KiB]
Downloaded 75 times
@NOTIFY [913 Bytes]
Downloaded 75 times


Last edited by e-andrew on Wed Oct 09, 2013 10:25 pm, edited 1 time in total.
Top
   
 Post subject: Re: @notify
PostPosted: Wed Oct 09, 2013 10:20 pm 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1150
Такой надо сразу на SVN и в автозборку

_________________
я лишь учусь


Top
   
 Post subject: Re: @notify
PostPosted: Wed Oct 09, 2013 10:34 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5054
Нужно чтобы программа появлялась сверху экрана.
Я так понимаю, отступ сделан на тот случай, если панель задач сверху. Это решается функцией получения клиентской области экрана.

Лучше сделать не кнопку, а событие мыши и закрывать в тот момент, когда нажата левая кнопка мыши на нём. Ну или на худой случай скрыть ободок после нажатия на кнопку.

>> Автозакрытие можно отключить, дописав в конце уведомления знак "~".
А вот это - оличное решение.

_________________
Через тернии к звездам


Top
   
 Post subject: Re: @notify
PostPosted: Wed Oct 09, 2013 10:47 pm 
Offline
KSoC/GSoC Student

Joined: Wed Jul 11, 2012 3:17 am
Posts: 224
Code:
mcall   8, <edi, 10>, <4, 10>, 0x40000001, 0x00AAAAAA

Code:
mcall   8, <edi, 10>, <4, 10>, 0x60000001, 0x00AAAAAA

если 29-й бит edx установлен - не рисовать рамку при нажатии на кнопку
если 30-й бит edx установлен - не прорисовывать кнопку


Top
   
 Post subject: Re: @notify
PostPosted: Wed Oct 09, 2013 10:52 pm 
Offline
User avatar

Joined: Sat Oct 05, 2013 9:32 pm
Posts: 386
Исправлю, спасибо. Проверьте текст, а то я не уверен, правильно ли я написал


Top
   
 Post subject: Re: @notify
PostPosted: Thu Oct 10, 2013 7:55 pm 
Offline
User avatar

Joined: Sat Oct 05, 2013 9:32 pm
Posts: 386
Вообщем все. Нефига не все. Сейчас буду пилить многострочность Пока делал, многое узнал.

@notify

Отличия от предыдущей версии (той что от Leency):
    Изменен внешний вид приложения:
      Убрана полупрозрачность
      Сдвиг окошка от края
    Уведомление закрывается по клику
    Учет местонахождения панели при расчёте координат (уведомление не налезает на панель)
    Дублирование уведомлений в BOARD с указанием времени
    Возможность добавления важных уведомлений (то есть тех, которые по истечению времени сами не закроются).
    Код написан на FASM, что теоретически должно сделать программу быстрее и меньше по размеру. Правда же такова, что размер уменьшился всего на 400 байт.

Для вызова важных уведомлений нужно в конец текста дописать символ "~"
Пример
Code:
// Данное уведомление закроется после определенного промежутка времени
@notify Привет, мир!
// А это закроется только после того, как пользователь его увидит и нажмет на него
@notify Привет, мир!~


Attachments:
1.jpg
1.jpg [ 47.53 KiB | Viewed 1319 times ]
@NOTIFY.ASM [5.82 KiB]
Downloaded 78 times
@NOTIFY [1.13 KiB]
Downloaded 78 times
Top
   
 Post subject: Re: @notify
PostPosted: Thu Oct 10, 2013 8:23 pm 
Offline
Public Relations
User avatar

Joined: Mon Jun 07, 2010 12:01 pm
Posts: 1879
eAndrew wrote:
Вообщем все. Нефига не все. Сейчас буду пилить многострочность Пока делал, многое узнал.
Всё-таки очень хотелось бы ещё поддержку многострочности, пусть даже через знак #, если тебе так удобно.
Quote:
eAndrew « Thu Oct 10, 2013 8:12 pm » если я сделаю многострочность, то скорость запуска немного замедлится, так как теперь нужно будет бежать по каждому пикселю по высоте. нормально?
eAndrew « Thu Oct 10, 2013 8:13 pm » я это уже реализовывал, но потом удалил, так что особых трудностей не возникнет
eAndrew « Thu Oct 10, 2013 8:13 pm » в качестве символа перевода будет \n (0xA)
yogev_ezra « Thu Oct 10, 2013 8:14 pm » eAndrew: \n гораздо лучше, конечно. Я просто понял, что тебе такой значок не удаётся сделать.
eAndrew « Thu Oct 10, 2013 8:16 pm » Просто я незнаю, как асм будет обрабатывать "qwe\nrty", как строку "qwe\nrty", а не "qwe*новая строка*rty"

eAndrew wrote:
Код написан на FASM, что теоретически должно сделать программу быстрее и меньше по размеру. Правда же такова, что размер уменьшился всего на 400 байт.
А во время сравнения размеров ты учёл ещё паковку kpack?
Quote:
eAndrew « Thu Oct 10, 2013 8:07 pm » что за kpack?
yogev_ezra « Thu Oct 10, 2013 8:09 pm » eAndrew: Родной архиватор KolibriOS. Ты, наверное, сравнивал размер заархивированного @notify на C-- с незаархивированным своим на ASM.
yogev_ezra « Thu Oct 10, 2013 8:10 pm » eAndrew: Если твою версию тоже заархивировать, она станет ещё в 1.5-2 раза меньше.
eAndrew « Thu Oct 10, 2013 8:10 pm » так тут еще и архиватор есть.... *свист*)
eAndrew « Thu Oct 10, 2013 8:10 pm » и программа не замедляется?
yogev_ezra « Thu Oct 10, 2013 8:14 pm » eAndrew: Для программ на 1KB замедление из-за архиватора на микросекунды, человеческим глазом незаметно и даже компьютером не всегда удаётся померять. Для больших программ - да, заметно, например для FPLAY замедление на 5-10 секунд. Но, поскольку архиватор работает только во время запуска программы, а программы вроде FPLAY запускают один раз и потом пользуются много раз, то эту разницу можно принять.
yogev_ezra « Thu Oct 10, 2013 8:16 pm » eAndrew: Вот программы, которые часто запускаются и сразу же закрываются, если они ещё и большие, то лучше не архивировать, конечно. Например, если б @notify была размером с FPLAY, то при её предназначении, конечно, лучше её не архивировать. Но так как она занимает 1KB, то всё нормально и можно архивировать.


Top
   
 Post subject: Re: @notify
PostPosted: Thu Oct 10, 2013 9:40 pm 
Offline
KSoC/GSoC Student

Joined: Wed Jul 11, 2012 3:17 am
Posts: 224
а можно я внесу поддержку многострочности?) прямо сюда, прямо сегодня!!!

вопросов собственно несколько:

Нужен ли вообще разделитель, могу просто основываясь на длинне данных делить на слова и выводить?
всем подойдет разделитель 0x13, если нужен разделитель?
и какое выравнивание делать, по центру или по левому краю с отступом?


Top
   
 Post subject: Re: @notify
PostPosted: Thu Oct 10, 2013 10:08 pm 
Offline
User avatar

Joined: Sat Oct 05, 2013 9:32 pm
Posts: 386
Делай, если хочешь). Разделитель 0x13, выравнивание у меня по левому, но наверное будет лучше сделать по правому. Только никак не могу рассчитать ширину окна.


Top
   
 Post subject: Re: @notify
PostPosted: Thu Oct 10, 2013 10:14 pm 
Offline
Public Relations
User avatar

Joined: Mon Jun 07, 2010 12:01 pm
Posts: 1879
eAndrew wrote:
Делай, если хочешь). Разделитель 0x13, выравнивание у меня по левому, но наверное будет лучше сделать по правому. Только никак не могу рассчитать ширину окна.
Как уже заметила CleverMouse, правильный разделитель 0x0A (10 decimal).


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 100 posts ]  Go to page Previous 1 2 3 4 5 6 7 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited