Subversion Repositories Kolibri OS

Compare Revisions

No changes between revisions

Regard whitespace Rev 1309 → Rev 1328

/programs/develop/libraries/box_lib/trunk/box_lib.asm
164,6 → 164,7
dd sz_tl_node_poi_get_data, tl_node_poi_get_data
dd sz_tl_save_mem, tl_save_mem
dd sz_tl_load_mem, tl_load_mem
dd sz_tl_get_mem_size,tl_get_mem_size
dd sz_tl_version_tree_list, 0x00000001
 
dd 0,0
230,4 → 231,5
sz_tl_node_poi_get_data db 'tl_node_poi_get_data',0
sz_tl_save_mem db 'tl_save_mem',0
sz_tl_load_mem db 'tl_load_mem',0
sz_tl_get_mem_size db 'tl_get_mem_size',0
sz_tl_version_tree_list db 'version_tree_list',0
/programs/develop/libraries/box_lib/trunk/tree_list.mac
1,6 → 1,6
; ìàêðîñ äëÿ ñèñòåìíîé áèáëèîòåêè box_lib.obj
; ýëåìåíò TreeList äëÿ Kolibri OS
; ôàéë ïîñëåäíèé ðàç èçìåíÿëñÿ 8.12.2009 IgorA
; ôàéë ïîñëåäíèé ðàç èçìåíÿëñÿ 23.12.2009 IgorA
; íà êîä ïðèìåíåíà GPL2 ëèöåíçèÿ
 
 
2215,15 → 2215,11
 
cmp dword[ebp+16],0 ;add mode
je @f
.beg_cycle:
cmp dword[esi],0x65657274 ;0x65657274 = 'tree'
jne @f
xor ebx,ebx
mov bx,word[esi+4]
imul ebx,dword[esi+6]
add ebx,tl_save_load_heder_size
push dword edi
push dword esi
call tl_get_mem_size ;áåðåì ðàçìåð ðàíåå ñîõðàí¸ííûõ äàííûõ
pop ebx
add esi,ebx
jmp .beg_cycle
@@:
 
xor ebx,ebx
2328,11 → 2324,17
mov cx,word[ebp+16]
cmp cx,0 ;load in array mode
je @f
; push dword edi
; push dword esi
; call tl_get_mem_size ;áåðåì ðàçìåð ðàíåå ñîõðàí¸ííûõ äàííûõ
; pop ebx
; add esi,ebx
.beg_cycle:
cmp dword[esi],0x65657274 ;0x65657274 = 'tree'
jne .no_tree
xor ebx,ebx
mov bx,word[esi+4]
add bx,8
imul ebx,dword[esi+6]
add ebx,tl_save_load_heder_size
add esi,ebx
2395,6 → 2397,36
pop ebp
ret 12
 
