Subversion Repositories Kolibri OS

Rev

Rev 1285 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. <html>
  2. <head>
  3. <title>¤ыхьхэЄ Tree List</title>
  4. <meta http-equiv="content-type" content="text/html; charset=WINDOWS-1251">
  5. <style>
  6. body
  7. {
  8.   font-size: 15px;
  9.   font-family: "Bookman Old Style";
  10.   color: black;
  11.   text-align: justify;
  12. }
  13. h1 { color: green; font-size: 23px; }
  14. h2 { color: green; font-size: 21px; }
  15. h3 { color: green; font-size: 19px; }
  16. h4 { color: #803f00; font-size: 17px; }
  17. i { color: #0099cc; }
  18. b { color: #0099cc; }
  19. p {
  20.   text-indent: 1em;
  21.   margin-top: 3px;
  22.   margin-bottom: 2px;
  23.   margin-left: 0px;
  24.   margin-right: 0px;
  25. }
  26. ol, ul, dl{
  27.   margin-top: 3px;
  28.   margin-bottom: 2px;
  29. }
  30. pre
  31. {
  32.   padding: 2px;
  33.   padding-left: 20px;
  34.   margin-top: 5px;
  35.   margin-bottom: 5px;
  36.   margin-left: 0px;
  37.   margin-right: 0px;
  38.   font-family: "Courier New";
  39.   font-size: 15px;
  40.   color: #004000;
  41.   background-color: #ffd0ff;
  42. }
  43. table { font-size: 15px; }
  44. </style>
  45. </head>
  46. <body>
  47. <h1>╬уыртыхэшх</h1>
  48. <p><a href="#vveden">┬тхфхэшх</a></p>
  49. <p><a href="#funct">╘єэъЎшш</a></p>
  50. <ul>
  51. <li><a href="#fun_init">tl_data_init</a></li>
  52. <li><a href="#fun_clear1">tl_data_clear</a></li>
  53. <li><a href="#fun_clear2">tl_info_clear</a></li>
  54. <li><a href="#fun_key">tl_key</a></li>
  55. <li><a href="#fun_mouse">tl_mouse</a></li>
  56. <li><a href="#fun_draw">tl_draw</a></li>
  57. <li><a href="#fun_undo">tl_info_undo</a></li>
  58. <li><a href="#fun_redo">tl_info_redo</a></li>
  59. <li><a href="#fun_add">tl_node_add</a></li>
  60. <li>tl_node_set_data</li>
  61. <li>tl_node_get_data</li>
  62. <li>tl_node_delete</li>
  63. <li>tl_cur_beg</li>
  64. <li>tl_cur_next</li>
  65. <li>tl_cur_perv</li>
  66. <li>tl_node_close_open</li>
  67. <li>tl_node_lev_inc</li>
  68. <li>tl_node_lev_dec</li>
  69. <li>tl_node_move_up</li>
  70. <li>tl_node_move_down</li>
  71. <li>tl_node_poi_get_info</li>
  72. <li>tl_node_poi_get_next_info</li>
  73. <li>tl_node_poi_get_data</li>
  74. <li><a href="#fun_sme">tl_save_mem</a></li>
  75. <li><a href="#fun_lme">tl_load_mem</a></li>
  76. <li>version_tree_list</li>
  77. </ul>
  78. <p><a href="#struc_tree_list">╤ЄЁєъЄєЁр tree_list</a></p>
  79. <p><a href="#tree_list_styles">╤Єшыш ¤ыхьхэЄр</a></p>
  80.  
  81. <h1><a name="vveden">┬тхфхэшх</a></h1>
  82. <p>┬эх°эшщ тшф ¤ыхьхэЄр єяЁртыхэш  TreeList:</p>
  83. <p><img src="window_tree_list.png"></p>
  84.  
  85. <h1><a name="funct">╘єэъЎшш</a></h1>
  86.  
  87. <h2><a name="fun_init">tl_data_init</a></h2>
  88. <p>╩юэёЄЁєъЄюЁ ¤ыхьхэЄр, эєцэю т√ч√трЄ№ яхЁхф шёяюы№чютрэшхь ¤ыхьхэЄр фы  т√фхыхэш  ярь Єш ш фЁєушї эрёЄЁюхъ.</p>
  89. <h2><a name="fun_clear1">tl_data_clear</a></h2>
  90. <p>─хёЄЁєъЄюЁ ¤ыхьхэЄр, ўшёЄшЄ ярь Є№ яю єърчрЄхы ь: <b>data_info</b>, <b>data_nodes</b>, <b>data_img</b> ш <b>data_img_sys</b>. ┼ёыш т яЁюуЁрььх шёяюы№чєхЄё  <i>эхёъюы№ъю ¤ыхьхэЄют ё юфшэръют√ьш шъюэърьш</i>, Єю єърчрЄхыш data_img ш data_img_sys эєцэю яЁшЁртэ Є№ ъ 0 т фЁєушї ¤ыхьхэЄрї, Єръ ўЄю-с√ яЁш т√чютх фхёЄЁєъЄюЁют эх с√ыю яютЄюЁэюую єфрыхэш  юфэшї ш Єхї цх шъюэюъ.</p>
  91.  
  92. <h2><a name="fun_clear2">tl_info_clear</a></h2>
  93. <p>╬ўшёЄър ёяшёър юЄ тёхї єчыют. ▌Єю фхщёЄтшх эхы№ч  юЄьхэшЄ№ ЇєэъЎшхщ <b>tl_info_undo</b>.</p>
  94.  
  95. <h2><a name="fun_key">tl_key</a></h2>
  96. <p>╘єэъЎш  ъюЄюЁє■ эєцэю т√ч√трЄ№ яЁш эрцрЄшш эр ъыртшрЄєЁє.
  97.  ╩эюяъш, ъюЄюЁ√х эх фюёЄєяэ√ хёыш хёЄ№ ёЄшы№ <i>tl_key_no_edit</i>: [<b>Enter</b>], [<b>Delete</b>], [<b>&larr;</b>], [<b>&rarr;</b>].
  98.  ┬ёхуфр фюёЄєяэ√: [<b>&uarr;</b>], [<b>&darr;</b>], [<b>Page Up</b>], [<b>Page Dn</b>], [<b>Space</b>].
  99.  ╘єэъЎш  яЁютхЁ хЄ тъы■ўхэ ыш Ёхцшь scan ъюфют, ш т ёыєўрх эхюсїюфшьюёЄш ёрьр яЁхюсЁрчєхЄ ъюф√.</p>
  100.  
  101. <h2><a name="fun_mouse">tl_mouse</a></h2>
  102. <p>╘єэъЎш  фы  ёюс√Єшщ юЄ ь√°ш.</p>
  103.  
  104. <h2><a name="fun_draw">tl_draw</a></h2>
  105. <p>╧юыэр  яхЁхЁшёютър юъэр ¤ыхьхэЄр.</p>
  106.  
  107. <h2><a name="fun_undo">tl_info_undo</a></h2>
  108. <p>╬Єьхэ хЄ фюсртыхэшх єчыют. ─хщёЄтєхЄ Єюы№ъю эр тхё№ єчхы Ўхышъюь, эх єўшЄ√тр  шчьхэхэш  тэєЄЁш єчыют. ╥. х. эхы№ч  юЄьхэшЄ№ фхщёЄтш  т√яюыэхээ√х эряЁшьхЁ ЇєэъЎш ьш: <b>tl_node_set_data</b>, <b>tl_node_lev_inc</b> ш шь яюфюсэ√ь.</p>
  109.  
  110. <h2><a name="fun_redo">tl_info_redo</a></h2>
  111. <p>╧ютЄюЁ юЄьхэхээ√ї фхщёЄтшщ. ╬сЁрЄэр  ЇєэъЎш  яю юЄэю°хэш■ ъ <b>tl_info_undo</b>.</p>
  112.  
  113. <h2><a name="fun_add">tl_node_add</a></h2>
  114. <p>─юсрты хЄ єчхы, т яючшЎш■ єърчрээє■ ъєЁёюЁюь. ╧ЁшьхЁ фюсртыхэш  єчыр:</p>
  115. <pre>  push dword tree1
  116.   push dword 0x10002
  117.   push dword data_buffer
  118.   call dword[tl_node_add]</pre>
  119. <p>уфх: <b>tree1</b> - ёЄЁєъЄєЁр tree_list;
  120.  <b>0x10002</b> - ярЁрьхЄЁ√ єчыр (ёЄрЁ°шх срщЄ√ 0x0001 - шэфхъё шъюэъш, юЄюсЁрцрхьющ тючых єчыр; ьхэ№°шщ срщЄ 0x02 - єЁютхэ№ тыюцхэюёЄш єчыр); <b>data_buffer</b> - єърчрЄхы№ эр ф√ээ√х, фюсрты хь√х т єчхы.</p>
  121.  
  122. <h2>tl_node_set_data</h2>
  123. <p>╙ёЄрэртыштрхЄ эют√х фрээ√х (яюы№чютрЄхы№ёъшх ш яюфяшё№) т єчхы яюф ъєЁёюЁюь.</p>
  124. <h2>tl_node_get_data</h2>
  125. <p>┴хЁхЄ єърчрЄхы№ эр фрээ√х (яюы№чютрЄхы№ёъшх ш яюфяшё№) шч єчыр яюф ъєЁёюЁюь.</p>
  126. <h2>tl_node_delete</h2>
  127. <p>╙фры хЄ єчхы, эю эх юъюэўрЄхы№эю, яЁш эхюсїюфшьюёЄш єчхы ьюцэю тхЁэєЄ№ ЇєэъЎшхщ <b>tl_info_undo</b>.</p>
  128. <h2>tl_cur_beg</h2>
  129. <p>╤ЄртшЄ ъєЁёюЁ т эрўрыю ёяшёър, яхЁхьрЄ√трхЄ ёъЁюыышэу хёыш эєцэю.</p>
  130. <h2>tl_cur_next</h2>
  131. <p>╧хЁхэюёшЄ ъєЁёюЁ эшцх.</p>
  132. <h2>tl_cur_perv</h2>
  133. <p>╧хЁхэюёшЄ ъєЁёюЁ т√°х.</p>
  134. <h2>tl_node_close_open</h2>
  135. <p>╬ЄъЁ√трхЄ шыш чръЁ√трхЄ ЁюфшЄхы№ёъшщ єчхы. ┼ёыш є єчыр эхЄ фюўхЁэшї ¤ыхьхэЄют,
  136.  Єю эшўхую эх фхырхЄ. └тЄюьрЄшўхёъш яхЁхЁшёют√трхЄ юъэю хёыш ёюёЄю эшх єчыр шчьхэшыюё№.</p>
  137. <h2>tl_node_lev_inc</h2>
  138. <p>─юсртшЄ№ єЁютхэ№ єчыр яюф ъєЁёюЁюь. ─хырхЄ єчхы фюўхЁэшь.</p>
  139. <h2>tl_node_lev_dec</h2>
  140. <p>╙ьхэ№°рхЄ єЁютхэ№ єчыр яюф ъєЁёюЁюь. ─хырхЄ єчхы ЁюфшЄхы№ёъшь.</p>
  141.  
  142. <h2>tl_node_move_up</h2>
  143. <p>╧хЁхьх∙рхЄ ттхЁї єчхы яюф ъєЁёюЁюь. ┬ьхёЄх ё єчыюь фтшурхЄё  Єръцх ш ъєЁёюЁ. ╧ЁшьхЁ шёяюы№чютрэш  ЇєэъЎшш:</p>
  144. <pre>  push dword tree1
  145.   call dword[tl_node_move_up] ;яхЁхьхёЄшЄ№ єчхы</pre>
  146. <p>уфх: <b>tree1</b> - ёЄЁєъЄєЁр tree_list</p>
  147.  
  148. <h2>tl_node_move_down</h2>
  149. <p>╧хЁхьх∙рхЄ тэшч єчхы яюф ъєЁёюЁюь. ┬ьхёЄх ё єчыюь фтшурхЄё  Єръцх ш ъєЁёюЁ. ╧ЁшьхЁ шёяюы№чютрэш  ЇєэъЎшш:</p>
  150. <pre>  push dword tree1
  151.   call dword[tl_node_move_down] ;яхЁхьхёЄшЄ№ єчхы</pre>
  152. <p>уфх: <b>tree1</b> - ёЄЁєъЄєЁр tree_list</p>
  153.  
  154. <h2>tl_node_poi_get_info</h2>
  155. <p>┴хЁхЄ тэєЄЁхээшщ єърчрЄхы№ эр ёЄЁєъЄєЁє юяшё√тр■∙є■ єчхы.</p>
  156. <h2>tl_node_poi_get_next_info</h2>
  157. <p>┴хЁхЄ єърчрЄхы№ эр ёыхфє■∙шщ ¤ыхьхэЄ т Ўхяш, схч єўхЄр юЄъЁ√Єш /чръЁ√Єш  фюўхЁэшї єчыют.</p>
  158. <h2>tl_node_poi_get_data</h2>
  159. <p>┴хЁхЄ єърчрЄхы№ эр фрээ√х (яюы№чютрЄхы№ёъшх ш яюфяшё№) шч єчыр єърчрээюую т єърчрЄхых.</p>
  160.  
  161. <p>╘єэъЎш ьш tl_node_poi_get_info, tl_node_poi_get_next_info ш tl_node_poi_get_data ьюцэю ёўшЄ√трЄ№ шэЇюЁьрЎш■ ю єчырї ¤ыхьхэЄр, яЁш ¤Єюь эх ьхэ   Єхъє∙хую яюыюцхэш  ъєЁёюЁр. ╥. х. ьюцэю юЁурэшчютрЄ№ фюёЄєя ъ фрэ√ь ¤ыхьхэЄр т &quot;Їюэютюь Ёхцшьх&quot;.</p>
  162.  
  163. <h2><a name="fun_sme">tl_save_mem</a></h2>
  164. <p>╤юїЁрэ хЄ шэЇюЁьрЎш■ юс єчырї ¤ыхьхэЄр т ярь Є№. ╧ЁшьхЁ шёяюы№чютрэш  ЇєэъЎшш:</p>
  165. <pre>  MEM_SIZE equ 5000
  166.   node_data rb MEM_SIZE
  167. .........
  168.   push dword tree1
  169.   push dword 0
  170.   push dword node_data
  171.   push dword MEM_SIZE
  172.   call dword[tl_save_mem]
  173.   pop eax</pre>
  174. <p>уфх: <b>tree1</b> - ёЄЁєъЄєЁр tree_list;
  175.  <b>0</b> - юяЎш  ёюїЁрэхэш  т эрўрыю сыюър ярь Єш (хёыш = 1, Єю фюсрты хЄ ¤ыхьхэЄ яюёых фЁєушї ёюїЁрэхээ√ї Ёрэхх);
  176.  <b>node_data</b> - єърчрЄхы№ эр сыюъ ярь Єш;
  177.  <b>MEM_SIZE</b> - ЁрчьхЁ сыюър ярь Єш фы  ёюїЁрэхэш .
  178. ┬ ЁхушёЄЁ <b>eax</b> яш°хЄё  чэрўхэшх 0 шыш чряшё√тр■Єё  ъюф√ ю°шсюъ ёюїЁрэхэш .</p>
  179.  
  180. <h2><a name="fun_lme">tl_load_mem</a></h2>
  181. <p>╟руЁєцрхЄ шэЇюЁьрЎш■ юс єчырї ¤ыхьхэЄр шч ярь Єш. ╧ЁшьхЁ шёяюы№чютрэш  ЇєэъЎшш:</p>
  182. <pre>  MEM_SIZE equ 5000
  183.   node_data rb MEM_SIZE
  184. .........
  185.   push dword tree1
  186.   push dword 0
  187.   push dword node_data
  188.   push dword MEM_SIZE
  189.   call dword[tl_load_mem]
  190.   pop eax</pre>
  191. <p>уфх: <b>tree1</b> - ёЄЁєъЄєЁр tree_list;
  192.  <b>0</b> - шэфхъё ёўшЄ√трхьюую ¤ыхьхэЄр;
  193.  <b>node_data</b> - єърчрЄхы№ эр сыюъ ярь Єш;
  194.  <b>MEM_SIZE</b> - ЁрчьхЁ сыюър ярь Єш фы  ёюїЁрэхэш .
  195. ┬ ЁхушёЄЁ <b>eax</b> яш°хЄё  чэрўхэшх 0 шыш чряшё√тр■Єё  ъюф√ ю°шсюъ ёўшЄ√трэш .</p>
  196.  
  197. <h2>version_tree_list</h2>
  198. <p>┬хЁёш  ¤ыхьхэЄр</p>
  199.  
  200. <h1><a name="struc_tree_list">╤ЄЁєъЄєЁр tree_list</a></h1>
  201. <pre>struc tree_list info_size,info_max_count,style, img_cx,img_cy,\
  202.     col_bkg,col_zag,col_txt, box_l,box_t,box_w,box_h, capt_cy,info_capt_offs,\
  203.     info_capt_len,el_focus, p_scrol,p_sb_draw,on_press {
  204.   .data_info  dd 0
  205.   .info_size  dw info_size
  206.   .info_max_count dd info_max_count
  207.   .style      dd style
  208.   .data_nodes dd 0
  209.   .data_img   dd 0
  210.   .img_cx     dw img_cx
  211.   .img_cy     dw img_cy
  212.   .data_img_sys dd 0
  213.   .ch_tim     dd 0
  214.   .ls_tim     dd 0
  215.   .tim_undo   dd 0
  216.   .cur_pos    dd 0
  217.   .col_bkg    dd col_bkg
  218.   .col_zag    dd col_zag
  219.   .col_txt    dd col_txt
  220.   .box_left   dd box_l
  221.   .box_top    dd box_t
  222.   .box_width  dd box_w
  223.   .box_height dd box_h
  224.   .capt_cy    dw capt_cy
  225.   .info_capt_offs dw info_capt_offs
  226.   .info_capt_len  dw info_capt_len
  227.   .el_focus    dd el_focus
  228.   .p_scrol     dd p_scrol
  229.   .p_sb_draw   dd p_sb_draw
  230.   .on_activate dd 0
  231.   .on_press    dd on_press
  232. }</pre>
  233. <p><b>info_size</b> - ъюышўхёЄтю срщЄ, ъюЄюЁюх сєфхЄ т√фхыхэю фы  ърцфюую єчыр. ╫рёЄ№ ¤Єющ ярь Єш яюы№чютрЄхы№ ьюцхЄ шёяюы№чютрЄ№ фы  ётюшї Ўхыхщ (ЁхуєышЁєхЄё  ўхЁхч <i>info_capt_offs</i> ш <i>info_capt_len</i>) р юёЄры№эр  ўрёЄ№ сєфхЄ шёяюы№чютрэр ъръ яюфяшё№ єчыр.</p>
  234. <p><b>info_max_count</b> - ьръёшьры№эюх ъюышўхёЄтю єчыют, ъюЄюЁ√х ьюцэю фюсртшЄ№ т ¤ыхьхэЄ.</p>
  235. <p><b>style</b> - ёЄшыш ¤ыхьхэЄр.</p>
  236. <p><b>data_nodes</b> - єърчрЄхы№ эр тэєЄЁхээшх ёЄЁєъЄєЁ√ єчыют (<i>TreeList</i>).</p>
  237. <p><b>data_img</b> - єърчрЄхы№ эр шчюсЁрцхэш  ё шъюэърьш єчыют.</p>
  238. <p><b>data_img_sys</b> - єърчрЄхы№ эр ёшёЄхьэ√х шчюсЁрцхэш  (ъєЁёюЁ, яы■ёшъш, ышэшш, ... тёх ъЁюьх шъюэюъ єчыют).</p>
  239. <p><b>capt_cy</b> - т√ёюЄр ёЄЁюъш фы  яюфяшёш ттхЁїє ¤ыхьхэЄр, хёыш ьхэ№°х 9 яюфяшё№ эх т√тюфшЄё .</p>
  240. <p><b>info_capt_len</b> - фышээр ЄхъёЄр фы  яюфяшёш. ┼ёыш Ёртэю 0, Єю фышээр ёўшЄрхЄё  Єръ: <i>info_size - info_capt_offs</i>.</p>
  241. <p><b>p_scrol</b> - єърчрЄхы№ эр ёЄЁєъЄєЁє ёъЁюыышэур, ёт чрээюую ё фрээ√ь ¤ыхьхэЄюь.</p>
  242. <p><b>p_sb_draw</b> - єърчрЄхы№ эр ЇєэъЎш■ яхЁхЁшёютъш тхЁЄшъры№эюую ёъЁюыышэур (<i>scrollbar_ver_draw</i>).</p>
  243. <p><b>on_press</b> - єърчрЄхы№ эр ЇєэъЎш■, ъюЄюЁр  сєфхЄ т√чтрэр яЁш эрцшЄшш [<b>Enter</b>]. ┼ёыш єърчрЄхы№ Ёртхэ 0 Єю эшўхую эх сєфхЄ т√ч√трЄё .</p>
  244.  
  245. <p>╧ЁшьхЁ ёючфрэш  ёЄЁєъЄєЁ√:</p>
  246. <pre>tree1 tree_list 24,500, tl_draw_par_line+tl_list_box_mode, 16,16,\
  247.     0x8080ff,0x0000ff,0xffffff, 10,35,200-16,285, 14,4,\
  248.     0,el_focus, wScr,scrollbar_ver_draw,fun_on_enter</pre>
  249.  
  250. <h1><a name="tree_list_styles">╤Єшыш ¤ыхьхэЄр</a></h1>
  251. <h2>tl_key_no_edit</h2>
  252. <p>▌ыхьхэЄ эхы№ч  ЁхфръЄшЁютрЄ№ эр ъыртшрЄєЁх (шчьхэ Є№ єЁютэш, єфры Є№). ╤Єрт№Єх ¤ЄюЄ ёЄшы№ хёыш эєцэю ёючфрЄ№ ¤ыхьхэЄ Єюы№ъю фы  яЁюёьюЄЁр фрээ√ї.</p>
  253. <h2>tl_draw_par_line</h2>
  254. <p>╨шёютрЄ№ ышэшш ъ ЁюфшЄхы№ёъюьє єчыє.</p>
  255. <h2>tl_list_box_mode</h2>
  256. <p>╤Єшы№ эх юЄюсЁрцрхЄ єЁютэш (ъръ т ListBox тёх єчы√ юфэюую єЁютэ ).</p>
  257.  
  258. <hr>
  259. <p>─юъєьхэЄрЎш  юсэюты ырё№ яюёыхфэшщ Ёрч 2.12.09.</p>
  260. </body>
  261. </html>