Table

...
  • Спасибо :)
  • Последняя версия, включая исходники.
    Attachments
    table-devel.7z (42.46 KiB)
    Downloaded 398 times
  • Недавно по совету Leency и под его руководством я модифицировал интерфейс Table для улучшения внешнего вида и юзабилити. Также уменьшена частота перерисовки окна.
    Attachments
    Новый вариант оформления
    table_3.PNG (11.9 KiB)
    Новый вариант оформления Viewed 10410 times
    Старый вариант оформления
    older.PNG (12.94 KiB)
    Старый вариант оформления Viewed 10409 times
    table-0.86.7z (15.4 KiB)
    Downloaded 366 times
  • Сразу в глаза бросается несколько недочетов:
    1) черный цвет, показывающий текущую ячейку - как-то не очень;
    2) вертикальное выравнивание в ячейках "по верхнему краю" совсем не смотрится, особенно, если учесть, что в большой ячейке - уже по центру (почти) :);
    3) сетка таблицы почему-то доходит до ползунков навигации.
    А так, новый вариант намного интереснее! :)
  • Некоторые недостатки интерфейса исправлены.
    Attachments
    table-0.87.7z (15.43 KiB)
    Downloaded 352 times
  • Отлично выходит.
    У программы отличный функционал, теперь ещё будет юзер-френдли интерфейс. ИМХО table необходимо вынести на рабочий стол. Над иконкой я подумаю...
    Из хаоса в космос
  • Спасибо за оперативность. Посмотрел - понравилось в целом, но (дико извиняюсь за назойливость): :)
    Attachments
    Еще несколько замечаний :)
    table.png (26.21 KiB)
    Еще несколько замечаний :) Viewed 10342 times
  • Кстати, еще и баг заметил: если переместить бегунки за пределы полосы прокрутки - они исчезают вместе с нумерацией ячеек.
    Из пожеланий к самой программе:
    1) скролинг колесом мыши;
    2) немного более отзывчивые полосы прокрутки (орисовка по мере передвижения, а не по отпусканию мыши), как, например в Eolite или в тинипаде;
    3) чтобы поставил курсор в нужную ячейку, набрал значение и после этого не нужно было нажимать Enter. А теперь стоит нажать стрелку или клацнуть мышкой по другой ячейке и набранное ранее стирается.
    Last edited by Heavyiron on Sun Oct 05, 2008 3:58 am, edited 1 time in total.
  • Heavyiron wrote:Спасибо за оперативность. Посмотрел - понравилось в целом, но (дико извиняюсь за назойливость): :)
    Читаешь мысли :) Практически тоже самое я уже отослал Барсуку: изображение снизу + текст
    цыфры 1,2,3.. опустить на один пиксель вниз
    А, B, C... тоже опустить так чтобы они были посередине
    надо бы Filename: отпустить на 1-2 пикселя вниз
    ободок полосы адреса для сохранения файлов если неактивен должен быть серым, при активации чёрным, тёмно синим или оранжевым
    Attachments
    111.png
    111.png (8.03 KiB)
    Viewed 10334 times
    Из хаоса в космос
  • Heavyiron wrote:Кстати, еще и баг заметил: если поперемещать немного полосы прокрутки - они исчезают вместе с нумерацией ячеек.
    Из пожеланий к самой программе:
    1) скролинг колесом мыши;
    2) немного более отзывчивые полосы прокрутки (орисовка по мере передвижения, а не по отпусканию мыши), как, например в Eolite или в тинипаде;
    3) чтобы поставил курсор в нужную ячейку, набрал значение и после этого не нужно было нажимать Enter. А теперь стоит нажать стрелку или клацнуть мышкой по другой ячейке и набранное ранее стирается.
    1) - я уже говорил, думаю сделает)
    2) - согласен, я так понял полосы были прикручены на скорую руку
    3) - я думаю, это фича.

    Я решил пойти дальше советов :) Посмотрел код... Первое:
    //Сейчас после схлопывания окна в заголовок прога вылетает.
    //Потому надо добавить вот такую строку в draw_window(), сразу после отрисовки окна

    IF (Form.height==skin_width+3) {WindowRedrawStatus(2); return;}
    //Тогда если окно свёрнуто в заголовок - ничего не рисутся.
    и второе - попытка объединить control-c и control-х, для С-- такой код работал бы:

    Code: Select all

    				case 03:	// control-c
    				case 24:	// control-x
    					{
    						if (ctrl)
    						{
    							//rtlDebugOutString("control-c!");
    							int i, j, x0, y0;
    
    							freeBuffer();
    
    							buf_col = abs(sel_end_x - sel_x) + 1;
    							buf_row = abs(sel_end_y - sel_y) + 1;
    							x0 = min(sel_x, sel_end_x);
    							y0 = min(sel_y, sel_end_y);
    							buf_old_x = x0;
    							buf_old_y = y0;
    						
    							buffer = (char***)allocmem(buf_col * sizeof(char**));
    							for (i = 0; i < buf_col; i++)
    							{
    								buffer[i] = (char**)allocmem(buf_row * sizeof(char*));
    								for (j = 0; j < buf_row; j++)
    								{
    									if (cells[i + x0][j + y0])
    									{
    										//вот тут только отличие - это для control-c
    										if (keyCode==03) 
    										{
    											buffer[i][j] = (char*)allocmem(strlen(cells[i + x0][j + y0]));
    											strcpy(buffer[i][j], cells[i + x0][j + y0]);
    										}
    										////а это для control-x
    										else
    										{
    											buffer[i][j] = cells[i + x0][j + y0];
    											cells[i + x0][j + y0] = NULL;
    										}
    									}
    									else
    										buffer[i][j] = NULL;
    								}
    							}
    							if (keyCode==24) calculate_values(); //!!!!!!!!!!
    							draw_window();
    							break;
    Из хаоса в космос
  • 3) - я думаю, это фича.
    Ну да, представляю: человек пришел из екселя, не поленился - набрал длинющую формулу - и по привычке стрелочкой переместился на соседнюю ячейку - и тут пошел мат-перемат :)
  • Часть недостатков устранены (то, что отмечено на картинках).
    Leency wrote:и второе - попытка объединить control-c и control-х
    Принято :)

    Скроллинг колесиком, "отзывчивые" полосы прокрутки и сохранение текста без нажатия "Enter" в разработке.
    Attachments
    table-0.88.7z (15.32 KiB)
    Downloaded 419 times
  • А программа всё лучше и лучше)))

    Кстати, оказывается что горизонтальные стрелки - это 0x1A / 0x1B
    Относительно мелькания окна при прокрутке - у меня было тоже самое в Эолайте. Уже дошло до таааких ухищрений, пока Марио не просветил что мелькание списка - результат того что вначале рисуется белый фон, а потом выводится всё остальное. Оказывается чтобы не мелькало надо чтобы всё выводилось по строчке - вначале строка 1, потом рисуется строка 2 и т.д. Тогда мелькание будет намооого меньше.
    Там, где на рисунке обведено - неплохо бы сделать по-центру.
    Да... ещё очень хочется посмотреть свежие исходники, ато старые править как-то не труъ :)
    Attachments
    kiylo.PNG
    kiylo.PNG (1.86 KiB)
    Viewed 12000 times
    Из хаоса в космос
  • > Оказывается чтобы не мелькало надо чтобы всё выводилось по строчке - вначале строка 1, потом рисуется строка 2 и т.д. Тогда мелькание будет намооого меньше.
    Полагаю что тогда его не будет вообще, а еще лучше использовать "буфер" и отрисовывать в него, когда изображение будет полностью построено вывести его на экран. Не гуманно по отношению к памяти.

    ..bw
  • Who is online

    Users browsing this forum: No registered users and 3 guests