Rev 2847 | Rev 3244 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1338 | IgorA | 1 | fn_col_option dd def_col_file |
2 | fn_syntax_dir db 'info/',0 |
||
3 | def_col_file db 'default.syn',0 |
||
4 | |||
2817 | IgorA | 5 | ;значения задаваемые по умолчанию, без ini файла |
6 | ini_def_window_t equ 10 |
||
7 | ini_def_window_l equ 10 |
||
8 | ini_def_window_w equ 485 |
||
9 | ini_def_window_h equ 320 |
||
10 | ini_def_symbol_w equ 7 |
||
11 | ini_def_symbol_h equ 10 |
||
12 | ini_def_scroll_type equ 0 |
||
13 | ;описание параматров для ini файла |
||
14 | ini_name db 't_edit.ini',0 |
||
15 | ini_sec_window db 'Window',0 |
||
16 | key_window_t db 't',0 |
||
17 | key_window_l db 'l',0 |
||
18 | key_window_w db 'w',0 |
||
19 | key_window_h db 'h',0 |
||
20 | key_symbol_w db 'symbol_w',0 |
||
21 | key_symbol_h db 'symbol_h',0 |
||
22 | key_scroll_type db 'scroll_type',0 |
||
23 | ini_sec_options db 'Options',0 |
||
2855 | IgorA | 24 | key_synt_file: |
25 | db 'syntax_' |
||
26 | .numb: db '0',0 |
||
27 | key_synt_ext: |
||
28 | db 'ext_' |
||
29 | .numb: db '0',0 |
||
30 | ini_def_synt_f db 0 |
||
2817 | IgorA | 31 | |
32 | align 4 |
||
2855 | IgorA | 33 | max_synt_auto_open equ 10 |
34 | synt_auto_open: |
||
35 | rb 64*max_synt_auto_open |
||
36 | db 0 |
||
2817 | IgorA | 37 | |
2632 | IgorA | 38 | system_dir_0 db '/sys/lib/' |
39 | lib_name_0 db 'box_lib.obj',0 |
||
1338 | IgorA | 40 | |
2632 | IgorA | 41 | system_dir_1 db '/sys/lib/' |
42 | lib_name_1 db 'msgbox.obj',0 |
||
1338 | IgorA | 43 | |
2632 | IgorA | 44 | system_dir_2 db '/sys/lib/' |
45 | lib_name_2 db 'proc_lib.obj',0 |
||
1592 | IgorA | 46 | |
2632 | IgorA | 47 | system_dir_3 db '/sys/lib/' |
48 | lib_name_3 db 'libimg.obj',0 |
||
1338 | IgorA | 49 | |
2817 | IgorA | 50 | system_dir_4 db '/sys/lib/' |
51 | lib_name_4 db 'libini.obj',0 |
||
52 | |||
53 | |||
1338 | IgorA | 54 | ;--------------------------------------------------------------------- |
55 | align 4 |
||
2632 | IgorA | 56 | import_box_lib: |
57 | dd alib_init0 ;функция запускается макросом 1 раз при подключении бибилиотеки, потому в программе метка на нее не нужна |
||
1489 | IgorA | 58 | |
1467 | IgorA | 59 | edit_box_draw dd aEdit_box_draw |
60 | edit_box_key dd aEdit_box_key |
||
61 | edit_box_mouse dd aEdit_box_mouse |
||
62 | ;version_ed dd aVersion_ed |
||
1338 | IgorA | 63 | |
1467 | IgorA | 64 | scrollbar_ver_draw dd aScrollbar_ver_draw |
65 | scrollbar_ver_mouse dd aScrollbar_ver_mouse |
||
66 | scrollbar_hor_draw dd aScrollbar_hor_draw |
||
67 | scrollbar_hor_mouse dd aScrollbar_hor_mouse |
||
68 | ;version_scrollbar dd aVersion_scrollbar |
||
1338 | IgorA | 69 | |
1467 | IgorA | 70 | ;dinamic_button_draw dd aDbutton_draw |
71 | ;dinamic_button_mouse dd aDbutton_mouse |
||
72 | ;version_dbutton dd aVersion_dbutton |
||
1338 | IgorA | 73 | |
1467 | IgorA | 74 | menu_bar_draw dd aMenu_bar_draw |
75 | menu_bar_mouse dd aMenu_bar_mouse |
||
76 | ;version_menu_bar dd aVersion_menu_bar |
||
1338 | IgorA | 77 | |
1467 | IgorA | 78 | tl_data_init dd sz_tl_data_init |
79 | tl_data_clear dd sz_tl_data_clear |
||
80 | tl_info_clear dd sz_tl_info_clear |
||
81 | tl_key dd sz_tl_key |
||
82 | tl_mouse dd sz_tl_mouse |
||
83 | tl_draw dd sz_tl_draw |
||
84 | tl_info_undo dd sz_tl_info_undo |
||
85 | tl_info_redo dd sz_tl_info_redo |
||
86 | tl_node_add dd sz_tl_node_add |
||
87 | tl_node_set_data dd sz_tl_node_set_data |
||
88 | tl_node_get_data dd sz_tl_node_get_data |
||
89 | tl_node_delete dd sz_tl_node_delete |
||
90 | tl_cur_beg dd sz_tl_cur_beg |
||
91 | tl_cur_next dd sz_tl_cur_next |
||
92 | tl_cur_perv dd sz_tl_cur_perv |
||
2817 | IgorA | 93 | ;tl_node_close_open dd sz_tl_node_close_open |
1467 | IgorA | 94 | tl_node_lev_inc dd sz_tl_node_lev_inc |
95 | tl_node_lev_dec dd sz_tl_node_lev_dec |
||
1457 | IgorA | 96 | |
1467 | IgorA | 97 | ted_but_save_file dd sz_ted_but_save_file |
98 | ted_but_sumb_upper dd sz_ted_but_sumb_upper |
||
99 | ted_but_sumb_lover dd sz_ted_but_sumb_lover |
||
100 | ted_can_save dd sz_ted_can_save |
||
101 | ted_clear dd sz_ted_clear |
||
102 | ted_delete dd sz_ted_delete |
||
103 | ted_draw dd sz_ted_draw |
||
104 | ted_init dd sz_ted_init |
||
105 | ted_init_scroll_bars dd sz_ted_init_scroll_bars |
||
106 | ted_init_syntax_file dd sz_ted_init_syntax_file |
||
107 | ted_is_select dd sz_ted_is_select |
||
108 | ted_key dd sz_ted_key |
||
109 | ted_mouse dd sz_ted_mouse |
||
110 | ted_open_file dd sz_ted_open_file |
||
111 | ted_text_add dd sz_ted_text_add |
||
112 | ted_but_select_word dd sz_ted_but_select_word |
||
113 | ted_but_cut dd sz_ted_but_cut |
||
114 | ted_but_copy dd sz_ted_but_copy |
||
115 | ted_but_paste dd sz_ted_but_paste |
||
116 | ted_but_undo dd sz_ted_but_undo |
||
117 | ted_but_redo dd sz_ted_but_redo |
||
118 | ted_but_reverse dd sz_ted_but_reverse |
||
119 | ted_but_find_next dd sz_ted_but_find_next |
||
120 | ted_text_colored dd sz_ted_text_colored |
||
2102 | IgorA | 121 | version_text_edit dd sz_ted_version |
1457 | IgorA | 122 | |
1338 | IgorA | 123 | dd 0,0 |
2632 | IgorA | 124 | alib_init0 db 'lib_init',0 |
1338 | IgorA | 125 | |
1467 | IgorA | 126 | aEdit_box_draw db 'edit_box',0 |
127 | aEdit_box_key db 'edit_box_key',0 |
||
128 | aEdit_box_mouse db 'edit_box_mouse',0 |
||
129 | ;aVersion_ed db 'version_ed',0 |
||
1338 | IgorA | 130 | |
1467 | IgorA | 131 | aScrollbar_ver_draw db 'scrollbar_v_draw',0 |
132 | aScrollbar_ver_mouse db 'scrollbar_v_mouse',0 |
||
133 | aScrollbar_hor_draw db 'scrollbar_h_draw',0 |
||
134 | aScrollbar_hor_mouse db 'scrollbar_h_mouse',0 |
||
135 | ;aVersion_scrollbar db 'version_scrollbar',0 |
||
1338 | IgorA | 136 | |
1467 | IgorA | 137 | ;aDbutton_draw db 'dbutton_draw',0 |
138 | ;aDbutton_mouse db 'dbutton_mouse',0 |
||
139 | ;aVersion_dbutton db 'version_dbutton',0 |
||
1338 | IgorA | 140 | |
1467 | IgorA | 141 | aMenu_bar_draw db 'menu_bar_draw',0 |
142 | aMenu_bar_mouse db 'menu_bar_mouse',0 |
||
143 | ;aVersion_menu_bar db 'version_menu_bar',0 |
||
1338 | IgorA | 144 | |
1467 | IgorA | 145 | sz_tl_data_init db 'tl_data_init',0 |
146 | sz_tl_data_clear db 'tl_data_clear',0 |
||
147 | sz_tl_info_clear db 'tl_info_clear',0 |
||
148 | sz_tl_key db 'tl_key',0 |
||
149 | sz_tl_mouse db 'tl_mouse',0 |
||
150 | sz_tl_draw db 'tl_draw',0 |
||
151 | sz_tl_info_undo db 'tl_info_undo',0 |
||
152 | sz_tl_info_redo db 'tl_info_redo',0 |
||
153 | sz_tl_node_add db 'tl_node_add',0 |
||
154 | sz_tl_node_set_data db 'tl_node_set_data',0 |
||
155 | sz_tl_node_get_data db 'tl_node_get_data',0 |
||
156 | sz_tl_node_delete db 'tl_node_delete',0 |
||
157 | sz_tl_cur_beg db 'tl_cur_beg',0 |
||
158 | sz_tl_cur_next db 'tl_cur_next',0 |
||
159 | sz_tl_cur_perv db 'tl_cur_perv',0 |
||
2817 | IgorA | 160 | ;sz_tl_node_close_open db 'tl_node_close_open',0 |
1467 | IgorA | 161 | sz_tl_node_lev_inc db 'tl_node_lev_inc',0 |
162 | sz_tl_node_lev_dec db 'tl_node_lev_dec',0 |
||
1457 | IgorA | 163 | |
1467 | IgorA | 164 | sz_ted_but_save_file db 'ted_but_save_file',0 |
165 | sz_ted_but_sumb_upper db 'ted_but_sumb_upper',0 |
||
166 | sz_ted_but_sumb_lover db 'ted_but_sumb_lover',0 |
||
167 | sz_ted_can_save db 'ted_can_save',0 |
||
168 | sz_ted_clear db 'ted_clear',0 |
||
169 | sz_ted_delete db 'ted_delete',0 |
||
170 | sz_ted_draw db 'ted_draw',0 |
||
171 | sz_ted_init db 'ted_init',0 |
||
172 | sz_ted_init_scroll_bars db 'ted_init_scroll_bars',0 |
||
173 | sz_ted_init_syntax_file db 'ted_init_syntax_file',0 |
||
174 | sz_ted_is_select db 'ted_is_select',0 |
||
175 | sz_ted_key db 'ted_key',0 |
||
176 | sz_ted_mouse db 'ted_mouse',0 |
||
177 | sz_ted_open_file db 'ted_open_file',0 |
||
178 | sz_ted_text_add db 'ted_text_add',0 |
||
179 | sz_ted_but_select_word db 'ted_but_select_word',0 |
||
180 | sz_ted_but_cut db 'ted_but_cut',0 |
||
181 | sz_ted_but_copy db 'ted_but_copy',0 |
||
182 | sz_ted_but_paste db 'ted_but_paste',0 |
||
183 | sz_ted_but_undo db 'ted_but_undo',0 |
||
184 | sz_ted_but_redo db 'ted_but_redo',0 |
||
185 | sz_ted_but_reverse db 'ted_but_reverse',0 |
||
186 | sz_ted_but_find_next db 'ted_but_find_next',0 |
||
187 | sz_ted_text_colored db 'ted_text_colored',0 |
||
2102 | IgorA | 188 | sz_ted_version db 'version_text_edit',0 |
1592 | IgorA | 189 | |
1338 | IgorA | 190 | align 4 |
2632 | IgorA | 191 | import_proclib: |
1592 | IgorA | 192 | OpenDialog_Init dd aOpenDialog_Init |
193 | OpenDialog_Start dd aOpenDialog_Start |
||
194 | dd 0,0 |
||
195 | aOpenDialog_Init db 'OpenDialog_init',0 |
||
196 | aOpenDialog_Start db 'OpenDialog_start',0 |
||
197 | |||
198 | align 4 |
||
2632 | IgorA | 199 | import_msgbox_lib: |
1467 | IgorA | 200 | mb_create dd amb_create |
201 | mb_reinit dd amb_reinit |
||
202 | mb_setfunctions dd amb_setfunctions |
||
203 | dd 0,0 |
||
204 | amb_create db 'mb_create',0 |
||
205 | amb_reinit db 'mb_reinit',0 |
||
206 | amb_setfunctions db 'mb_setfunctions',0 |
||
2632 | IgorA | 207 | |
208 | align 4 |
||
209 | import_libimg: |
||
210 | dd alib_init1 |
||
211 | img_to_rgb2 dd aimg_to_rgb2 |
||
212 | img_decode dd aimg_decode |
||
213 | img_destroy dd aimg_destroy |
||
214 | dd 0,0 |
||
215 | alib_init1 db 'lib_init',0 |
||
216 | aimg_to_rgb2 db 'img_to_rgb2',0 |
||
217 | aimg_decode db 'img_decode',0 ;автоматически определяет формат графических данных |
||
218 | aimg_destroy db 'img_destroy',0 |
||
219 | |||
2817 | IgorA | 220 | align 4 |
221 | import_libini: |
||
222 | dd alib_init2 |
||
223 | ini_get_str dd aini_get_str |
||
224 | ini_get_int dd aini_get_int |
||
225 | ini_get_color dd aini_get_color |
||
226 | dd 0,0 |
||
227 | alib_init2 db 'lib_init',0 |
||
228 | aini_get_str db 'ini_get_str',0 |
||
229 | aini_get_int db 'ini_get_int',0 |
||
230 | aini_get_color db 'ini_get_color',0 |
||
231 | |||
1592 | IgorA | 232 | ;--------------------------------------------------------------------- |
1338 | IgorA | 233 | align 4 |
234 | wScr: |
||
235 | .x: |
||
1343 | IgorA | 236 | .size_x dw 16 ;+0 |
237 | .start_x dw 50 ;+2 |
||
1338 | IgorA | 238 | .y: |
1343 | IgorA | 239 | .size_y dw 300 ; +4 |
240 | .start_y dw 50 ; +6 |
||
241 | .btn_high dd 15 ; +8 |
||
2817 | IgorA | 242 | .type dd ini_def_scroll_type ;+12 |
1343 | IgorA | 243 | .max_area dd 100 ;+16 |
244 | .cur_area dd 30 ;+20 |
||
245 | .position dd 0 ;+24 |
||
2632 | IgorA | 246 | .bckg_col dd 0 ;+28 |
247 | .frnt_col dd 0 ;+32 |
||
1343 | IgorA | 248 | .line_col dd 0 ;+36 |
249 | .redraw dd 0 ;+40 |
||
1467 | IgorA | 250 | .delta dw 0 ;+44 |
1343 | IgorA | 251 | .delta2 dw 0 ;+46 |
1338 | IgorA | 252 | .run_x: |
1343 | IgorA | 253 | .r_size_x dw 0 ;+48 |
254 | .r_start_x dw 0 ;+50 |
||
1338 | IgorA | 255 | .run_y: |
256 | .r_size_y dw 0 ;+52 |
||
257 | .r_start_y dw 0 ;+54 |
||
1467 | IgorA | 258 | .m_pos dd 0 ;+56 |
1338 | IgorA | 259 | .m_pos_2 dd 0 ;+60 |
260 | .m_keys dd 0 ;+64 |
||
261 | .run_size dd 0 ;+68 |
||
262 | .position2 dd 0 ;+72 |
||
263 | .work_size dd 0 ;+76 |
||
264 | .all_redraw dd 0 ;+80 |
||
265 | .ar_offset dd 1 ;+84 |
||
266 | ;--------------------------------------------------------------------- |
||
267 | align 4 |
||
268 | hScr: |
||
269 | .x: |
||
270 | .size_x dw 150 ;+0 |
||
271 | .start_x dw 0 ;+2 |
||
272 | .y: |
||
273 | .size_y dw 16 ;+4 |
||
274 | .start_y dw 50 ;+6 |
||
275 | .btn_high dd 15 ;+8 |
||
2817 | IgorA | 276 | .type dd ini_def_scroll_type ;+12 |
1338 | IgorA | 277 | .max_area dd 100 ;+16 |
2632 | IgorA | 278 | .cur_area dd 30 ;+20 |
1338 | IgorA | 279 | .position dd 0 ;+24 |
2632 | IgorA | 280 | .bckg_col dd 0 ;+28 |
281 | .frnt_col dd 0 ;+32 |
||
1338 | IgorA | 282 | .line_col dd 0 ;+36 |
283 | .redraw dd 0 ;+40 |
||
284 | .delta dw 0 ;+44 |
||
285 | .delta2 dw 0 ;+46 |
||
286 | .run_x: |
||
287 | .r_size_x dw 0 ;+48 |
||
288 | .r_start_x dw 0 ;+50 |
||
289 | .run_y: |
||
290 | .r_size_y dw 0 ;+52 |
||
291 | .r_start_y dw 0 ;+54 |
||
292 | .m_pos dd 0 ;+56 |
||
293 | .m_pos_2 dd 0 ;+60 |
||
294 | .m_keys dd 0 ;+64 |
||
295 | .run_size dd 0 ;+68 |
||
296 | .position2 dd 0 ;+72 |
||
297 | .work_size dd 0 ;+76 |
||
298 | .all_redraw dd 0 ;+80 |
||
299 | .ar_offset dd 1 ;+84 |
||
300 | ;--------------------------------------------------------------------- |
||
301 | align 4 |
||
1467 | IgorA | 302 | ws_dir_lbox: ;дочерний скроллинг для элемента ListBox |
1338 | IgorA | 303 | .x: |
304 | .size_x dw 16 ;+0 |
||
305 | .start_x dw 0 ;+2 |
||
306 | .y: |
||
307 | .size_y dw 30 ;+4 |
||
308 | .start_y dw 70 ;+6 |
||
309 | .btn_high dd 15 ;+8 |
||
2817 | IgorA | 310 | .type dd ini_def_scroll_type ;+12 |
2632 | IgorA | 311 | .max_area dd 100 ;+16 |
312 | .cur_area dd 30 ;+20 |
||
1338 | IgorA | 313 | .position dd 0 ;+24 |
2632 | IgorA | 314 | .bckg_col dd 0 ;+28 |
315 | .frnt_col dd 0 ;+32 |
||
1338 | IgorA | 316 | .line_col dd 0 ;+36 |
317 | .redraw dd 0 ;+40 |
||
318 | .delta dw 0 ;+44 |
||
319 | .delta2 dw 0 ;+46 |
||
320 | .run_x: |
||
321 | .r_size_x dw 0 ;+48 |
||
322 | .r_start_x dw 0 ;+50 |
||
323 | .run_y: |
||
324 | .r_size_y dw 0 ;+52 |
||
325 | .r_start_y dw 0 ;+54 |
||
326 | .m_pos dd 0 ;+56 |
||
327 | .m_pos_2 dd 0 ;+60 |
||
328 | .m_keys dd 0 ;+64 |
||
329 | .run_size dd 0 ;+68 |
||
330 | .position2 dd 0 ;+72 |
||
331 | .work_size dd 0 ;+76 |
||
332 | .all_redraw dd 0 ;+80 |
||
1343 | IgorA | 333 | .ar_offset dd 1 ;+84 |
334 | ;--------------------------------------------------------------------- |
||
1338 | IgorA | 335 | |
336 | align 4 |
||
337 | menu_data_1: |
||
1343 | IgorA | 338 | .type: dd 0 ;+0 |
1338 | IgorA | 339 | .x: |
1343 | IgorA | 340 | .size_x dw 35 ;+4 |
341 | .start_x dw 5 ;+6 |
||
1338 | IgorA | 342 | .y: |
1343 | IgorA | 343 | .size_y dw 15 ;+8 |
344 | .start_y dw 5 ;+10 |
||
345 | .text_pointer: dd menu_text_area ;+12 |
||
346 | .pos_pointer: dd menu_text_area.1 ;+16 |
||
347 | .text_end dd menu_text_area.end ;+20 |
||
348 | .mouse_pos dd 0 ;+24 |
||
349 | .mouse_keys dd 0 ;+28 |
||
1338 | IgorA | 350 | .x1: |
1343 | IgorA | 351 | .size_x1 dw 70 ;+32 |
352 | .start_x1 dw 5 ;+34 |
||
1338 | IgorA | 353 | .y1: |
1343 | IgorA | 354 | .size_y1 dw 15 ;+36 |
355 | .start_y1 dw 20 ;+38 |
||
356 | .bckg_col dd 0xeeeeee ;+40 |
||
357 | .frnt_col dd 0xff ;+44 |
||
358 | .menu_col dd 0xffffff ;+48 |
||
359 | .select dd 0 ;+52 |
||
360 | .out_select dd 0 ;+56 |
||
361 | .buf_adress dd 0 ;+60 |
||
362 | .procinfo dd procinfo ;0 ;+64 |
||
1467 | IgorA | 363 | .click dd 0 ;+68 |
1343 | IgorA | 364 | .cursor dd 0 ;+72 |
365 | .cursor_old dd 0 ;+76 |
||
366 | .interval dd 16 ;+80 |
||
367 | .cursor_max dd 0 ;+84 |
||
368 | .extended_key dd 0 ;+88 |
||
369 | .menu_sel_col dd 0x00cc00 ;+92 |
||
370 | .bckg_text_col dd 0 ;+96 |
||
371 | .frnt_text_col dd 0xffffff ;+100 |
||
1338 | IgorA | 372 | .mouse_keys_old dd 0 ;+104 |
1343 | IgorA | 373 | .font_height dd 8 ;+108 |
374 | .cursor_out dd 0 ;+112 |
||
1338 | IgorA | 375 | .get_mouse_flag dd 0 ;+116 |
376 | |||
1467 | IgorA | 377 | ;--------------------------------------------------------------------- |
378 | align 4 |
||
379 | OpenDialog_data: |
||
380 | .type dd 0 |
||
381 | .procinfo dd procinfo ;+4 |
||
382 | .com_area_name dd communication_area_name ;+8 |
||
383 | .com_area dd 0 ;+12 |
||
1592 | IgorA | 384 | .opendir_path dd plugin_path ;+16 |
385 | .dir_default_path dd default_dir ;+20 |
||
1467 | IgorA | 386 | .start_path dd file_name ;+24 путь к диалогу открытия файлов |
387 | .draw_window dd draw_window ;+28 |
||
388 | .status dd 0 ;+32 |
||
389 | .openfile_path dd openfile_path ;+36 путь к открываемому файлу |
||
390 | .filename_area dd filename_area ;+40 |
||
391 | .filter_area dd Filter |
||
1592 | IgorA | 392 | .x: |
393 | .x_size dw 420 ;+48 ; Window X size |
||
394 | .x_start dw 10 ;+50 ; Window X position |
||
395 | .y: |
||
396 | .y_size dw 320 ;+52 ; Window y size |
||
397 | .y_start dw 10 ;+54 ; Window Y position |
||
1467 | IgorA | 398 | |
1592 | IgorA | 399 | default_dir db '/rd/1',0 ;директория по умолчанию |
400 | |||
1467 | IgorA | 401 | communication_area_name: |
402 | db 'FFFFFFFF_open_dialog',0 |
||
403 | open_dialog_name: |
||
404 | db 'opendial',0 |
||
405 | communication_area_default_path: |
||
1468 | IgorA | 406 | db '/rd/1/File managers/',0 |
1467 | IgorA | 407 | |
408 | Filter: |
||
409 | dd Filter.end - Filter.1 |
||
410 | .1: |
||
411 | db 'ASM',0 |
||
412 | db 'CPP',0 |
||
413 | db 'INC',0 |
||
414 | db 'INI',0 |
||
415 | db 'TXT',0 |
||
416 | db 'H',0 |
||
417 | db 'HTM',0 |
||
418 | db 'HTML',0 |
||
419 | .end: |
||
420 | db 0 |
||
421 | |||
422 | TED_PANEL_NULL equ 0 ;нет открытой панели |
||
423 | TED_PANEL_FIND equ 1 ;панель поиска |
||
1457 | IgorA | 424 | TED_PANEL_SYNTAX equ 2 ;панель выбора файлов подсветки |
425 | TED_PANEL_WIDTH equ 150 ;ширина панели |
||
1338 | IgorA | 426 | |
1467 | IgorA | 427 | count_of_dir_list_files equ 15 ;максимальное число файлов синтаксиса показываемых в окне элемента tree1 |
1338 | IgorA | 428 | |
1449 | IgorA | 429 | ;------------------------------------------------------------------------------ |
430 | struct TexSelect |
||
431 | x0 dd ? |
||
432 | y0 dd ? |
||
433 | x1 dd ? |
||
434 | y1 dd ? |
||
435 | ends |
||
436 | ;------------------------------------------------------------------------------ |
||
437 | align 4 |
||
438 | tedit0: ;структура текстового редактора |
||
439 | .wnd BOX 0,50,440,150 ;+ 0 |
||
2817 | IgorA | 440 | .rec BOX 30,23,ini_def_symbol_w,ini_def_symbol_h ;+16 |
1456 | IgorA | 441 | .drag_m db 0 ;+32 выделение от мыши |
442 | .drag_k db 0 ;+33 выделение от клавиатуры |
||
443 | .sel TexSelect 0,0,0,0 ;+34 структура выделения |
||
444 | .seln TexSelect ;+50 дополнительная структура выделения |
||
1467 | IgorA | 445 | .tex dd 0 ;+66 text memory pointer |
446 | .tex_1 dd 0 ;+70 text first symbol pointer |
||
1457 | IgorA | 447 | .tex_end dd 0 ;+74 text end memory pointer |
1467 | IgorA | 448 | .cur_x dd 0 ;+78 координата x курсора |
449 | .cur_y dd 0 ;+82 координата y курсора |
||
1457 | IgorA | 450 | .max_chars dd maxChars ;+86 максимальное число символов в одном документе |
1456 | IgorA | 451 | .count_colors_text dd 1 ;+90 колличество цветов текста |
452 | .count_key_words dd 0 ;+94 колличество ключевых слов |
||
1467 | IgorA | 453 | .color_cursor dd 0x808080 ;+98 цвет курсора |
454 | .color_wnd_capt dd 0x80 ;+102 цвет полей вокруг окна |
||
455 | .color_wnd_work dd 0x0 ;+106 цвет фона окна |
||
1457 | IgorA | 456 | .color_wnd_bord dd 0xd0d0d0 ;+110 цвет текста на полях |
1467 | IgorA | 457 | .color_select dd 0x208080 ;+114 цвет выделения |
1457 | IgorA | 458 | .color_cur_text dd 0xff0000 ;+118 цвет символа под курсором |
459 | .color_wnd_text dd 0xffff00 ;+122 цвет текста в окне |
||
1467 | IgorA | 460 | .syntax_file dd 0 ;+126 указатель на начало файла синтаксиса |
1457 | IgorA | 461 | .syntax_file_size dd maxSyntaxFileSize ;+130 максимальный размер файла синтаксиса |
1467 | IgorA | 462 | .text_colors dd 0 ;+134 указатель на массив цветов текста |
463 | .help_text_f1 dd 0 ;+138 указатель на текст справки (по нажатии F1) |
||
464 | .help_id dd -1 ;+142 идентификатор для справки |
||
1457 | IgorA | 465 | .key_words_data dd 0 ;+146 указатель на структуры ключевых слов TexColViv |
466 | .tim_ch dd ? ;+150 количество изменений в файле |
||
467 | .tim_undo dd ? ;+154 количество отмененных действий |
||
468 | .tim_ls dd ? ;+158 время последнего сохранения |
||
469 | .tim_co dd ? ;+162 время последней цветовой разметки |
||
470 | .el_focus dd el_focus ;+166 указатель на переменную элемента в фокусе |
||
471 | .err_save db 0 ;+170 ошибка сохранения файла |
||
472 | .panel_id db 0 ;+171 номер открытой панели |
||
1456 | IgorA | 473 | .key_new db 0 ;+172 символ, который будет добавлятся с клавиатуры |
474 | .symbol_new_line db 20 ;+173 символ завершения строки |
||
1467 | IgorA | 475 | .scr_w dd wScr ;+174 вертикальный скроллинг |
476 | .scr_h dd hScr ;+178 горизонтальный скроллинг |
||
1457 | IgorA | 477 | .arr_key_pos dd 0 ;+182 указатель на массив позиций ключевых слов |
478 | .buffer dd buf ;+186 указатель на буфер копирования/вставки |
||
479 | .buffer_find dd buf_find ;+190 указатель на буфер для поиска |
||
480 | .cur_ins db 1 ;+194 режим работы курсора (обычный или замена) |
||
481 | .mode_color db 1 ;+195 режим выделения слов цветом (0-выкл. 1-вкл.) |
||
482 | .mode_invis db 0 ;+196 режим показа непечатаемых символов |
||
483 | .gp_opt db 0 ;+197 опции возвращаемые функцией ted_get_pos_by_cursor |
||
484 | .fun_on_key_ctrl_o dd ted_but_open_file ;+198 указатель на функцию вызываемую при нажатии Ctrl+O (открытие файла) |
||
1467 | IgorA | 485 | .fun_on_key_ctrl_f dd ted_but_find ;+202 ... Ctrl+F (вызова/скрытия панели поиска) |
486 | .fun_on_key_ctrl_n dd ted_but_new_file ;+206 ... Ctrl+N (создание нового документа) |
||
1457 | IgorA | 487 | .fun_on_key_ctrl_s dd 0 ;+210 ... Ctrl+S |
1467 | IgorA | 488 | .buffer_size dd BUF_SIZE ;+214 размер буфера копирования/вставки |
489 | .fun_find_err dd ted_on_find_err ;+218 указатель на функцию вызываемую если поиск закончился неудачно |
||
2707 | IgorA | 490 | .fun_init_synt_err dd 0 ;+222 |
1457 | IgorA | 491 | .fun_draw_panel_buttons dd draw_but_toolbar ;+226 указатель на функцию рисования панели с кнопками |
1467 | IgorA | 492 | .fun_draw_panel_find dd draw_panel_find ;+230 указатель на функцию рисования панели поиска |
493 | .fun_draw_panel_syntax dd draw_panel_syntax ;+234 указатель на функцию рисования панели синтаксиса |
||
494 | .fun_save_err dd ted_save_err_msg ;+238 указатель на функцию вызываемую если сохранение файла закончилось неудачно |
||
1464 | IgorA | 495 | .increase_size dd 200 ;+242 число символов на которые будет увечиваться память при нехватке |
496 | .ptr_free_symb dd ? ;+246 используется внутри элемента для ускорения вставки текста |
||
1449 | IgorA | 497 | ;------------------------------------------------------------------------------ |
498 | |||
1456 | IgorA | 499 | conv_tabl rb 128 ; таблица для конвертирования scan-кода в ascii-код |
500 | |||
1338 | IgorA | 501 | el_focus dd 0 |
502 | mouse_dd dd 0 |
||
503 | tree1 tree_list 264,count_of_dir_list_files+2, tl_key_no_edit+tl_draw_par_line+tl_list_box_mode,\ |
||
1457 | IgorA | 504 | 16,16, 0x8080ff,0x0000ff,0xffffff, 0,70,TED_PANEL_WIDTH-17,120, 0,0,0, el_focus,\ |
1338 | IgorA | 505 | ws_dir_lbox,0 |
506 | |||
507 | ;dir_list memory |
||
508 | tree_file_struct: |
||
509 | dd 1 |
||
510 | dd 0,0,count_of_dir_list_files |
||
511 | dd dir_mem |
||
512 | db 0 |
||
513 | dd file_name ;sys_path |
||
514 | |||
1343 | IgorA | 515 | if lang eq ru |
516 | |||
2855 | IgorA | 517 | hed db 'Текстовый редактор 10.07.12',0 ;подпись окна |
2817 | IgorA | 518 | |
1338 | IgorA | 519 | menu_text_area: |
520 | db 'Файл',0 |
||
521 | .1: |
||
522 | db 'Создать',0 |
||
523 | db 'Открыть',0 |
||
524 | db 'Сохранить',0 |
||
525 | db 'Выход',0 |
||
526 | .end: |
||
527 | db 0 |
||
528 | |||
529 | msgbox_1: |
||
530 | dw 0 |
||
531 | db 'Внимание',0 ;+2 = +MB_TEXT_OFFSET |
||
532 | db 'Файл большой, потому открыт не весь.',13 |
||
533 | db ' 1. При его сохранении будут потеряны "не открывшиеся" символы.',13 |
||
534 | db ' 2. В документ нельзя добавлять текст, т. к. память занята.',0 |
||
535 | db 'Я понял(а)',0 ;button1 |
||
536 | db 0 |
||
537 | msgbox_2: |
||
538 | db 3,0 |
||
1467 | IgorA | 539 | db 'Внимание',0 |
1338 | IgorA | 540 | db 'Сохранить изменения в файле?',0 |
541 | db 'Сохранить',0 |
||
542 | db 'Не сохранять',0 |
||
543 | db 'Отмена',0 |
||
544 | db 0 |
||
545 | msgbox_2_funct: |
||
546 | dd On_SaveAndNewFile |
||
547 | dd On_NewFile |
||
548 | dd 0 |
||
549 | |||
550 | msgbox_3: |
||
551 | db 1,0 |
||
1467 | IgorA | 552 | db 'Внимание',0 |
1338 | IgorA | 553 | db 'Ошибка при открытии файла с цветовыми настройками!',13,\ |
554 | 'Потому выделение слов цветом не возможно.',13,\ |
||
1343 | IgorA | 555 | ' (код ошибки =' |
1338 | IgorA | 556 | .err: db '?' |
557 | db ')',0 |
||
558 | db 'Закрыть',0 |
||
559 | db 0 |
||
560 | |||
561 | msgbox_4: |
||
562 | db 1,0 |
||
1467 | IgorA | 563 | db 'Внимание',0 |
1338 | IgorA | 564 | db 'Ошибка при открытии файла!',13,\ |
565 | 'Возможно имя файла введено не правильно.',13,\ |
||
1343 | IgorA | 566 | ' (код ошибки =' |
1338 | IgorA | 567 | .err: db '?' |
568 | db ')',0 |
||
569 | db 'Закрыть',0 |
||
570 | db 0 |
||
571 | |||
572 | msgbox_5: |
||
573 | db 3,0 |
||
1467 | IgorA | 574 | db 'Внимание',0 |
1338 | IgorA | 575 | db 'Сохранить изменения в файле?',0 |
576 | db 'Не сохранять',0 |
||
577 | db 'Отмена',0 |
||
578 | db 0 |
||
579 | msgbox_5_funct: |
||
1456 | IgorA | 580 | dd but_no_msg_OpenFile |
1338 | IgorA | 581 | dd 0 |
582 | |||
583 | msgbox_6: |
||
584 | db 1,0 |
||
1467 | IgorA | 585 | db 'Внимание',0 |
1338 | IgorA | 586 | db 'Ошибка при сохранении файла!',13,\ |
587 | 'Возможно имя файла введено не правильно.',13,\ |
||
1343 | IgorA | 588 | ' (код ошибки =' |
1338 | IgorA | 589 | .err: db '?' |
590 | db ')',0 |
||
591 | db 'Закрыть',0 |
||
592 | db 0 |
||
593 | msgbox_7: |
||
594 | db 1,0 |
||
1467 | IgorA | 595 | db 'Текст не найден',0 |
1338 | IgorA | 596 | db 'Достигнут конец документа.',13,\ |
597 | 'Попробуйте перейти в начало документа',13,\ |
||
598 | 'или изменить запрос и повторить поиск.',0 |
||
599 | db 'Закрыть',0 |
||
600 | db 0 |
||
601 | msgbox_8: |
||
602 | db 3,0 |
||
1467 | IgorA | 603 | db 'Внимание',0 |
1338 | IgorA | 604 | db 'Для выхода завершите работу с файлом.',13,\ |
605 | 'Попробуйте сохранить изменения в файле',13,\ |
||
606 | 'или начать новый пустой.',0 |
||
607 | db 'Отмена',0 |
||
608 | db 0 |
||
1467 | IgorA | 609 | msgbox_9: |
610 | db 3,0 |
||
611 | db 'Внимание',0 |
||
1468 | IgorA | 612 | db 'Не открылся ',39,'диалог открытия файла',39,'.',13 |
613 | .fdp: |
||
614 | rb 100 |
||
615 | db 0 |
||
1467 | IgorA | 616 | db 'Закрыть',0 |
617 | db 0 |
||
2102 | IgorA | 618 | msgbox_10: |
619 | db 1,0 |
||
620 | db 'Внимание',0 |
||
621 | db 'Вы используете старую версию библиотеки ',39,'box_lib.obj',39,'.',13,\ |
||
622 | 'Попробуйте найти библиотеку в которой',13,\ |
||
623 | 'элемент ',39,'t_edit',39,' имеет версию 3.',0 |
||
624 | db 'Закрыть',0 |
||
625 | db 0 |
||
1338 | IgorA | 626 | |
1467 | IgorA | 627 | txtFile db 'Файл:',0 |
1338 | IgorA | 628 | txtFindCapt db 'Поиск',0 |
629 | txtFindNext db 'Найти далее',0 |
||
630 | txtFormatCapt db 'Формат',0 |
||
631 | txtFormatApply db 'Применить',0 |
||
1343 | IgorA | 632 | |
633 | else |
||
634 | |||
2855 | IgorA | 635 | hed db 'Text editor 10.07.12',0 |
2817 | IgorA | 636 | |
1343 | IgorA | 637 | menu_text_area: |
638 | db 'File',0 |
||
639 | .1: |
||
640 | db 'New',0 |
||
641 | db 'Open',0 |
||
642 | db 'Save',0 |
||
643 | db 'Exit',0 |
||
644 | .end: |
||
645 | db 0 |
||
646 | |||
647 | msgbox_1: |
||
648 | dw 0 |
||
649 | db 'Warning',0 ;+2 = +MB_TEXT_OFFSET |
||
650 | db 'File is large, because not all open.',13 |
||
651 | db ' 1. If you save it will lose "not opened" characters.',13 |
||
652 | db ' 2. The document can not add text, because the memory is busy.',0 |
||
653 | db 'Ok',0 ;button1 |
||
654 | db 0 |
||
655 | msgbox_2: |
||
656 | db 3,0 |
||
1467 | IgorA | 657 | db 'Warning',0 |
1343 | IgorA | 658 | db 'Save changes to the file?',0 |
659 | db 'Save',0 |
||
660 | db 'Discard',0 |
||
661 | db 'Cancel',0 |
||
662 | db 0 |
||
663 | msgbox_2_funct: |
||
664 | dd On_SaveAndNewFile |
||
665 | dd On_NewFile |
||
666 | dd 0 |
||
667 | |||
668 | msgbox_3: |
||
669 | db 1,0 |
||
1467 | IgorA | 670 | db 'Warning',0 |
1343 | IgorA | 671 | db 'Error opening the file with the color settings!',13,\ |
672 | 'Because color selection of words is not possible.',13,\ |
||
673 | ' (error code =' |
||
674 | .err: db '?' |
||
675 | db ')',0 |
||
676 | db 'Close',0 |
||
677 | db 0 |
||
678 | |||
679 | msgbox_4: |
||
680 | db 1,0 |
||
1467 | IgorA | 681 | db 'Warning',0 |
1343 | IgorA | 682 | db 'Error opening file!',13,\ |
683 | 'Maybe the file name is not entered correctly.',13,\ |
||
684 | ' (error code =' |
||
685 | .err: db '?' |
||
686 | db ')',0 |
||
687 | db 'Close',0 |
||
688 | db 0 |
||
689 | |||
690 | msgbox_5: |
||
691 | db 3,0 |
||
1467 | IgorA | 692 | db 'Warning',0 |
1343 | IgorA | 693 | db 'Save changes to the file?',0 |
694 | db 'Discard',0 |
||
695 | db 'Cancel',0 |
||
696 | db 0 |
||
697 | msgbox_5_funct: |
||
1456 | IgorA | 698 | dd but_no_msg_OpenFile |
1343 | IgorA | 699 | dd 0 |
700 | |||
701 | msgbox_6: |
||
702 | db 1,0 |
||
1467 | IgorA | 703 | db 'Warning',0 |
1343 | IgorA | 704 | db 'Error saving file!',13,\ |
705 | 'Maybe the file name is not entered correctly.',13,\ |
||
706 | ' (error code =' |
||
707 | .err: db '?' |
||
708 | db ')',0 |
||
709 | db 'Close',0 |
||
710 | db 0 |
||
711 | msgbox_7: |
||
712 | db 1,0 |
||
1467 | IgorA | 713 | db 'Text not found.',0 |
1343 | IgorA | 714 | db 'Reached end of the document.',13,\ |
715 | 'Try to go to the beginning of the document',13,\ |
||
716 | 'or change the query and search again.',0 |
||
717 | db 'Close',0 |
||
718 | db 0 |
||
719 | msgbox_8: |
||
720 | db 3,0 |
||
1467 | IgorA | 721 | db 'Warning',0 |
1343 | IgorA | 722 | db 'To quit, quit the file.',13,\ |
723 | 'Try to keep changes to a file',13,\ |
||
724 | 'or start a new blank file.',0 |
||
725 | db 'Cancel',0 |
||
726 | db 0 |
||
1467 | IgorA | 727 | msgbox_9: |
728 | db 3,0 |
||
729 | db 'Warning',0 |
||
1468 | IgorA | 730 | db 'Error run ',39,'open file dialog',39,'.',13 |
731 | .fdp: |
||
732 | rb 100 |
||
733 | db 0 |
||
1467 | IgorA | 734 | db 'Close',0 |
735 | db 0 |
||
2102 | IgorA | 736 | msgbox_10: |
737 | db 1,0 |
||
738 | db 'Warning',0 |
||
739 | db 'You are using an older version of the library ',39,'box_lib.obj',39,'.',13,\ |
||
740 | 'Try to find a library in which the element',13,\ |
||
741 | 39,'t_edit',39,' has a version 3.',13,0 |
||
742 | db 'Close',0 |
||
743 | db 0 |
||
1343 | IgorA | 744 | |
1467 | IgorA | 745 | txtFile db 'File:',0 |
1343 | IgorA | 746 | txtFindCapt db 'Search',0 |
747 | txtFindNext db 'Find next',0 |
||
748 | txtFormatCapt db 'Format',0 |
||
749 | txtFormatApply db 'Apply',0 |
||
750 | |||
751 | end if |
||
1338 | IgorA | 752 | |
753 | KM_SHIFT equ 0x00010000 |
||
754 | KM_CTRL equ 0x00020000 |
||
755 | KM_ALT equ 0x00040000 |
||
756 | KM_NUMLOCK equ 0x00080000 |
||
757 | |||
758 | ; KEY CODES |
||
759 | KEY_F1 equ 0x0000003B |
||
760 | KEY_F2 equ 0x0000003C |
||
761 | KEY_F3 equ 0x0000003D |
||
762 |