forked from KolibriOS/kolibrios
update function 'tl_node_poi_get_info'
git-svn-id: svn://kolibrios.org@9610 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
473a315c3e
commit
4c4ea34b99
@ -8,21 +8,12 @@
|
||||
<p><a href="../box_lib.htm">На главную ↑</a></p>
|
||||
<h1>Оглавление</h1>
|
||||
<p><a href="#vveden">Введение</a></p>
|
||||
<p><a href="#version2">Version 2</a></p>
|
||||
<p><a href="#funct2">Ôóíêöèè 2</a></p>
|
||||
<p><a href="#funct2">Ôóíêöèè</a></p>
|
||||
<ul>
|
||||
<li><a href="#fun_init2">init_checkbox2</a></li>
|
||||
<li><a href="#fun_draw2">check_box_draw2</a></li>
|
||||
<li><a href="#fun_mouse2">check_box_mouse2</a></li>
|
||||
<li><a href="#version_ch2">version_ch2</a></li>
|
||||
</ul>
|
||||
<br>
|
||||
<p><a href="#version1">Version 1</a></p>
|
||||
<p><a href="#funct">Ôóíêöèè</a></p>
|
||||
<ul>
|
||||
<li><a href="#fun_draw">check_box_draw</a></li>
|
||||
<li><a href="#fun_mouse">check_box_mouse</a></li>
|
||||
<li><a href="#version">version_ch</a></li>
|
||||
<li><a href="#version_ch2">version_ch</a></li>
|
||||
</ul>
|
||||
<p><a href="#struc_checkbox">Структура checkbox</a></p>
|
||||
<p><a href="#checkbox_styles">Стили элемента</a></p>
|
||||
@ -30,8 +21,7 @@
|
||||
<h1><a name="vveden">Введение</a></h1>
|
||||
<p>Checkbox предназначен для установки, снятия флага активности процесса. Часто
|
||||
используется для включения / выключения тех или иных функций.</p>
|
||||
<h1><a name="version2">Checkbox version 2</a></h1>
|
||||
<p>Version 2 áûëà ðàçðàáîòàíà â 2010 ãîäó è ÿâëÿåòñÿ ïåðåðàáîòàííîé è îïòèìèçèðîâàííîé âåðñèåé. Îñíîâíûå îòëè÷èÿ îò âåðñèè 1:</p>
|
||||
<p>Version 1 áûëà ðàçðàáîòàíà â 2007-2009 ãîäàõ. Version 2 áûëà ðàçðàáîòàíà â 2010 ãîäó è ÿâëÿåòñÿ ïåðåðàáîòàííîé è îïòèìèçèðîâàííîé âåðñèåé. Îñíîâíûå îòëè÷èÿ îò âåðñèè 1:</p>
|
||||
<ul>
|
||||
<li>Поддержка ASCIIZ строк.</li>
|
||||
<li>Появился код инициализации бокса, что уменьшает задержки при обработки событий мышки.</li>
|
||||
@ -40,7 +30,7 @@
|
||||
</ul>
|
||||
|
||||
|
||||
<h1><a name="funct2">Ôóíêöèè2</a></h1>
|
||||
<h1><a name="funct2">Ôóíêöèè</a></h1>
|
||||
|
||||
<h2><a name="fun_init2">init_checkbox2</a></h2>
|
||||
<p>Эта функция должна вызыватся при инициализации приложения, фактически она считает колличество символов в стоке для вывода. Если не нужно выводить подписи к checkbox, то ее можно не вызывать.</p>
|
||||
@ -51,10 +41,10 @@
|
||||
<h2><a name="fun_mouse2">check_box_mouse2</a></h2>
|
||||
<p>Эта функция должна вызыватся при вводе информации с мыши.</p>
|
||||
|
||||
<h2><a name="version_ch2">version_ch2</a></h2>
|
||||
<h2><a name="version_ch2">version_ch</a></h2>
|
||||
<p>Версия элемента</p>
|
||||
|
||||
<h1><a name="struc_checkbox2">Ñòðóêòóðà checkbox2</a></h1>
|
||||
<h1><a name="struc_checkbox2">Ñòðóêòóðà checkbox</a></h1>
|
||||
<p>Размер структуры checkbox2 указан внутри файла <i>box_lib.mac</i> в параметре <b>ch_struc_size</b>.</p>
|
||||
<pre>struc check_box2 left_s,top_s,ch_text_margin,color,border_color,text_color,text,flags
|
||||
{ ;структура параметров для чек бокса
|
||||
@ -85,47 +75,7 @@
|
||||
<h2>ch_flag_bottom = 1000b</h2>
|
||||
<p>Флаг расположения текста в низу т.е. по умолчанию принимается значение внизу т.е. отсуствие 3-го и 4-го бита</p>
|
||||
|
||||
|
||||
|
||||
<h1><a name="version1">Checkbox version 1</a></h1>
|
||||
<p>Version 1 áûëà ðàçðàáîòàíà â 2007-2009 ãîäàõ.</p>
|
||||
<h1><a name="funct">Ôóíêöèè</a></h1>
|
||||
|
||||
<h2><a name="fun_draw">check_box_draw</a></h2>
|
||||
<p>Ýòà ôóíêöèÿ äîëæíà âûçûâàòñÿ ïðè ââîäå èíôîðìàöèè ñ êëàâèàòóðû.</p>
|
||||
|
||||
<h2><a name="fun_mouse">check_box_mouse</a></h2>
|
||||
<p>Ýòà ôóíêöèÿ äîëæíà âûçûâàòñÿ ïðè ââîäå èíôîðìàöèè ñ ìûøè.</p>
|
||||
|
||||
<h2><a name="version">version_ch</a></h2>
|
||||
<p>Âåðñèÿ ýëåìåíòà</p>
|
||||
|
||||
<h1><a name="struc_checkbox">Ñòðóêòóðà checkbox</a></h1>
|
||||
<pre>struc check_box left,top,ch_text_margin,ch_size,color,border_color,text_color,text,ch_text_length,flags
|
||||
{ ;ñòðóêòóðà ïàðàìåòðîâ äëÿ ÷åê áîêñà
|
||||
.left: dw left ;+0
|
||||
.top: dw top ;+2
|
||||
.ch_text_margin: dd ch_text_margin ;+4
|
||||
.ch_size: dd ch_size ;+8
|
||||
.color: dd color ;+12
|
||||
.border_color: dd border_color ;öâåò ðàìêè
|
||||
.text_color: dd text_color ;öâåò íàäïèñè
|
||||
.text: dd text ;àäðåñ â êîäå ïðîãðàììû ãäå ðàñïîëîæåí òåêñò
|
||||
.ch_text_length: dd ch_text_length ;äëèííà ñòðîêè ñ ñèìâîëàìè
|
||||
.flags: dd flags+0 ;ôëàãè
|
||||
}</pre>
|
||||
<p><b>left</b> - îòñòóï ñëåâà (ïîëîæåíèå ïî x).</p>
|
||||
<p><b>top</b> - îòñòóï ñâåðõó (ïîëîæåíèå ïî y).</p>
|
||||
<p><b>ch_text_margin</b> - ðàññòîÿíèå îò ïðÿìîóãîëüíèêà ÷åê áîêñà äî íàäïèñè.</p>
|
||||
<p><b>ch_size</b> - ðàçìåð êâàäðàòà ÷åê áîêñà, êàê ñòàíäàðòíîå çíà÷åíèå áûëî ïðèíÿòî 12.</p>
|
||||
<p><b>color</b> - öâåò âíóòðè ÷åêáîêñà.</p>
|
||||
|
||||
<h1><a name="checkbox_styles">Ñòèëè ýëåìåíòà</a></h1>
|
||||
|
||||
<h2>ch_flag_en</h2>
|
||||
<p>Ôëàæîê âûáðàí.</p>
|
||||
|
||||
<hr>
|
||||
<p>Äîêóìåíòàöèÿ îáíîâëÿëàñü ïîñëåäíèé ðàç 08.12.10.</p>
|
||||
<p>Äîêóìåíòàöèÿ îáíîâëÿëàñü ïîñëåäíèé ðàç 10.01.22.</p>
|
||||
</body>
|
||||
</html>
|
@ -141,12 +141,19 @@ pop edi esi ecx eax</pre>
|
||||
<p>где: <b>tree1</b> - структура tree_list</p>
|
||||
|
||||
<h2><a name="fun_poi_gi">tl_node_poi_get_info</a></h2>
|
||||
<p>Берет внутренний указатель на структуру описывающую узел. Пример использования функции:</p>
|
||||
<p>Берет внутренний указатель на структуру описывающую узел, с учетом открытия/закрытия дочерних узлов. Примеры использования функции:</p>
|
||||
<p>Пример 1:</p>
|
||||
<pre> stdcall dword[tl_node_poi_get_info], tree1, 0</pre>
|
||||
<p>где: <b>tree1</b> - структура tree_list;
|
||||
<b>0</b> - позиция узла, с которого берется указатель;
|
||||
<b>eax</b> - указатель на структуру описывающую узел.</p>
|
||||
<p><b>Замечание.</b> Если узел с указанным индексом не найден, в указателе возвращается 0.</p>
|
||||
<p>Пример 2:</p>
|
||||
<pre> stdcall dword[tl_node_poi_get_info], tree1, tree1.cur_pos</pre>
|
||||
<p>где: <b>tree1</b> - структура tree_list;
|
||||
<b>tree1.cur_pos</b> - позиция курсора в списке;
|
||||
<b>eax</b> - указатель на структуру описывающую узел где стоит курсор.</p>
|
||||
<p><b>Замечание.</b> Может показаться что аналогичный результат выдаст функция <a href="#fun_get_d">tl_node_get_data</a>, но разница в этих функциях есть (tl_node_get_data - дает данные самого узла).</p>
|
||||
|
||||
<h2><a name="fun_poi_gni">tl_node_poi_get_next_info</a></h2>
|
||||
<p>Берет указатель на следующий элемент в цепи, без учета открытия/закрытия дочерних узлов. Пример использования функции:</p>
|
||||
|
@ -293,9 +293,8 @@ pop ebx eax
|
||||
add esi,tl_box_height ;esi = coord bottom border
|
||||
call tl_draw_null_cursor ;áâ¨à ¥¬ ªãàá®à
|
||||
pop esi
|
||||
@@:
|
||||
|
||||
mov tl_cur_pos,eax
|
||||
@@:
|
||||
|
||||
; if '+' or '-' press
|
||||
call tl_get_cur_node_index ;eax = node index
|
||||
@ -1410,14 +1409,14 @@ endp
|
||||
align 4
|
||||
proc tl_node_poi_get_info uses ebx ecx edx edi, tlist:dword, node_ind:dword
|
||||
mov edi,[tlist]
|
||||
mov ebx,dword[node_ind]
|
||||
mov ebx,[node_ind]
|
||||
inc ebx
|
||||
|
||||
;cycle to nodes
|
||||
mov edx,tl_data_nodes
|
||||
mov ecx,edx
|
||||
add ecx,sizeof.TreeNode
|
||||
lea ecx,[edx+sizeof.TreeNode]
|
||||
@@:
|
||||
call tl_iterat_next_all
|
||||
call tl_iterat_next
|
||||
cmp edx,ecx
|
||||
jle @f
|
||||
dec ebx
|
||||
|
Loading…
Reference in New Issue
Block a user