Subversion Repositories Kolibri OS

Rev

Rev 1309 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1309 Rev 1328
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
  • tl_get_mem_size
  • 76
  • version_tree_list
  • 77
  • version_tree_list
  • 77
     
    78
     
    78

    Ñòðóêòóðà tree_list

    79

    Ñòðóêòóðà tree_list

    79

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

    80

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

    80
     
    81
     
    81

    Ââåäåíèå

    82

    Ââåäåíèå

    82

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

    83

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

    83
     
    84
     
    -
     
    85

    Ðèñ. 1. Îêíî ïðîãðàììû ñ ýëåìåíòîì TreeList

    84
     
    86
     
    85

    Ôóíêöèè

    87

    Ôóíêöèè

    86
     
    88
     
    87

    tl_data_init

    89

    tl_data_init

    88

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

    90

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

    89

    tl_data_clear

    91

    tl_data_clear

    90

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

    92

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

    91
     
    93
     
    92

    tl_info_clear

    94

    tl_info_clear

    93

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

    95

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

    94
     
    96
     
    95

    tl_key

    97

    tl_key

    96

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

    98

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

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

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

    100
     
    102
     
    101

    tl_mouse

    103

    tl_mouse

    102

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

    104

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

    103
     
    105
     
    104

    tl_draw

    106

    tl_draw

    105

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

    107

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

    106
     
    108
     
    107

    tl_info_undo

    109

    tl_info_undo

    108

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

    110

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

    109
     
    111
     
    110

    tl_info_redo

    112

    tl_info_redo

    111

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

    113

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

    112
     
    114
     
    113

    tl_node_add

    115

    tl_node_add

    114

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

    116

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

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

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

    121

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

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

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

    121
     
    123
     
    122

    tl_node_set_data

    124

    tl_node_set_data

    -
     
    125

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

    123

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

    126
     
    124

    tl_node_get_data

    127

    tl_node_get_data

    -
     
    128

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

    125

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

    129
     
    126

    tl_node_delete

    130

    tl_node_delete

    -
     
    131

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

    127

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

    132
     
    128

    tl_cur_beg

    133

    tl_cur_beg

    129

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

    134

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

    130

    tl_cur_next

    135

    tl_cur_next

    131

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

    136

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

    132

    tl_cur_perv

    137

    tl_cur_perv

    133

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

    138

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

    134

    tl_node_close_open

    139

    tl_node_close_open

    135

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

    140

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

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

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

    137

    tl_node_lev_inc

    142

    tl_node_lev_inc

    138

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

    143

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

    139

    tl_node_lev_dec

    144

    tl_node_lev_dec

    140

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

    145

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

    141
     
    146
     
    142

    tl_node_move_up

    147

    tl_node_move_up

    143

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

    148

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

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

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

    151

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

    147
     
    152
     
    148

    tl_node_move_down

    153

    tl_node_move_down

    149

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

    154

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

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

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

    157

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

    153
     
    158
     
    154

    tl_node_poi_get_info

    159

    tl_node_poi_get_info

    155

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

    160

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

    156

    tl_node_poi_get_next_info

    161

    tl_node_poi_get_next_info

    157

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

    162

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

    158

    tl_node_poi_get_data

    163

    tl_node_poi_get_data

    159

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

    164

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

    160
     
    165
     
    161

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

    166

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

    162
     
    167
     
    163

    tl_save_mem

    168

    tl_save_mem

    164

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

    169

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

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

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

    179

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

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

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

    179
     
    184
     
    180

    tl_load_mem

    185

    tl_load_mem

    181

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

    186

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

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

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

    196

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

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

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

    -
     
    201
     
    -
     
    202

    tl_get_mem_size

    -
     
    203

    Âû÷èñëÿåò ðàçìåð áëîêà ïàìÿòè (â êîòîðûé áûëè ðàíüøå ñîõðàíåíû ýëåìåíòû).

    196
     
    204
     
    197

    version_tree_list

    205

    version_tree_list

    198

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

    206

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

    199
     
    207
     
    200

    Ñòðóêòóðà tree_list

    208

    Ñòðóêòóðà tree_list

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

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

    241

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

    234

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

    242

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

    235

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

    243

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

    236

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

    244

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

    237

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

    245

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

    238

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

    246

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

    239

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

    247

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

    240

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

    248

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

    241

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

    249

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

    242

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

    250

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

    -
     
    251
     
    -
     
    252
     
    -
     
    253

    Ðèñ. 2. Ïàðàìåòðû info_size, info_capt_offs è info_capt_len â óçëå

    243
     
    254
     
    244

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

    255

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

    245
    tree1 tree_list 24,500, tl_draw_par_line+tl_list_box_mode, 16,16,\
    256
    tree1 tree_list 24,500, tl_draw_par_line+tl_list_box_mode, 16,16,\
    246
        0x8080ff,0x0000ff,0xffffff, 10,35,200-16,285, 14,4,0,\
    257
        0x8080ff,0x0000ff,0xffffff, 10,35,200-16,285, 14,4,0,\
    247
        el_focus, wScr,fun_on_enter
    258
        el_focus, wScr,fun_on_enter
    248
     
    259
     
    249

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

    260

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

    250

    tl_key_no_edit

    261

    tl_key_no_edit

    251

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

    262

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

    252

    tl_draw_par_line

    263

    tl_draw_par_line

    253

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

    264

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

    254

    tl_list_box_mode

    265

    tl_list_box_mode

    255

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

    266

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

    256
     
    267
     
    257
     
    268
     
    258

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

    269

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

    259
     
    270
     
    260
     
    271