;input:
;dword[ebp+ 8] - pointer to memory
;dword[ebp+12] - pointer to 'TreeList' struct
;output:
;dword[ebp+ 8] - error code
align 4
tl_get_mem_size: ;áåðåò ðàçìåð ïàìÿòè çàíÿòîé ôóíêöèåé tl_save_mem ïðè ñîõðàíåíèè ýëåìåíòîâ
push ebp
mov ebp,esp
push ebx edi esi
mov esi,dword[ebp+ 8]
mov edi,dword[ebp+12]
@@:
cmp dword[esi],0x65657274 ;0x65657274 = 'tree'
jne @f
xor ebx,ebx
mov bx,word[esi+4]
add bx,8 ;ðàçìåð äîïîëíèòåëüíîé èíôîðìàöèè îá óçëå (èíäåêñ çàïèñè; èíäåêñ èêîíêè, óðîâåíü, ...)
imul ebx,dword[esi+6]
add ebx,tl_save_load_heder_size
add esi,ebx
jmp @b
@@:
sub esi,dword[ebp+ 8]
mov dword[ebp+12],esi ;âîçâðàùàåì ðàçìåð áëîêà ïàìÿòè
pop esi edi edx
pop ebp
ret 4
 
 
;ascii scan key
; 13 28 Enter
; 32 57 Space
/programs/develop/libraries/box_lib/trunk/tree_list_doc/info_size.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/develop/libraries/box_lib/trunk/tree_list_doc/info_treelist.htm
57,9 → 57,9
<li><a href="#fun_undo">tl_info_undo</a></li>
<li><a href="#fun_redo">tl_info_redo</a></li>
<li><a href="#fun_add">tl_node_add</a></li>
<li>tl_node_set_data</li>
<li>tl_node_get_data</li>
<li>tl_node_delete</li>
<li><a href="#fun_set_d">tl_node_set_data</a></li>
<li><a href="#fun_get_d">tl_node_get_data</a></li>
<li><a href="#fun_delete">tl_node_delete</a></li>
<li>tl_cur_beg</li>
<li>tl_cur_next</li>
<li>tl_cur_perv</li>
73,7 → 73,8
<li>tl_node_poi_get_data</li>
<li><a href="#fun_sme">tl_save_mem</a></li>
<li><a href="#fun_lme">tl_load_mem</a></li>
<li>version_tree_list</li>
<li><a href="#fun_gme">tl_get_mem_size</a></li>
<li><a href="#version">version_tree_list</a></li>
</ul>
<p><a href="#struc_tree_list">Ñòðóêòóðà tree_list</a></p>
<p><a href="#tree_list_styles">Ñòèëè ýëåìåíòà</a></p>
81,6 → 82,7
<h1><a name="vveden">Ââåäåíèå</a></h1>
<p>Âíåøíèé âèä ýëåìåíòà óïðàâëåíèÿ TreeList:</p>
<p><img src="window_tree_list.png"></p>
<p>Ðèñ. 1. Îêíî ïðîãðàììû ñ ýëåìåíòîì TreeList</p>
 
<h1><a name="funct">Ôóíêöèè</a></h1>
 
119,12 → 121,15
<p>ãäå: <b>tree1</b> - ñòðóêòóðà tree_list;
<b>0x10002</b> - ïàðàìåòðû óçëà (ñòàðøèå áàéòû 0x0001 - èíäåêñ èêîíêè, îòîáðàæàåìîé âîçëå óçëà; ìåíüøèé áàéò 0x02 - óðîâåíü âëîæåíîñòè óçëà); <b>data_buffer</b> - óêàçàòåëü íà äûííûå, äîáàâëÿåìûå â óçåë.</p>
 
<h2>tl_node_set_data</h2>
<h2><a name="fun_set_d">tl_node_set_data</a></h2>
<p>Óñòàíàâëèâàåò íîâûå äàííûå (ïîëüçîâàòåëüñêèå è ïîäïèñü) â óçåë ïîä êóðñîðîì.</p>
<h2>tl_node_get_data</h2>
 
<h2><a name="fun_get_d">tl_node_get_data</a></h2>
<p>Áåðåò óêàçàòåëü íà äàííûå (ïîëüçîâàòåëüñêèå è ïîäïèñü) èç óçëà ïîä êóðñîðîì.</p>
<h2>tl_node_delete</h2>
 
<h2><a name="fun_delete">tl_node_delete</a></h2>
<p>Óäàëÿåò óçåë, íî íå îêîí÷àòåëüíî, ïðè íåîáõîäèìîñòè óçåë ìîæíî âåðíóòü ôóíêöèåé <b>tl_info_undo</b>.</p>
 
<h2>tl_cur_beg</h2>
<p>Ñòàâèò êóðñîð â íà÷àëî ñïèñêà, ïåðåìàòûâàåò ñêðîëëèíã åñëè íóæíî.</p>
<h2>tl_cur_next</h2>
194,7 → 199,10
<b>MEM_SIZE</b> - ðàçìåð áëîêà ïàìÿòè äëÿ ñîõðàíåíèÿ.
 ðåãèñòð <b>eax</b> ïèøåòñÿ çíà÷åíèå 0 èëè çàïèñûâàþòñÿ êîäû îøèáîê ñ÷èòûâàíèÿ.</p>
 
