Page 16 of 29

Re: box_lib.obj - библиотека gui компонентов

Posted: Mon Apr 01, 2013 10:52 am
by Mario_r4
Для приложения Desktop я "изобрел" элемент Frame (рамка).
viewtopic.php?f=42&t=1509&start=17
Имеет ли смысл сделать такой элемент в библиотеку? Будет ли востребовано?

Re: box_lib.obj - библиотека gui компонентов

Posted: Tue Apr 02, 2013 12:28 am
by Leency
Судя по весьма неплохому результату, элемент ободок в библиотеке не помешает.

Re: box_lib.obj - библиотека gui компонентов

Posted: Tue Apr 02, 2013 12:56 am
by Mario_r4
Leency wrote:Судя по весьма неплохому результату, элемент ободок в библиотеке не помешает.
Требуется дизайнерский пиксельхантинг, может там полоски местами переставить или еще чего? А то у нас хардкордных программистов квадратно-гнездовой прямоугольный способ построения плоскостей элементов.

Re: box_lib.obj - библиотека gui компонентов

Posted: Tue Apr 02, 2013 1:27 am
by Leency
И так нормально.

Re: box_lib.obj - библиотека gui компонентов

Posted: Thu Apr 11, 2013 12:01 pm
by 0CodErr
Идея. Добавить в библиотеку ProgressBar.

Мой вариант:
Spoiler:Image
pb_lib.obj должен быть в "/sys/lib"
Downloaded 441 times
pb.asm (4.05 KiB)
Downloaded 388 times
pb_test.asm (4.5 KiB)
Downloaded 348 times
Почему-то, когда окно активное, скриншотер его сворачивает, и скриншот не получается.

Re: box_lib.obj - библиотека gui компонентов

Posted: Thu Apr 11, 2013 12:19 pm
by Mario_r4
0CodErr
У тебя есть аккаунт SVN? Если есть прикрути, если нет аккаунта, то нужно попросить у админов.
Я сам давно хотел выдрать код из KFM и прикрутить в качестве компонента, но руки не дошли.

Re: box_lib.obj - библиотека gui компонентов

Posted: Fri Apr 12, 2013 2:27 pm
by Leency
0CodErr
Выглядит хорошо внешне, в API пока не смотрел. Мне пришлось изобрести свой прогрессбар - можно увидеть в Лизе и ещё двум программам он уже нужен, а включать код прогрессбара в каждую - дополнительные расходы. Так что я за добавление.

Re: box_lib.obj - библиотека gui компонентов

Posted: Fri Apr 12, 2013 2:27 pm
by Mario_r4
Leency wrote:а включать код скроллбара в каждую программу
прогрессбара, не?

Re: box_lib.obj - библиотека gui компонентов

Posted: Fri Apr 12, 2013 2:29 pm
by Leency
Mario_r4 wrote:
Leency wrote:а включать код скроллбара в каждую программу
прогрессбара, не?
Да, прогрессбара. Только проснулся.

Re: box_lib.obj - библиотека gui компонентов

Posted: Tue Apr 16, 2013 3:21 am
by Mario_r4
SVN r. 3470-3471 - компонент Frame (Рамка).

Как пример использования - программа Desktop

Re: box_lib.obj - библиотека gui компонентов

Posted: Sat May 04, 2013 11:14 pm
by Leency
Не могу нормально прикрутить прогрессбар к Лизе.

Code: Select all

struct progressbar
{
	dword
	pb_value,
	pb_left,
	pb_top,
	pb_width,
	pb_height,
	pb_style,
	pb_min,
	pb_max,
	pb_back_color,
	pb_progress_color,
	pb_frame_color;
};

progressbar progress_bar = {0,0,0,0,0,0,0,100,0xFFFfff,0x54B1D6,0};
void DrawProgressBar(dword st_x, st_y, st_w, st_h, progress_percent, status_text)
{
	progress_bar.pb_value = progress_percent;
	progress_bar.pb_left = st_x;
	progress_bar.pb_top = st_y;
	progress_bar.pb_width = st_w;
	progress_bar.pb_height = st_h;
	progress_bar.pb_frame_color = sc.work_graph;
	//progressbar_draw stdcall (#progress_bar);
	progressbar_progress stdcall (#progress_bar);
}
Если раскомиттить строку //progressbar_draw stdcall (#progress_bar);, то программа начинает падать вообще в другом месте. Может я делаю что не так? Когда нужно использовать progressbar_draw и когда progressbar_progress?
В аттаче две версии. Разница в одной лишь этой строке.

Re: box_lib.obj - библиотека gui компонентов

Posted: Sun May 05, 2013 12:50 am
by 0CodErr
progressbar_draw — перерисовывает полностью весь компонент.
progressbar_progress — увеличивает value и рисует следующую часть.

progressbar отображает, какое количество действий(работы) уже выполнено.
progressbar_progress нужно вызывать, когда произошло очередное действие.

Сначала задать min и max — минимальное(стартовое) и максимальное(конечное) количество действий. А потом начать выполнять сами действия.

Code: Select all

While WorkNotComplete
  NextWork
  If isComplete(CurrentWork) then progressbar_progress
EndWhile
progressbar_draw предполагается вызывать, когда необходимо перерисовать весь компонент, например, при перерисовке всего окна.

Re: box_lib.obj - библиотека gui компонентов

Posted: Wed May 29, 2013 10:58 pm
by GerdtR
Вопрос простой: где взять описания функций(точнее даже структуры для компонентов ). Как-то раз пользовался, но всё выдирал из чужих исходников.

Re: box_lib.obj - библиотека gui компонентов

Posted: Wed May 29, 2013 11:09 pm
by IgorA
По идее должно быть тут: http://wiki.kolibrios.org/wiki/Box_lib/ru ,
или на svn в папке (root)/programs/develop/libraries/box_lib/trunk/doc/ .
Но там есть не все элементы.

Re: box_lib.obj - библиотека gui компонентов

Posted: Sat Jun 01, 2013 12:58 am
by GerdtR
Значительно больше, чем ничего) Спасибо.