Board.KolibriOS.org

Official KolibriOS board
It is currently Tue Nov 12, 2019 1:25 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 99 posts ]  Go to page Previous 1 2 3 4 5 6 7 Next
Author Message
 Post subject: Re: Excel в Kolibri
PostPosted: Sun Oct 05, 2008 4:15 am 
Offline
User avatar

Joined: Fri Jan 27, 2006 3:06 pm
Posts: 1071
Quote:
3) - я думаю, это фича.

Ну да, представляю: человек пришел из екселя, не поленился - набрал длинющую формулу - и по привычке стрелочкой переместился на соседнюю ячейку - и тут пошел мат-перемат :)


Top
   
 Post subject: Re: Excel в Kolibri
PostPosted: Mon Oct 06, 2008 1:56 am 
Offline

Joined: Wed Jun 04, 2008 10:16 pm
Posts: 174
Часть недостатков устранены (то, что отмечено на картинках).

Leency wrote:
и второе - попытка объединить control-c и control-х

Принято :)

Скроллинг колесиком, "отзывчивые" полосы прокрутки и сохранение текста без нажатия "Enter" в разработке.


Attachments:
table-0.88.7z [15.32 KiB]
Downloaded 192 times
Top
   
 Post subject: Re: Excel в Kolibri
PostPosted: Mon Oct 06, 2008 3:29 am 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5064
А программа всё лучше и лучше)))

Кстати, оказывается что горизонтальные стрелки - это 0x1A / 0x1B
Относительно мелькания окна при прокрутке - у меня было тоже самое в Эолайте. Уже дошло до таааких ухищрений, пока Марио не просветил что мелькание списка - результат того что вначале рисуется белый фон, а потом выводится всё остальное. Оказывается чтобы не мелькало надо чтобы всё выводилось по строчке - вначале строка 1, потом рисуется строка 2 и т.д. Тогда мелькание будет намооого меньше.
Там, где на рисунке обведено - неплохо бы сделать по-центру.
Да... ещё очень хочется посмотреть свежие исходники, ато старые править как-то не труъ :)


Attachments:
kiylo.PNG
kiylo.PNG [ 1.86 KiB | Viewed 6241 times ]

_________________
Через тернии к звездам
Top
   
 Post subject: Re: Excel в Kolibri
PostPosted: Mon Oct 06, 2008 6:32 am 
Offline
User avatar

Joined: Thu Mar 01, 2007 4:16 pm
Posts: 426
> Оказывается чтобы не мелькало надо чтобы всё выводилось по строчке - вначале строка 1, потом рисуется строка 2 и т.д. Тогда мелькание будет намооого меньше.
Полагаю что тогда его не будет вообще, а еще лучше использовать "буфер" и отрисовывать в него, когда изображение будет полностью построено вывести его на экран. Не гуманно по отношению к памяти.

..bw


Top
   
 Post subject: Re: Excel в Kolibri
PostPosted: Mon Oct 06, 2008 6:39 am 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5064
Будет мелькание, но даже в Кьему без акселератора kaqemu его будет очень сложно заметить.
А рисовать в буфер, а потом выводить сложно, учитывая что тогда большую часть проги придётся переписать с нуля. Если я не ошибаюсь, только KFAR сейчас такое умеет.

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


Top
   
 Post subject: Re: Excel в Kolibri
PostPosted: Mon Oct 06, 2008 11:40 am 
Offline
User avatar

Joined: Thu Mar 01, 2007 4:16 pm
Posts: 426
И тут оффтопом занялись :-).
Собственно - один раз написал и используй этот код пока не надоест.

..bw


Top
   
 Post subject: Re: Excel в Kolibri
PostPosted: Mon Oct 06, 2008 4:53 pm 
Offline
Site Founder
User avatar

