Subversion Repositories Kolibri OS

Rev

Rev 6651 | Rev 6662 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
6651 leency 1
llist select_list;
2
scroll_bar scroll1 = { 18,200,398, 44,18,0,115,15,0,0xeeeeee,0xD2CED0,0x555555,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1};
3
dword select_list_count_offset;
4
 
5
?define T_SELECT_LIST_NO_DATA "No data to show"
6
 
6653 leency 7
void SelectList_Init(dword _x, _y, _w, _h, _no_selection)
6651 leency 8
{
9
	select_list.no_selection = _no_selection;
10
	select_list.SetFont(8, 14, 0x90);
11
	select_list.SetSizes(_x, _y, _w, _h, 20);
12
}
13
 
6653 leency 14
void SelectList_Draw()
6651 leency 15
{
16
	int i, list_last;
17
 
18
	select_list.CheckDoesValuesOkey();
19
 
20
	if (select_list.count > select_list.visible) list_last = select_list.visible; else list_last = select_list.count;
21
 
22
	for (i=0; i
23
	{
24
		DrawBar(select_list.x,i*select_list.item_h+select_list.y,select_list.w, select_list.item_h, 0xFFFfff);
6653 leency 25
		SelectList_DrawLine(i); //NEED TO BE IMPLEMENTED IN APP
6651 leency 26
	}
27
	DrawBar(select_list.x,i*select_list.item_h+select_list.y, select_list.w, -i*select_list.item_h+ select_list.h, 0xFFFfff);
28
	if (!select_list.count) WriteText(-strlen(T_SELECT_LIST_NO_DATA)*select_list.font_w + select_list.w / 2 + select_list.x + 1,
29
		select_list.h / 2 - 8 + select_list.y, select_list.font_type, 0x999999, T_SELECT_LIST_NO_DATA);
6653 leency 30
	SelectList_DrawScroller();
6651 leency 31
}
32
 
6653 leency 33
void SelectList_ProcessMouse()
34
{
35
	int mouse_clicked;
36
	mouse.get();
37
	scrollbar_v_mouse (#scroll1);
38
	if (select_list.first != scroll1.position)
39
	{
40
		select_list.first = scroll1.position;
41
		SelectList_Draw();
42
	}
43
 
44
	if (mouse.vert) && (select_list.MouseScroll(mouse.vert)) SelectList_Draw();
6651 leency 45
 
6653 leency 46
	if (mouse.up)&&(mouse_clicked)
47
	{
48
		if (mouse.lkm) && (select_list.ProcessMouse(mouse.x, mouse.y)) SelectList_LineChanged();
49
		mouse_clicked=false;
50
	}
51
	else if (mouse.down)&&(mouse.lkm) && (select_list.MouseOver(mouse.x, mouse.y)) mouse_clicked=true;
52
}
53
 
54
 
55
void SelectList_DrawScroller()
6651 leency 56
{
57
	scroll1.bckg_col = MixColors(system.color.work, 0xBBBbbb, 80);
58
	scroll1.frnt_col = MixColors(system.color.work,0xFFFfff,120);
59
	scroll1.line_col = system.color.work_graph;
60
 
61
	scroll1.max_area = select_list.count;
62
	scroll1.cur_area = select_list.visible;
63
	scroll1.position = select_list.first;
64
 
65
	scroll1.all_redraw=1;
66
	scroll1.start_x = select_list.x + select_list.w;
67
	scroll1.start_y = select_list.y-1;
68
	scroll1.size_y = select_list.h+2;
69
 
70
	scrollbar_v_draw(#scroll1);
6653 leency 71
}