Subversion Repositories Kolibri OS

Rev

Rev 1303 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1303 Rev 1309
1
 
1
 
2
 
2
 
3
ýëåìåíò Tree List
3
ýëåìåíò Tree List
4
 
4
 
5
 
5
 
6
body
6
body
7
{
7
{
8
  font-size: 15px;
8
  font-size: 15px;
9
  font-family: "Bookman Old Style";
9
  font-family: "Bookman Old Style";
10
  color: black;
10
  color: black;
11
  text-align: justify;
11
  text-align: justify;
12
}
12
}
13
h1 { color: green; font-size: 23px; }
13
h1 { color: green; font-size: 23px; }
14
h2 { color: green; font-size: 21px; }
14
h2 { color: green; font-size: 21px; }
15
h3 { color: green; font-size: 19px; }
15
h3 { color: green; font-size: 19px; }
16
h4 { color: #803f00; font-size: 17px; }
16
h4 { color: #803f00; font-size: 17px; }
17
i { color: #0099cc; }
17
i { color: #0099cc; }
18
b { color: #0099cc; }
18
b { color: #0099cc; }
19
p {
19
p {
20
  text-indent: 1em;
20
  text-indent: 1em;
21
  margin-top: 3px;
21
  margin-top: 3px;
22
  margin-bottom: 2px;
22
  margin-bottom: 2px;
23
  margin-left: 0px;
23
  margin-left: 0px;
24
  margin-right: 0px;
24
  margin-right: 0px;
25
}
25
}
26
ol, ul, dl{
26
ol, ul, dl{
27
  margin-top: 3px;
27
  margin-top: 3px;
28
  margin-bottom: 2px;
28
  margin-bottom: 2px;
29
}
29
}
30
pre
30
pre
31
{
31
{
32
  padding: 2px;
32
  padding: 2px;
33
  padding-left: 20px;
33
  padding-left: 20px;
34
  margin-top: 5px;
34
  margin-top: 5px;
35
  margin-bottom: 5px;
35
  margin-bottom: 5px;
36
  margin-left: 0px;
36
  margin-left: 0px;
37
  margin-right: 0px;
37
  margin-right: 0px;
38
  font-family: "Courier New";
38
  font-family: "Courier New";
39
  font-size: 15px;
39
  font-size: 15px;
40
  color: #004000;
40
  color: #004000;
41
  background-color: #ffd0ff;
41
  background-color: #ffd0ff;
42
}
42
}
43
table { font-size: 15px; }
43
table { font-size: 15px; }
44
 
44
 
45
 
45
 
46
 
46
 
47

Îãëàâëåíèå

47

Îãëàâëåíèå

48

Ââåäåíèå

48

Ââåäåíèå

49

Ôóíêöèè

49

Ôóíêöèè

50
 
50
 
51
  • tl_data_init
  • 51
  • tl_data_init
  • 52
  • tl_data_clear
  • 52
  • tl_data_clear
  • 53
  • tl_info_clear
  • 53
  • tl_info_clear
  • 54
  • tl_key
  • 54
  • tl_key
  • 55
  • tl_mouse
  • 55
  • tl_mouse
  • 56
  • tl_draw
  • 56
  • tl_draw
  • 57
  • tl_info_undo
  • 57
  • tl_info_undo
  • 58
  • tl_info_redo
  • 58
  • tl_info_redo
  • 59
  • tl_node_add
  • 59
  • tl_node_add
  • 60
  • tl_node_set_data
  • 60
  • tl_node_set_data
  • 61
  • tl_node_get_data
  • 61
  • tl_node_get_data
  • 62
  • tl_node_delete
  • 62
  • tl_node_delete
  • 63
  • tl_cur_beg
  • 63
  • tl_cur_beg
  • 64
  • tl_cur_next
  • 64
  • tl_cur_next
  • 65
  • tl_cur_perv
  • 65
  • tl_cur_perv
  • 66
  • tl_node_close_open
  • 66
  • tl_node_close_open
  • 67
  • tl_node_lev_inc
  • 67
  • tl_node_lev_inc
  • 68
  • tl_node_lev_dec
  • 68
  • tl_node_lev_dec
  • 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
  • 74
  • tl_save_mem
  • 75
  • tl_load_mem
  • 75
  • tl_load_mem
  • 76
  • version_tree_list
  • 76
  • version_tree_list
  • 77
     
    77
     
    78

    Ñòðóêòóðà tree_list

    78

    Ñòðóêòóðà tree_list

    79

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

    79

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

    80
     
    80
     
    81

    Ââåäåíèå

    81

    Ââåäåíèå

    82

    Âíåøíèé âèä ýëåìåíòà óïðàâëåíèÿ TreeList:

    82

    Âíåøíèé âèä ýëåìåíòà óïðàâëåíèÿ TreeList:

    83
     
    83
     
    84
     
    84
     
    85

    Ôóíêöèè

    85

    Ôóíêöèè

    86
     
    86
     
    87

    tl_data_init

    87

    tl_data_init

    88

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

    88

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

    89

    tl_data_clear

    89

    tl_data_clear

    90

    Äåñòðóêòîð ýëåìåíòà, ÷èñòèò ïàìÿòü ïî óêàçàòåëÿì: data_info, data_nodes, data_img è data_img_sys. Åñëè â ïðîãðàììå èñïîëüçóåòñÿ íåñêîëüêî ýëåìåíòîâ ñ îäèíàêîâûìè èêîíêàìè, òî óêàçàòåëè data_img è data_img_sys íóæíî ïðèðàâíÿòü ê 0 â äðóãèõ ýëåìåíòàõ, òàê ÷òî-áû ïðè âûçîâå äåñòðóêòîðîâ íå áûëî ïîâòîðíîãî óäàëåíèÿ îäíèõ è òåõ æå èêîíîê.

    90

    Äåñòðóêòîð ýëåìåíòà, ÷èñòèò ïàìÿòü ïî óêàçàòåëÿì: data_info, data_nodes, data_img è data_img_sys. Åñëè â ïðîãðàììå èñïîëüçóåòñÿ íåñêîëüêî ýëåìåíòîâ ñ îäèíàêîâûìè èêîíêàìè, òî óêàçàòåëè data_img è data_img_sys íóæíî ïðèðàâíÿòü ê 0 â äðóãèõ ýëåìåíòàõ, òàê ÷òî-áû ïðè âûçîâå äåñòðóêòîðîâ íå áûëî ïîâòîðíîãî óäàëåíèÿ îäíèõ è òåõ æå èêîíîê.

    91
     
    91
     
    92

    tl_info_clear

    92

    tl_info_clear

    93

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

    93

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

    94
     
    94
     
    95

    tl_key

    95

    tl_key

    96

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

    96

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

    97
     Êíîïêè, êîòîðûå íå äîñòóïíû åñëè åñòü ñòèëü tl_key_no_edit: [Enter], [Delete], [], [].
    97
     Êíîïêè, êîòîðûå íå äîñòóïíû åñëè åñòü ñòèëü tl_key_no_edit: [Enter], [Delete], [], [].
    98
     Âñåãäà äîñòóïíû: [], [], [Page Up], [Page Dn], [Space].
    98
     Âñåãäà äîñòóïíû: [], [], [Page Up], [Page Dn], [Space].
    99
     Ôóíêöèÿ ïðîâåðÿåò âêëþ÷åí ëè ðåæèì scan êîäîâ, è â ñëó÷àå íåîáõîäèìîñòè ñàìà ïðåîáðàçóåò êîäû.

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

    100
     
    100
     
    101

    tl_mouse

    101

    tl_mouse

    102

    Ôóíêöèÿ äëÿ ñîáûòèé îò ìûøè.

    102

    Ôóíêöèÿ äëÿ ñîáûòèé îò ìûøè.

    103
     
    103
     
    104

    tl_draw

    104

    tl_draw

    105

    Ïîëíàÿ ïåðåðèñîâêà îêíà ýëåìåíòà.

    105

    Ïîëíàÿ ïåðåðèñîâêà îêíà ýëåìåíòà.

    106
     
    106
     
    107

    tl_info_undo

    107

    tl_info_undo

    108

    Îòìåíÿåò äîáàâëåíèå óçëîâ. Äåéñòâóåò òîëüêî íà âåñü óçåë öåëèêîì, íå ó÷èòûâàÿ èçìåíåíèÿ âíóòðè óçëîâ. Ò. å. íåëüçÿ îòìåíèòü äåéñòâèÿ âûïîëíåííûå íàïðèìåð ôóíêöèÿìè: tl_node_set_data, tl_node_lev_inc è èì ïîäîáíûì.

    108

    Îòìåíÿåò äîáàâëåíèå óçëîâ. Äåéñòâóåò òîëüêî íà âåñü óçåë öåëèêîì, íå ó÷èòûâàÿ èçìåíåíèÿ âíóòðè óçëîâ. Ò. å. íåëüçÿ îòìåíèòü äåéñòâèÿ âûïîëíåííûå íàïðèìåð ôóíêöèÿìè: tl_node_set_data, tl_node_lev_inc è èì ïîäîáíûì.

    109
     
    109
     
    110

    tl_info_redo

    110

    tl_info_redo

    111

    Ïîâòîð îòìåíåííûõ äåéñòâèé. Îáðàòíàÿ ôóíêöèÿ ïî îòíîøåíèþ ê tl_info_undo.

    111

    Ïîâòîð îòìåíåííûõ äåéñòâèé. Îáðàòíàÿ ôóíêöèÿ ïî îòíîøåíèþ ê tl_info_undo.

    112
     
    112
     
    113

    tl_node_add

    113

    tl_node_add

    114

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

    114

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

    115
      push dword tree1
    115
      push dword tree1
    116
      push dword 0x10002
    116
      push dword 0x10002
    117
      push dword data_buffer
    117
      push dword data_buffer
    118
      call dword[tl_node_add]
    118
      call dword[tl_node_add]
    119

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

    119

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

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

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

    121
     
    121
     
    122

    tl_node_set_data

    122

    tl_node_set_data

    123

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

    123

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

    124

    tl_node_get_data

    124

    tl_node_get_data

    125

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

    125

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

    126

    tl_node_delete

    126

    tl_node_delete

    127

    Óäàëÿåò óçåë, íî íå îêîí÷àòåëüíî, ïðè íåîáõîäèìîñòè óçåë ìîæíî âåðíóòü ôóíêöèåé tl_info_undo.

    127

    Óäàëÿåò óçåë, íî íå îêîí÷àòåëüíî, ïðè íåîáõîäèìîñòè óçåë ìîæíî âåðíóòü ôóíêöèåé tl_info_undo.

    128

    tl_cur_beg

    128

    tl_cur_beg

    129

    Ñòàâèò êóðñîð â íà÷àëî ñïèñêà, ïåðåìàòûâàåò ñêðîëëèíã åñëè íóæíî.

    129

    Ñòàâèò êóðñîð â íà÷àëî ñïèñêà, ïåðåìàòûâàåò ñêðîëëèíã åñëè íóæíî.

    130

    tl_cur_next

    130

    tl_cur_next

    131

    Ïåðåíîñèò êóðñîð íèæå.

    131

    Ïåðåíîñèò êóðñîð íèæå.

    132

    tl_cur_perv

    132

    tl_cur_perv

    133

    Ïåðåíîñèò êóðñîð âûøå.

    133

    Ïåðåíîñèò êóðñîð âûøå.

    134

    tl_node_close_open

    134

    tl_node_close_open

    135

    Îòêðûâàåò èëè çàêðûâàåò ðîäèòåëüñêèé óçåë. Åñëè ó óçëà íåò äî÷åðíèõ ýëåìåíòîâ,

    135

    Îòêðûâàåò èëè çàêðûâàåò ðîäèòåëüñêèé óçåë. Åñëè ó óçëà íåò äî÷åðíèõ ýëåìåíòîâ,

    136
     òî íè÷åãî íå äåëàåò. Àâòîìàòè÷åñêè ïåðåðèñîâûâàåò îêíî åñëè ñîñòîÿíèå óçëà èçìåíèëîñü.

    136
     òî íè÷åãî íå äåëàåò. Àâòîìàòè÷åñêè ïåðåðèñîâûâàåò îêíî åñëè ñîñòîÿíèå óçëà èçìåíèëîñü.

    137

    tl_node_lev_inc

    137

    tl_node_lev_inc

    138

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

    138

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

    139

    tl_node_lev_dec

    139

    tl_node_lev_dec

    140

    Óìåíüøàåò óðîâåíü óçëà ïîä êóðñîðîì. Äåëàåò óçåë ðîäèòåëüñêèì.

    140

    Óìåíüøàåò óðîâåíü óçëà ïîä êóðñîðîì. Äåëàåò óçåë ðîäèòåëüñêèì.

    141
     
    141
     
    142

    tl_node_move_up

    142

    tl_node_move_up

    143

    Ïåðåìåùàåò ââåðõ óçåë ïîä êóðñîðîì. Âìåñòå ñ óçëîì äâèãàåòñÿ òàêæå è êóðñîð. Ïðèìåð èñïîëüçîâàíèÿ ôóíêöèè:

    143

    Ïåðåìåùàåò ââåðõ óçåë ïîä êóðñîðîì. Âìåñòå ñ óçëîì äâèãàåòñÿ òàêæå è êóðñîð. Ïðèìåð èñïîëüçîâàíèÿ ôóíêöèè:

    144
      push dword tree1
    144
      push dword tree1
    145
      call dword[tl_node_move_up] ;ïåðåìåñòèòü óçåë
    145
      call dword[tl_node_move_up] ;ïåðåìåñòèòü óçåë
    146

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

    146

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

    147
     
    147
     
    148

    tl_node_move_down

    148

    tl_node_move_down

    149

    Ïåðåìåùàåò âíèç óçåë ïîä êóðñîðîì. Âìåñòå ñ óçëîì äâèãàåòñÿ òàêæå è êóðñîð. Ïðèìåð èñïîëüçîâàíèÿ ôóíêöèè:

    149

    Ïåðåìåùàåò âíèç óçåë ïîä êóðñîðîì. Âìåñòå ñ óçëîì äâèãàåòñÿ òàêæå è êóðñîð. Ïðèìåð èñïîëüçîâàíèÿ ôóíêöèè:

    150
      push dword tree1
    150
      push dword tree1
    151
      call dword[tl_node_move_down] ;ïåðåìåñòèòü óçåë
    151
      call dword[tl_node_move_down] ;ïåðåìåñòèòü óçåë
    152

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

    152

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

    153
     
    153
     
    154

    tl_node_poi_get_info

    154

    tl_node_poi_get_info

    155

    Áåðåò âíóòðåííèé óêàçàòåëü íà ñòðóêòóðó îïèñûâàþùóþ óçåë.

    155

    Áåðåò âíóòðåííèé óêàçàòåëü íà ñòðóêòóðó îïèñûâàþùóþ óçåë.

    156

    tl_node_poi_get_next_info

    156

    tl_node_poi_get_next_info

    157

    Áåðåò óêàçàòåëü íà ñëåäóþùèé ýëåìåíò â öåïè, áåç ó÷åòà îòêðûòèÿ/çàêðûòèÿ äî÷åðíèõ óçëîâ.

    157

    Áåðåò óêàçàòåëü íà ñëåäóþùèé ýëåìåíò â öåïè, áåç ó÷åòà îòêðûòèÿ/çàêðûòèÿ äî÷åðíèõ óçëîâ.

    158

    tl_node_poi_get_data

    158

    tl_node_poi_get_data

    159

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

    159

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

    160
     
    160
     
    161

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

    161

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

    162
     
    162
     
    163

    tl_save_mem

    163

    tl_save_mem

    164

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

    164

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

    165
      MEM_SIZE equ 5000
    165
      MEM_SIZE equ 5000
    166
      node_data rb MEM_SIZE
    166
      node_data rb MEM_SIZE
    167
    .........
    167
    .........
    168
      push dword tree1
    168
      push dword tree1
    169
      push dword 0
    169
      push dword 0
    170
      push dword node_data
    170
      push dword node_data
    171
      push dword MEM_SIZE
    171
      push dword MEM_SIZE
    172
      call dword[tl_save_mem]
    172
      call dword[tl_save_mem]
    173
      pop eax
    173
      pop eax
    174

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

    174

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

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

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

    179
     
    179
     
    180

    tl_load_mem

    180

    tl_load_mem

    181

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

    181

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

    182
      MEM_SIZE equ 5000
    182
      MEM_SIZE equ 5000
    183
      node_data rb MEM_SIZE
    183
      node_data rb MEM_SIZE
    184
    .........
    184
    .........
    185
      push dword tree1
    185
      push dword tree1
    186
      push dword 0
    186
      push dword 0
    187
      push dword node_data
    187
      push dword node_data
    188
      push dword MEM_SIZE
    188
      push dword MEM_SIZE
    189
      call dword[tl_load_mem]
    189
      call dword[tl_load_mem]
    190
      pop eax
    190
      pop eax
    191

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

    191

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

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

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

    196
     
    196
     
    197

    version_tree_list

    197

    version_tree_list

    198

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

    198

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

    199
     
    199
     
    200

    Ñòðóêòóðà tree_list

    200

    Ñòðóêòóðà tree_list

    201
    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,\
    202
        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,\
    203
        info_capt_len,el_focus, p_scrol,p_sb_draw,on_press {
    203
        info_capt_len,el_focus, p_scrol,on_press {
    204
      .data_info  dd 0
    204
      .data_info  dd 0
    205
      .info_size  dw info_size
    205
      .info_size  dw info_size
    206
      .info_max_count dd info_max_count
    206
      .info_max_count dd info_max_count
    207
      .style      dd style
    207
      .style      dd style
    208
      .data_nodes dd 0
    208
      .data_nodes dd 0
    209
      .data_img   dd 0
    209
      .data_img   dd 0
    210
      .img_cx     dw img_cx
    210
      .img_cx     dw img_cx
    211
      .img_cy     dw img_cy
    211
      .img_cy     dw img_cy
    212
      .data_img_sys dd 0
    212
      .data_img_sys dd 0
    213
      .ch_tim     dd 0
    213
      .ch_tim     dd 0
    214
      .ls_tim     dd 0
    214
      .ls_tim     dd 0
    215
      .tim_undo   dd 0
    215
      .tim_undo   dd 0
    216
      .cur_pos    dd 0
    216
      .cur_pos    dd 0
    217
      .col_bkg    dd col_bkg
    217
      .col_bkg    dd col_bkg
    218
      .col_zag    dd col_zag
    218
      .col_zag    dd col_zag
    219
      .col_txt    dd col_txt
    219
      .col_txt    dd col_txt
    220
      .box_left   dd box_l
    220
      .box_left   dd box_l
    221
      .box_top    dd box_t
    221
      .box_top    dd box_t
    222
      .box_width  dd box_w
    222
      .box_width  dd box_w
    223
      .box_height dd box_h
    223
      .box_height dd box_h
    224
      .capt_cy    dw capt_cy
    224
      .capt_cy    dw capt_cy
    225
      .info_capt_offs dw info_capt_offs
    225
      .info_capt_offs dw info_capt_offs
    226
      .info_capt_len  dw info_capt_len
    226
      .info_capt_len  dw info_capt_len
    227
      .el_focus    dd el_focus
    227
      .el_focus    dd el_focus
    228
      .p_scrol     dd p_scrol
    228
      .p_scrol     dd p_scrol
    229
      .p_sb_draw   dd p_sb_draw
    229
      rb 4
    230
      .on_activate dd 0
    230
      .on_activate dd 0
    231
      .on_press    dd on_press
    231
      .on_press    dd on_press
    232
    }
    232
    }
    233

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

    233

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

    234

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

    234

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

    235

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

    235

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

    236

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

    236

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

    237

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

    237

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

    238

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

    238

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

    239

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

    239

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

    240

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

    240

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

    241

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

    241

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

    242

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

    -
     
    243

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

    242

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

    244
     
    243
     
    245

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

    244

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

    246
    tree1 tree_list 24,500, tl_draw_par_line+tl_list_box_mode, 16,16,\
    245
    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,\
    246
        0x8080ff,0x0000ff,0xffffff, 10,35,200-16,285, 14,4,0,\
    248
        0,el_focus, wScr,scrollbar_ver_draw,fun_on_enter
    247
        el_focus, wScr,fun_on_enter
    249
     
    248
     
    250

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

    249

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

    251

    tl_key_no_edit

    250

    tl_key_no_edit

    252

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

    251

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

    253

    tl_draw_par_line

    252

    tl_draw_par_line

    254

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

    253

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

    255

    tl_list_box_mode

    254

    tl_list_box_mode

    256

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

    255

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

    257
     
    256
     
    258
     
    257
     
    259

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

    258

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

    260
     
    259
     
    261
     
    260