Joined: Sun Aug 08, 2004 8:55 am
Posts: 689
Может помочь ещё и следующее (http://kolibrios.org/?p=Documentation&s ... ons&sfp=00):
  • edx = 0xXYRRGGBB, где:
    • X = DCBA (биты)
      • C = 1 - не закрашивать рабочую область при отрисовке окна
Используется в KFAR, Tinypad. Суть в том, что если программа рисует *всё* в окне сама - ОС нет смысла заливать фон при вызове 0-й функции (из-за чего и наблюдается фликеринг)

_________________
in code we trust


Top
   
 Post subject: Re: Excel в Kolibri
PostPosted: Mon Oct 06, 2008 11:41 pm 
Offline

Joined: Wed Jun 04, 2008 10:16 pm
Posts: 174
Leency, вот исходники текущей версии.


Attachments:
excel-src.7z [44.07 KiB]
Downloaded 189 times
Top
   
 Post subject: Re: Excel в Kolibri
PostPosted: Wed Oct 08, 2008 11:33 pm 
Offline

Joined: Wed Jun 04, 2008 10:16 pm
Posts: 174
Следующий вариант: добавлена прокрутка колесиком, сохранение текста при выделении другой ячейки (не нужно больше нажимать Enter, а чтобы отменить ввод, нажмите Escape).

mike.dld wrote:
если программа рисует *всё* в окне сама - ОС нет смысла заливать фон при вызове 0-й функции (из-за чего и наблюдается фликеринг)

Сделал, помогло.

bw wrote:
еще лучше использовать "буфер" и отрисовывать в него, когда изображение будет полностью построено вывести его на экран.

Этот прием годится не для всех приложений, так как приходится переписывать процедуры рисования всех примитивов (в том числе вывода текста).

Leency wrote:
Кстати, оказывается что горизонтальные стрелки - это 0x1A / 0x1B

Leency wrote:
Там, где на рисунке обведено - неплохо бы сделать по-центру.

Исправил.


Attachments:
File comment: программа+исходники
table-0.89.7z [44.55 KiB]
Downloaded 187 times
Top
   
 Post subject: Re: Excel в Kolibri
PostPosted: Thu Oct 09, 2008 12:33 am 
Offline
User avatar

Joined: Thu Mar 01, 2007 4:16 pm
Posts: 426
> Этот прием годится не для всех приложений, так как приходится переписывать процедуры рисования всех примитивов (в том числе вывода текста).
Для всех. Просто не нужно, каждый раз, выделять буфер вновь и перерисовавать его полностью. Пусть он остается и ты просто дописываешь в него изменения, а после выводишь буфер на экран. При этом нет необходимости выводить весь буфер на экран, можешь вывести тольку ту часть, в которой произошли изменения. Да, это усложняет задачу и можно, в большинстве случаев, обойтись без такой особенности.

..bw


Top
   
 Post subject: Re: Excel в Kolibri
PostPosted: Thu Oct 09, 2008 4:17 am 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5064
1. Уменьшил перерисовку окна при перемотке колёсиком, одновременно успростил код.

2. Таки поставил стрелки на место)

3. При правке текста в ячейке, сделал так что текст не подпрыгивает вверх. Обнаружил баг: из-за того что размер ячеек можно менять, строка 135
kos_WriteTextToWindow(editbox_x, editbox_y+3,0x80,0,edit_text,0);
должна выглядеть так:
kos_WriteTextToWindow(editbox_x, editbox_h/2-3+editbox_y,0x80,0,edit_text,0);

4. Строка if (redraw) draw_window();
осталась для меня загадкой. Зачем переменная если можно просто вместо redraw=1 вставить draw_window().
Это сделано для того чтобы окно не перерисовывалось 2 раза?

Кстати, везде используется draw_window(); - это не труъ. Дожно быть dwaw_grid(); или что-то в этом роде - перерисовка только ячеек и полос прокрутки без перерисовки всего окна - так будет намного быстрее. Далее, надо сделать вывод сетки полосами.
ИМХО надо дофиксить баги и заняться этим...


Attachments:
table-0.89b.zip [69.51 KiB]
Downloaded 193 times

_________________
Через тернии к звездам
Top
   
 Post subject: Re: Excel в Kolibri
PostPosted: Thu Oct 09, 2008 7:59 pm 
Offline

Joined: Wed Jun 04, 2008 10:16 pm
Posts: 174
Leency, спасибо за помощь в разработке.

Leency wrote:
4. Строка if (redraw) draw_window();осталась для меня загадкой. Зачем переменная если можно просто вместо redraw=1 вставить draw_window().Это сделано для того чтобы окно не перерисовывалось 2 раза?

Эта строка больше не нужна, а раньше, действительно, служила для однократной перерисовки.


Top
   
 Post subject: Re: Excel в Kolibri
PostPosted: Fri Oct 10, 2008 11:58 pm 
Offline
User avatar

Joined: Fri Jan 27, 2006 3:06 pm
Posts: 1071
прямоугольник под панелью сохранения\загрузки файлов нужно расширить на 1 пиксел вправо и вниз


Top
   
 Post subject: Re: Excel в Kolibri
PostPosted: Sun Oct 12, 2008 9:48 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5064
dword wi = WND_W, he = WND_H;
надо заменить на
int wi = WND_W, he = WND_H;

т.к. из-за строчки
he -= kos_GetSkinHeight() + MENU_PANEL_HEIGHT;
прога на маленьких размерах окна вылетает.

После
kos_DefineAndDrawWindow(10,40,WND_W,WND_H,0x33,0x40FFFFFF,0,0,(Dword)"Table v0.89b");
надо вставить код
if (he + MENU_PANEL_HEIGHT<= 8)
{
kos_WindowRedrawStatus(2);
return;
}
или что-то типа этого, похожий код ДО рисования окна убрать, он тоже приводит к вылетанию на маленьких размерах.

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


Top
   
 Post subject: Re: Excel в Kolibri
PostPosted: Sun Oct 12, 2008 10:24 pm 
Offline

Joined: Wed Jun 04, 2008 10:16 pm
Posts: 174
Heavyiron, Leency
Исправлено :)


Attachments:
table-0.89c.7z [45.5 KiB]
Downloaded 184 times
Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 99 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 1 guest


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:  
Powered by phpBB® Forum Software © phpBB Limited