Subversion Repositories Kolibri OS

Rev

Rev 1285 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1285 Rev 1303
Line 69... Line 69...
69
  • tl_node_move_up
  • 69
  • tl_node_move_up
  • 70
  • tl_node_move_down
  • 70
  • tl_node_move_down
  • 71
  • tl_node_poi_get_info
  • 71
  • tl_node_poi_get_info
  • 72
  • tl_node_poi_get_next_info
  • 72
  • tl_node_poi_get_next_info
  • 73
  • tl_node_poi_get_data
  • 73
  • tl_node_poi_get_data
  • -
     
    74
  • tl_save_mem
  • -
     
    75
  • tl_load_mem
  • 74
  • version_tree_list
  • 76
  • version_tree_list
  • 75
     
    77
     
    76

    Ñòðóêòóðà tree_list

    78

    Ñòðóêòóðà tree_list

    77

    Ñòèëè ýëåìåíòà

    79

    Ñòèëè ýëåìåíòà

    Line 89... Line 91...
    89
     
    91
     
    90

    tl_info_clear

    92

    tl_info_clear

    Line 91... Line 93...
    91

    Î÷èñòêà ñïèñêà îò âñåõ óçëîâ. Ýòî äåéñòâèå íåëüçÿ îòìåíèòü ôóíêöèåé tl_info_undo.

    93

    Î÷èñòêà ñïèñêà îò âñåõ óçëîâ. Ýòî äåéñòâèå íåëüçÿ îòìåíèòü ôóíêöèåé tl_info_undo.

    92
     
    94
     
    -
     
    95

    tl_key

    -
     
    96

    Ôóíêöèÿ êîòîðóþ íóæíî âûçûâàòü ïðè íàæàòèè íà êëàâèàòóðó.

    -
     
    97
     Êíîïêè, êîòîðûå íå äîñòóïíû åñëè åñòü ñòèëü tl_key_no_edit: [Enter], [Delete], [], [].
    Line 93... Line 98...
    93

    tl_key

    98
     Âñåãäà äîñòóïíû: [], [], [Page Up], [Page Dn], [Space].
    94

    Ôóíêöèÿ êîòîðóþ íóæíî âûçûâàòü ïðè íàæàòèè íà êëàâèàòóðó.

    99
     Ôóíêöèÿ ïðîâåðÿåò âêëþ÷åí ëè ðåæèì scan êîäîâ, è â ñëó÷àå íåîáõîäèìîñòè ñàìà ïðåîáðàçóåò êîäû.

    Line 95... Line 100...
    95
     
    100
     
    Line 109... Line 114...
    109

    Äîáàâëÿåò óçåë, â ïîçèöèþ óêàçàííóþ êóðñîðîì. Ïðèìåð äîáàâëåíèÿ óçëà:

    114

    Äîáàâëÿåò óçåë, â ïîçèöèþ óêàçàííóþ êóðñîðîì. Ïðèìåð äîáàâëåíèÿ óçëà:

    110
      push dword tree1
    115
      push dword tree1
    111
      push dword 0x10002
    116
      push dword 0x10002
    112
      push dword data_buffer
    117
      push dword data_buffer
    113
      call dword[tl_node_add]
    118
      call dword[tl_node_add]
    -
     
    119

    ãäå: tree1 - ñòðóêòóðà tree_list;

    114

    ãäå: tree1 - ñòðóêòóðà tree_list; 0x10002 - ïàðàìåòðû óçëà (ñòàðøèå áàéòû 0x0001 - èíäåêñ èêîíêè, îòîáðàæàåìîé âîçëå óçëà; ìåíüøèé áàéò 0x02 - óðîâåíü âëîæåíîñòè óçëà); data_buffer - óêàçàòåëü íà äûííûå, äîáàâëÿåìûå â óçåë.

    120
     0x10002 - ïàðàìåòðû óçëà (ñòàðøèå áàéòû 0x0001 - èíäåêñ èêîíêè, îòîáðàæàåìîé âîçëå óçëà; ìåíüøèé áàéò 0x02 - óðîâåíü âëîæåíîñòè óçëà); data_buffer - óêàçàòåëü íà äûííûå, äîáàâëÿåìûå â óçåë.

    Line 115... Line 121...
    115
     
    121
     
    116

    tl_node_set_data

    122

    tl_node_set_data

    117

    Óñòàíàâëèâàåò íîâûå äàííûå (ïîëüçîâàòåëüñêèå è ïîäïèñü) â óçåë ïîä êóðñîðîì.

    123

    Óñòàíàâëèâàåò íîâûå äàííûå (ïîëüçîâàòåëüñêèå è ïîäïèñü) â óçåë ïîä êóðñîðîì.

    118

    tl_node_get_data

    124

    tl_node_get_data

    Line 152... Line 158...
    152

    tl_node_poi_get_data

    158

    tl_node_poi_get_data

    153

    Áåðåò óêàçàòåëü íà äàííûå (ïîëüçîâàòåëüñêèå è ïîäïèñü) èç óçëà óêàçàííîãî â óêàçàòåëå.

    159

    Áåðåò óêàçàòåëü íà äàííûå (ïîëüçîâàòåëüñêèå è ïîäïèñü) èç óçëà óêàçàííîãî â óêàçàòåëå.

    Line 154... Line 160...
    154
     
    160
     
    Line -... Line 161...
    -
     
    161

    Ôóíêöèÿìè tl_node_poi_get_info, tl_node_poi_get_next_info è tl_node_poi_get_data ìîæíî ñ÷èòûâàòü èíôîðìàöèþ î óçëàõ ýëåìåíòà, ïðè ýòîì íå ìåíÿÿ òåêóùåãî ïîëîæåíèÿ êóðñîðà. Ò. å. ìîæíî îðãàíèçîâàòü äîñòóï ê äàíûì ýëåìåíòà â "ôîíîâîì ðåæèìå".

    -
     
    162
     
    -
     
    163

    tl_save_mem

    -
     
    164

    Ñîõðàíÿåò èíôîðìàöèþ îá óçëàõ ýëåìåíòà â ïàìÿòü. Ïðèìåð èñïîëüçîâàíèÿ ôóíêöèè:

    -
     
    165
      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
    -
     
    174

    ãäå: tree1 - ñòðóêòóðà tree_list;

    -
     
    175
     0 - îïöèÿ ñîõðàíåíèÿ â íà÷àëî áëîêà ïàìÿòè (åñëè = 1, òî äîáàâëÿåò ýëåìåíò ïîñëå äðóãèõ ñîõðàíåííûõ ðàíåå);
    -
     
    176
     node_data - óêàçàòåëü íà áëîê ïàìÿòè;
    -
     
    177
     MEM_SIZE - ðàçìåð áëîêà ïàìÿòè äëÿ ñîõðàíåíèÿ.
    -
     
    178
     ðåãèñòð eax ïèøåòñÿ çíà÷åíèå 0 èëè çàïèñûâàþòñÿ êîäû îøèáîê ñîõðàíåíèÿ.

    -
     
    179
     
    -
     
    180

    tl_load_mem

    -
     
    181

    Çàãðóæàåò èíôîðìàöèþ îá óçëàõ ýëåìåíòà èç ïàìÿòè. Ïðèìåð èñïîëüçîâàíèÿ ôóíêöèè:

    -
     
    182
      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
    -
     
    191

    ãäå: tree1 - ñòðóêòóðà tree_list;

    -
     
    192
     0 - èíäåêñ ñ÷èòûâàåìîãî ýëåìåíòà;
    -
     
    193
     node_data - óêàçàòåëü íà áëîê ïàìÿòè;
    -
     
    194
     MEM_SIZE - ðàçìåð áëîêà ïàìÿòè äëÿ ñîõðàíåíèÿ.
    155

    Ôóíêöèÿìè tl_node_poi_get_info, tl_node_poi_get_next_info è tl_node_poi_get_data ìîæíî ñ÷èòûâàòü èíôîðìàöèþ î óçëàõ ýëåìåíòà, ïðè ýòîì íå ìåíÿÿ òåêóùåãî ïîëîæåíèÿ êóðñîðà. Ò. å. ìîæíî îðãàíèçîâàòü äîñòóï ê äàíûì ýëåìåíòà â "ôîíîâîì ðåæèìå".

    195
     ðåãèñòð eax ïèøåòñÿ çíà÷åíèå 0 èëè çàïèñûâàþòñÿ êîäû îøèáîê ñ÷èòûâàíèÿ.

    156
     
    196
     
    Line 157... Line 197...
    157

    version_tree_list

    197

    version_tree_list

    158

    Âåðñèÿ ýëåìåíòà

    198

    Âåðñèÿ ýëåìåíòà

    159
     
    199
     
    160

    Ñòðóêòóðà tree_list

    200

    Ñòðóêòóðà tree_list

    161
    struc tree_list info_size,info_max_count,style, img_cx,img_cy,\
    201
    struc tree_list info_size,info_max_count,style, img_cx,img_cy,\
    162
        col_bkg,col_zag,col_txt, box_l,box_t,box_w,box_h, capt_cy,info_capt_offs,\
    202
        col_bkg,col_zag,col_txt, box_l,box_t,box_w,box_h, capt_cy,info_capt_offs,\
    163
        el_focus, p_scrol,p_sb_draw,on_press {
    203
        info_capt_len,el_focus, p_scrol,p_sb_draw,on_press {
    164
      .data_info  dd 0
    204
      .data_info  dd 0
    165
      .info_size  dw info_size
    205
      .info_size  dw info_size
    Line 175... Line 215...
    175
      .tim_undo   dd 0
    215
      .tim_undo   dd 0
    176
      .cur_pos    dd 0
    216
      .cur_pos    dd 0
    177
      .col_bkg    dd col_bkg
    217
      .col_bkg    dd col_bkg
    178
      .col_zag    dd col_zag
    218
      .col_zag    dd col_zag
    179
      .col_txt    dd col_txt
    219
      .col_txt    dd col_txt
    180
      .box_lert   dd box_l
    220
      .box_left   dd box_l
    181
      .box_top    dd box_t
    221
      .box_top    dd box_t
    182
      .box_width  dd box_w
    222
      .box_width  dd box_w
    183
      .box_height dd box_h
    223
      .box_height dd box_h
    184
      .capt_cy    dw capt_cy
    224
      .capt_cy    dw capt_cy
    185
      .info_capt_offs dd info_capt_offs
    225
      .info_capt_offs dw info_capt_offs
    -
     
    226
      .info_capt_len  dw info_capt_len
    186
      .el_focus   dd el_focus
    227
      .el_focus    dd el_focus
    187
      .p_scrol    dd p_scrol
    228
      .p_scrol     dd p_scrol
    188
      .p_sb_draw  dd p_sb_draw
    229
      .p_sb_draw   dd p_sb_draw
    189
      .on_activate dd 0
    230
      .on_activate dd 0
    190
      .on_press    dd on_press
    231
      .on_press    dd on_press
    191
    }
    232
    }
    192

    info_size - êîëè÷åñòâî áàéò, êîòîðîå áóäåò âûäåëåíî äëÿ êàæäîãî óçëà. ×àñòü ýòîé ïàìÿòè ïîëüçîâàòåëü ìîæåò èñïîëüçîâàòü äëÿ ñâîèõ öåëåé (ðåãóëèðóåòñÿ ÷åðåç info_capt_offs) à îñòàëüíàÿ ÷àñòü áóäåò èñïîëüçîâàíà êàê ïîäïèñü óçëà.

    233

    info_size - êîëè÷åñòâî áàéò, êîòîðîå áóäåò âûäåëåíî äëÿ êàæäîãî óçëà. ×àñòü ýòîé ïàìÿòè ïîëüçîâàòåëü ìîæåò èñïîëüçîâàòü äëÿ ñâîèõ öåëåé (ðåãóëèðóåòñÿ ÷åðåç info_capt_offs è info_capt_len) à îñòàëüíàÿ ÷àñòü áóäåò èñïîëüçîâàíà êàê ïîäïèñü óçëà.

    193

    info_max_count - ìàêñèìàëüíîå êîëè÷åñòâî óçëîâ, êîòîðûå ìîæíî äîáàâèòü â ýëåìåíò.

    234

    info_max_count - ìàêñèìàëüíîå êîëè÷åñòâî óçëîâ, êîòîðûå ìîæíî äîáàâèòü â ýëåìåíò.

    194

    style - ñòèëè ýëåìåíòà.

    235

    style - ñòèëè ýëåìåíòà.

    195

    data_nodes - óêàçàòåëü íà âíóòðåííèå ñòðóêòóðû óçëîâ (TreeList).

    236

    data_nodes - óêàçàòåëü íà âíóòðåííèå ñòðóêòóðû óçëîâ (TreeList).

    196

    data_img - óêàçàòåëü íà èçîáðàæåíèÿ ñ èêîíêàìè óçëîâ.

    237

    data_img - óêàçàòåëü íà èçîáðàæåíèÿ ñ èêîíêàìè óçëîâ.

    197

    data_img_sys - óêàçàòåëü íà ñèñòåìíûå èçîáðàæåíèÿ (êóðñîð, ïëþñèêè, ëèíèè, ... âñå êðîìå èêîíîê óçëîâ).

    238

    data_img_sys - óêàçàòåëü íà ñèñòåìíûå èçîáðàæåíèÿ (êóðñîð, ïëþñèêè, ëèíèè, ... âñå êðîìå èêîíîê óçëîâ).

    198

    capt_cy - âûñîòà ñòðîêè äëÿ ïîäïèñè ââåðõó ýëåìåíòà, åñëè ìåíüøå 9 ïîäïèñü íå âûâîäèòñÿ.

    239

    capt_cy - âûñîòà ñòðîêè äëÿ ïîäïèñè ââåðõó ýëåìåíòà, åñëè ìåíüøå 9 ïîäïèñü íå âûâîäèòñÿ.

    -
     
    240

    info_capt_len - äëèííà òåêñòà äëÿ ïîäïèñè. Åñëè ðàâíî 0, òî äëèííà ñ÷èòàåòñÿ òàê: info_size - info_capt_offs.

    199

    p_scrol - óêàçàòåëü íà ñòðóêòóðó ñêðîëëèíãà, ñâÿçàííîãî ñ äàííûì ýëåìåíòîì.

    241

    p_scrol - óêàçàòåëü íà ñòðóêòóðó ñêðîëëèíãà, ñâÿçàííîãî ñ äàííûì ýëåìåíòîì.

    200

    p_sb_draw - óêàçàòåëü íà ôóíêöèþ ïåðåðèñîâêè âåðòèêàëüíîãî ñêðîëëèíãà (scrollbar_ver_draw).

    242

    p_sb_draw - óêàçàòåëü íà ôóíêöèþ ïåðåðèñîâêè âåðòèêàëüíîãî ñêðîëëèíãà (scrollbar_ver_draw).

    201

    on_press - óêàçàòåëü íà ôóíêöèþ, êîòîðàÿ áóäåò âûçâàíà ïðè íàæèòèè [Enter]. Åñëè óêàçàòåëü ðàâåí 0 òî íè÷åãî íå áóäåò âûçûâàòñÿ.

    243

    on_press - óêàçàòåëü íà ôóíêöèþ, êîòîðàÿ áóäåò âûçâàíà ïðè íàæèòèè [Enter]. Åñëè óêàçàòåëü ðàâåí 0 òî íè÷åãî íå áóäåò âûçûâàòñÿ.

    Line 202... Line 244...
    202
     
    244
     
    203

    Ïðèìåð ñîçäàíèÿ ñòðóêòóðû:

    245

    Ïðèìåð ñîçäàíèÿ ñòðóêòóðû:

    204
    tree1 tree_list 24,500, tl_draw_par_line+tl_list_box_mode, 16,16,\
    246
    tree1 tree_list 24,500, tl_draw_par_line+tl_list_box_mode, 16,16,\
    205
        0x8080ff,0x0000ff,0xffffff, 10,35,200-16,285, 14,4,\
    247
        0x8080ff,0x0000ff,0xffffff, 10,35,200-16,285, 14,4,\
    Line 206... Line 248...
    206
        el_focus, wScr,scrollbar_ver_draw,fun_on_enter
    248
        0,el_focus, wScr,scrollbar_ver_draw,fun_on_enter
    207
     
    249
     
    208

    Ñòèëè ýëåìåíòà

    250

    Ñòèëè ýëåìåíòà

    209

    tl_key_no_edit

    251

    tl_key_no_edit

    210

    Ýëåìåíò íåëüçÿ ðåäàêòèðîâàòü íà êëàâèàòóðå (èçìåíÿòü óðîâíè, óäàëÿòü). Ñòàâüòå ýòîò ñòèëü åñëè íóæíî ñîçäàòü ýëåìåíò òîëüêî äëÿ ïðîñìîòðà äàííûõ.

    252

    Ýëåìåíò íåëüçÿ ðåäàêòèðîâàòü íà êëàâèàòóðå (èçìåíÿòü óðîâíè, óäàëÿòü). Ñòàâüòå ýòîò ñòèëü åñëè íóæíî ñîçäàòü ýëåìåíò òîëüêî äëÿ ïðîñìîòðà äàííûõ.

    211

    tl_draw_par_line

    253

    tl_draw_par_line

    212

    Ðèñîâàòü ëèíèè ê ðîäèòåëüñêîìó óçëó.

    254

    Ðèñîâàòü ëèíèè ê ðîäèòåëüñêîìó óçëó.

    Line 213... Line 255...
    213

    tl_list_box_mode

    255

    tl_list_box_mode

    214

    Ñòèëü íå îòîáðàæàåò óðîâíè (êàê â ListBox âñå óçëû îäíîãî óðîâíÿ).

    256

    Ñòèëü íå îòîáðàæàåò óðîâíè (êàê â ListBox âñå óçëû îäíîãî óðîâíÿ).

    215
     
    257
     
    216
     
    258
     
    217

    Äîêóìåíòàöèÿ îáíîâëÿëàñü ïîñëåäíèé ðàç 25.11.09.

    259

    Äîêóìåíòàöèÿ îáíîâëÿëàñü ïîñëåäíèé ðàç 2.12.09.