<h2>version_tree_list</h2>
<h2><a name="fun_gme">tl_get_mem_size</a></h2>
<p>Âû÷èñëÿåò ðàçìåð áëîêà ïàìÿòè (â êîòîðûé áûëè ðàíüøå ñîõðàíåíû ýëåìåíòû).</p>
 
<h2><a name="version">version_tree_list</a></h2>
<p>Âåðñèÿ ýëåìåíòà</p>
 
<h1><a name="struc_tree_list">Ñòðóêòóðà tree_list</a></h1>
230,7 → 238,7
.on_activate dd 0
.on_press dd on_press
}</pre>
<p><b>info_size</b> - êîëè÷åñòâî áàéò, êîòîðîå áóäåò âûäåëåíî äëÿ êàæäîãî óçëà. ×àñòü ýòîé ïàìÿòè ïîëüçîâàòåëü ìîæåò èñïîëüçîâàòü äëÿ ñâîèõ öåëåé (ðåãóëèðóåòñÿ ÷åðåç <i>info_capt_offs</i> è <i>info_capt_len</i>) à îñòàëüíàÿ ÷àñòü áóäåò èñïîëüçîâàíà êàê ïîäïèñü óçëà.</p>
<p><b>info_size</b> - êîëè÷åñòâî áàéò, êîòîðîå áóäåò âûäåëåíî äëÿ êàæäîãî óçëà. ×àñòü ýòîé ïàìÿòè ïîëüçîâàòåëü ìîæåò èñïîëüçîâàòü äëÿ ñâîèõ öåëåé (ðåãóëèðóåòñÿ ÷åðåç <i>info_capt_offs</i> è <i>info_capt_len</i> ñì. ðèñ. 2) à îñòàëüíàÿ ÷àñòü áóäåò èñïîëüçîâàíà êàê ïîäïèñü óçëà.</p>
<p><b>info_max_count</b> - ìàêñèìàëüíîå êîëè÷åñòâî óçëîâ, êîòîðûå ìîæíî äîáàâèòü â ýëåìåíò.</p>
<p><b>style</b> - ñòèëè ýëåìåíòà.</p>
<p><b>data_nodes</b> - óêàçàòåëü íà âíóòðåííèå ñòðóêòóðû óçëîâ (<i>TreeList</i>).</p>
241,6 → 249,9
<p><b>p_scrol</b> - óêàçàòåëü íà ñòðóêòóðó ñêðîëëèíãà, ñâÿçàííîãî ñ äàííûì ýëåìåíòîì.</p>
<p><b>on_press</b> - óêàçàòåëü íà ôóíêöèþ, êîòîðàÿ áóäåò âûçâàíà ïðè íàæèòèè [<b>Enter</b>]. Åñëè óêàçàòåëü ðàâåí 0 òî íè÷åãî íå áóäåò âûçûâàòñÿ.</p>
 
<p><img src="info_size.png"></p>
<p>Ðèñ. 2. Ïàðàìåòðû <i>info_size</i>, <i>info_capt_offs</i> è <i>info_capt_len</i> â óçëå</p>
 
<p>Ïðèìåð ñîçäàíèÿ ñòðóêòóðû:</p>
<pre>tree1 tree_list 24,500, tl_draw_par_line+tl_list_box_mode, 16,16,\
0x8080ff,0x0000ff,0xffffff, 10,35,200-16,285, 14,4,0,\
255,6 → 266,6
<p>Ñòèëü íå îòîáðàæàåò óðîâíè (êàê â ListBox âñå óçëû îäíîãî óðîâíÿ).</p>
 
<hr>
<p>Äîêóìåíòàöèÿ îáíîâëÿëàñü ïîñëåäíèé ðàç 5.12.09.</p>
<p>Äîêóìåíòàöèÿ îáíîâëÿëàñü ïîñëåäíèé ðàç 23.12.09.</p>
</body>
</html>