Rev 1449 | Rev 1457 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1338 | IgorA | 1 | ;--- фрээ√х яЁюуЁрьь√ ---------------------------------------------- |
2 | fn_col_option dd def_col_file |
||
3 | fn_syntax_dir db 'info/',0 |
||
4 | def_col_file db 'default.syn',0 |
||
5 | |||
6 | system_dir0 db '/sys/lib/' |
||
7 | boxlib_name db 'box_lib.obj',0 |
||
8 | |||
9 | system_dir1 db '/sys/lib/' |
||
10 | msgbox_name db 'msgbox.obj',0 |
||
11 | |||
12 | fn_icon_tl_sys db 'tl_sys_16.bmp',0 |
||
13 | fn_icon_tl_nod db 'tl_nod_16.bmp',0 |
||
14 | ;--------------------------------------------------------------------- |
||
15 | fileinfo: |
||
16 | dd 5 |
||
17 | dd 0 |
||
18 | dd 0 |
||
19 | dd 0 |
||
20 | dd file_info |
||
21 | string: |
||
22 | db 0 |
||
23 | dd file_name |
||
24 | |||
25 | ;plugin dd 0 |
||
26 | |||
27 | ;--------------------------------------------------------------------- |
||
28 | align 4 |
||
29 | myimport: |
||
30 | edit_box_draw dd aEdit_box_draw |
||
31 | edit_box_key dd aEdit_box_key |
||
32 | edit_box_mouse dd aEdit_box_mouse |
||
1343 | IgorA | 33 | ;version_ed dd aVersion_ed |
1338 | IgorA | 34 | |
1343 | IgorA | 35 | ;check_box_draw dd aCheck_box_draw |
36 | ;check_box_mouse dd aCheck_box_mouse |
||
37 | ;version_ch dd aVersion_ch |
||
1338 | IgorA | 38 | |
1343 | IgorA | 39 | ;option_box_draw dd aOption_box_draw |
40 | ;option_box_mouse dd aOption_box_mouse |
||
41 | ;version_op dd aVersion_op |
||
1338 | IgorA | 42 | |
43 | scrollbar_ver_draw dd aScrollbar_ver_draw |
||
44 | scrollbar_ver_mouse dd aScrollbar_ver_mouse |
||
45 | scrollbar_hor_draw dd aScrollbar_hor_draw |
||
46 | scrollbar_hor_mouse dd aScrollbar_hor_mouse |
||
1343 | IgorA | 47 | ;version_scrollbar dd aVersion_scrollbar |
1338 | IgorA | 48 | |
1343 | IgorA | 49 | ;dinamic_button_draw dd aDbutton_draw |
50 | ;dinamic_button_mouse dd aDbutton_mouse |
||
51 | ;version_dbutton dd aVersion_dbutton |
||
1338 | IgorA | 52 | |
53 | menu_bar_draw dd aMenu_bar_draw |
||
54 | menu_bar_mouse dd aMenu_bar_mouse |
||
1343 | IgorA | 55 | ;version_menu_bar dd aVersion_menu_bar |
1338 | IgorA | 56 | |
57 | tl_data_init dd sz_tl_data_init |
||
58 | tl_data_clear dd sz_tl_data_clear |
||
59 | tl_info_clear dd sz_tl_info_clear |
||
60 | tl_key dd sz_tl_key |
||
61 | tl_mouse dd sz_tl_mouse |
||
62 | tl_draw dd sz_tl_draw |
||
63 | tl_info_undo dd sz_tl_info_undo |
||
64 | tl_info_redo dd sz_tl_info_redo |
||
65 | tl_node_add dd sz_tl_node_add |
||
66 | tl_node_set_data dd sz_tl_node_set_data |
||
67 | tl_node_get_data dd sz_tl_node_get_data |
||
68 | tl_node_delete dd sz_tl_node_delete |
||
69 | tl_cur_beg dd sz_tl_cur_beg |
||
70 | tl_cur_next dd sz_tl_cur_next |
||
71 | tl_cur_perv dd sz_tl_cur_perv |
||
72 | tl_node_close_open dd sz_tl_node_close_open |
||
73 | tl_node_lev_inc dd sz_tl_node_lev_inc |
||
74 | tl_node_lev_dec dd sz_tl_node_lev_dec |
||
75 | dd 0,0 |
||
76 | |||
77 | aEdit_box_draw db 'edit_box',0 |
||
78 | aEdit_box_key db 'edit_box_key',0 |
||
79 | aEdit_box_mouse db 'edit_box_mouse',0 |
||
1343 | IgorA | 80 | ;aVersion_ed db 'version_ed',0 |
1338 | IgorA | 81 | |
1343 | IgorA | 82 | ;aCheck_box_draw db 'check_box_draw',0 |
83 | ;aCheck_box_mouse db 'check_box_mouse',0 |
||
84 | ;aVersion_ch db 'version_ch',0 |
||
1338 | IgorA | 85 | |
1343 | IgorA | 86 | ;aOption_box_draw db 'option_box_draw',0 |
87 | ;aOption_box_mouse db 'option_box_mouse',0 |
||
88 | ;aVersion_op db 'version_op',0 |
||
1338 | IgorA | 89 | |
90 | aScrollbar_ver_draw db 'scrollbar_v_draw',0 |
||
91 | aScrollbar_ver_mouse db 'scrollbar_v_mouse',0 |
||
92 | aScrollbar_hor_draw db 'scrollbar_h_draw',0 |
||
93 | aScrollbar_hor_mouse db 'scrollbar_h_mouse',0 |
||
1343 | IgorA | 94 | ;aVersion_scrollbar db 'version_scrollbar',0 |
1338 | IgorA | 95 | |
1343 | IgorA | 96 | ;aDbutton_draw db 'dbutton_draw',0 |
97 | ;aDbutton_mouse db 'dbutton_mouse',0 |
||
98 | ;aVersion_dbutton db 'version_dbutton',0 |
||
1338 | IgorA | 99 | |
100 | aMenu_bar_draw db 'menu_bar_draw',0 |
||
101 | aMenu_bar_mouse db 'menu_bar_mouse',0 |
||
1343 | IgorA | 102 | ;aVersion_menu_bar db 'version_menu_bar',0 |
1338 | IgorA | 103 | |
104 | sz_tl_data_init db 'tl_data_init',0 |
||
105 | sz_tl_data_clear db 'tl_data_clear',0 |
||
106 | sz_tl_info_clear db 'tl_info_clear',0 |
||
107 | sz_tl_key db 'tl_key',0 |
||
108 | sz_tl_mouse db 'tl_mouse',0 |
||
109 | sz_tl_draw db 'tl_draw',0 |
||
110 | sz_tl_info_undo db 'tl_info_undo',0 |
||
111 | sz_tl_info_redo db 'tl_info_redo',0 |
||
112 | sz_tl_node_add db 'tl_node_add',0 |
||
113 | sz_tl_node_set_data db 'tl_node_set_data',0 |
||
114 | sz_tl_node_get_data db 'tl_node_get_data',0 |
||
115 | sz_tl_node_delete db 'tl_node_delete',0 |
||
116 | sz_tl_cur_beg db 'tl_cur_beg',0 |
||
117 | sz_tl_cur_next db 'tl_cur_next',0 |
||
118 | sz_tl_cur_perv db 'tl_cur_perv',0 |
||
119 | sz_tl_node_close_open db 'tl_node_close_open',0 |
||
120 | sz_tl_node_lev_inc db 'tl_node_lev_inc',0 |
||
121 | sz_tl_node_lev_dec db 'tl_node_lev_dec',0 |
||
122 | ;-------------------------------------------------- |
||
123 | align 4 |
||
124 | msgbox_lib_import: |
||
125 | mb_create dd amb_create |
||
126 | mb_reinit dd amb_reinit |
||
127 | mb_setfunctions dd amb_setfunctions |
||
128 | dd 0,0 |
||
129 | amb_create db 'mb_create',0 |
||
130 | amb_reinit db 'mb_reinit',0 |
||
131 | amb_setfunctions db 'mb_setfunctions',0 |
||
132 | ;--------------------------------------------------------------------- |
||
133 | align 4 |
||
134 | wScr: |
||
135 | .x: |
||
1343 | IgorA | 136 | .size_x dw 16 ;+0 |
137 | .start_x dw 50 ;+2 |
||
1338 | IgorA | 138 | .y: |
1343 | IgorA | 139 | .size_y dw 300 ; +4 |
140 | .start_y dw 50 ; +6 |
||
141 | .btn_high dd 15 ; +8 |
||
142 | .type dd 1 ;+12 |
||
143 | .max_area dd 100 ;+16 |
||
144 | .cur_area dd 30 ;+20 |
||
145 | .position dd 0 ;+24 |
||
146 | .bckg_col dd 0xeeeeee ;+28 |
||
147 | .frnt_col dd 0xbbddff ;+32 |
||
148 | .line_col dd 0 ;+36 |
||
149 | .redraw dd 0 ;+40 |
||
150 | .delta dw 0 ;+44 |
||
151 | .delta2 dw 0 ;+46 |
||
1338 | IgorA | 152 | .run_x: |
1343 | IgorA | 153 | .r_size_x dw 0 ;+48 |
154 | .r_start_x dw 0 ;+50 |
||
1338 | IgorA | 155 | .run_y: |
156 | .r_size_y dw 0 ;+52 |
||
157 | .r_start_y dw 0 ;+54 |
||
1343 | IgorA | 158 | .m_pos dd 0 ;+56 |
1338 | IgorA | 159 | .m_pos_2 dd 0 ;+60 |
160 | .m_keys dd 0 ;+64 |
||
161 | .run_size dd 0 ;+68 |
||
162 | .position2 dd 0 ;+72 |
||
163 | .work_size dd 0 ;+76 |
||
164 | .all_redraw dd 0 ;+80 |
||
165 | .ar_offset dd 1 ;+84 |
||
166 | ;--------------------------------------------------------------------- |
||
167 | align 4 |
||
168 | hScr: |
||
169 | .x: |
||
170 | .size_x dw 150 ;+0 |
||
171 | .start_x dw 0 ;+2 |
||
172 | .y: |
||
173 | .size_y dw 16 ;+4 |
||
174 | .start_y dw 50 ;+6 |
||
175 | .btn_high dd 15 ;+8 |
||
176 | .type dd 1 ;+12 |
||
177 | .max_area dd 100 ;+16 |
||
178 | .cur_area dd 30 ;+20 |
||
179 | .position dd 0 ;+24 |
||
180 | .bckg_col dd 0xeeeeee ;+28 |
||
181 | .frnt_col dd 0xbbddff ;+32 |
||
182 | .line_col dd 0 ;+36 |
||
183 | .redraw dd 0 ;+40 |
||
184 | .delta dw 0 ;+44 |
||
185 | .delta2 dw 0 ;+46 |
||
186 | .run_x: |
||
187 | .r_size_x dw 0 ;+48 |
||
188 | .r_start_x dw 0 ;+50 |
||
189 | .run_y: |
||
190 | .r_size_y dw 0 ;+52 |
||
191 | .r_start_y dw 0 ;+54 |
||
192 | .m_pos dd 0 ;+56 |
||
193 | .m_pos_2 dd 0 ;+60 |
||
194 | .m_keys dd 0 ;+64 |
||
195 | .run_size dd 0 ;+68 |
||
196 | .position2 dd 0 ;+72 |
||
197 | .work_size dd 0 ;+76 |
||
198 | .all_redraw dd 0 ;+80 |
||
199 | .ar_offset dd 1 ;+84 |
||
200 | ;--------------------------------------------------------------------- |
||
201 | align 4 |
||
202 | ws_dir_lbox: ;фюўхЁэшщ ёъЁюыышэу фы ¤ыхьхэЄр ListBox |
||
203 | .x: |
||
204 | .size_x dw 16 ;+0 |
||
205 | .start_x dw 0 ;+2 |
||
206 | .y: |
||
207 | .size_y dw 30 ;+4 |
||
208 | .start_y dw 70 ;+6 |
||
209 | .btn_high dd 15 ;+8 |
||
210 | .type dd 1 ;+12 |
||
211 | .max_area dd 100 ;+16 |
||
212 | .cur_area dd 30 ;+20 |
||
213 | .position dd 0 ;+24 |
||
214 | .bckg_col dd 0xeeeeee ;+28 |
||
215 | .frnt_col dd 0xbbddff ;+32 |
||
216 | .line_col dd 0 ;+36 |
||
217 | .redraw dd 0 ;+40 |
||
218 | .delta dw 0 ;+44 |
||
219 | .delta2 dw 0 ;+46 |
||
220 | .run_x: |
||
221 | .r_size_x dw 0 ;+48 |
||
222 | .r_start_x dw 0 ;+50 |
||
223 | .run_y: |
||
224 | .r_size_y dw 0 ;+52 |
||
225 | .r_start_y dw 0 ;+54 |
||
226 | .m_pos dd 0 ;+56 |
||
227 | .m_pos_2 dd 0 ;+60 |
||
228 | .m_keys dd 0 ;+64 |
||
229 | .run_size dd 0 ;+68 |
||
230 | .position2 dd 0 ;+72 |
||
231 | .work_size dd 0 ;+76 |
||
232 | .all_redraw dd 0 ;+80 |
||
1343 | IgorA | 233 | .ar_offset dd 1 ;+84 |
234 | ;--------------------------------------------------------------------- |
||
1338 | IgorA | 235 | |
236 | align 4 |
||
237 | menu_data_1: |
||
1343 | IgorA | 238 | .type: dd 0 ;+0 |
1338 | IgorA | 239 | .x: |
1343 | IgorA | 240 | .size_x dw 35 ;+4 |
241 | .start_x dw 5 ;+6 |
||
1338 | IgorA | 242 | .y: |
1343 | IgorA | 243 | .size_y dw 15 ;+8 |
244 | .start_y dw 5 ;+10 |
||
245 | .text_pointer: dd menu_text_area ;+12 |
||
246 | .pos_pointer: dd menu_text_area.1 ;+16 |
||
247 | .text_end dd menu_text_area.end ;+20 |
||
248 | .mouse_pos dd 0 ;+24 |
||
249 | .mouse_keys dd 0 ;+28 |
||
1338 | IgorA | 250 | .x1: |
1343 | IgorA | 251 | .size_x1 dw 70 ;+32 |
252 | .start_x1 dw 5 ;+34 |
||
1338 | IgorA | 253 | .y1: |
1343 | IgorA | 254 | .size_y1 dw 15 ;+36 |
255 | .start_y1 dw 20 ;+38 |
||
256 | .bckg_col dd 0xeeeeee ;+40 |
||
257 | .frnt_col dd 0xff ;+44 |
||
258 | .menu_col dd 0xffffff ;+48 |
||
259 | .select dd 0 ;+52 |
||
260 | .out_select dd 0 ;+56 |
||
261 | .buf_adress dd 0 ;+60 |
||
262 | .procinfo dd procinfo ;0 ;+64 |
||
263 | .click dd 0 ;+68 |
||
264 | .cursor dd 0 ;+72 |
||
265 | .cursor_old dd 0 ;+76 |
||
266 | .interval dd 16 ;+80 |
||
267 | .cursor_max dd 0 ;+84 |
||
268 | .extended_key dd 0 ;+88 |
||
269 | .menu_sel_col dd 0x00cc00 ;+92 |
||
270 | .bckg_text_col dd 0 ;+96 |
||
271 | .frnt_text_col dd 0xffffff ;+100 |
||
1338 | IgorA | 272 | .mouse_keys_old dd 0 ;+104 |
1343 | IgorA | 273 | .font_height dd 8 ;+108 |
274 | .cursor_out dd 0 ;+112 |
||
1338 | IgorA | 275 | .get_mouse_flag dd 0 ;+116 |
276 | ;------------------------- |
||
277 | |||
278 | TE_PANEL_NULL equ 0 |
||
279 | TE_PANEL_FIND equ 1 |
||
280 | TE_PANEL_SYNTAX equ 2 |
||
281 | TE_PANEL_WIDTH equ 150 ;°шЁшэр ярэхыш |
||
282 | |||
283 | count_of_dir_list_files equ 15 |
||
284 | |||
1449 | IgorA | 285 | ;------------------------------------------------------------------------------ |
286 | struct TexSelect |
||
287 | x0 dd ? |
||
288 | y0 dd ? |
||
289 | x1 dd ? |
||
290 | y1 dd ? |
||
291 | ends |
||
292 | ;------------------------------------------------------------------------------ |
||
293 | ted_wnd_l equ dword[edi+ 0] ;окно редактора: отступ слева |
||
294 | ted_wnd_t equ dword[edi+ 4] ;окно редактора: отступ сверху |
||
295 | ted_wnd_w equ dword[edi+ 8] ;окно редактора: ширина |
||
296 | ted_wnd_h equ dword[edi+12] ;окно редактора: высота |
||
297 | ted_rec_l equ dword[edi+16] ;ширина панели в окне |
||
298 | ted_rec_t equ dword[edi+20] ;высота панели в окне |
||
299 | ted_rec_w equ dword[edi+24] ;ширина символа (знакоместа) в окне |
||
300 | ted_rec_h equ dword[edi+28] ;высота символа (знакоместа) в окне |
||
301 | ted_drag_m equ byte[edi+32] ;выделение от мыши |
||
302 | ted_drag_k equ byte[edi+33] ;выделение от клавиатуры |
||
1456 | IgorA | 303 | ted_sel_x0 equ dword[edi+34] ;координата выделения x0 |
304 | ted_sel_y0 equ dword[edi+38] ;координата выделения y0 |
||
305 | ted_sel_x1 equ dword[edi+42] ;координата выделения x1 |
||
306 | ted_sel_y1 equ dword[edi+46] ;координата выделения y1 |
||
307 | ;запасные координаты выделения |
||
308 | ted_seln_x0 equ dword[edi+50] |
||
309 | ted_seln_y0 equ dword[edi+54] |
||
310 | ted_seln_x1 equ dword[edi+58] |
||
311 | ted_seln_y1 equ dword[edi+62] |
||
312 | |||
313 | ted_tex equ dword[edi+66] ;указатель на память для хранения текста |
||
314 | ted_tex_1 equ dword[edi+70] ;указатель на 1-ю стркутру символа |
||
315 | ted_tex_end equ dword[edi+74] ;указатель на последнюю структуру символа |
||
316 | ted_cur_x equ dword[edi+78] ;координата x курсора |
||
317 | ted_cur_y equ dword[edi+82] ;координата y курсора |
||
318 | ted_cur_ins equ byte[edi+86] ;режим работы курсора (обычный или замена) |
||
319 | ted_mode_color equ byte[edi+87] ;режим выделения слов цветом (0-выкл. 1-вкл.) |
||
320 | ted_mode_invis equ byte[edi+88] ;режим показа непечатаемых символов |
||
321 | ted_gp_opt equ byte[edi+89] ;опции возвращаемые функцией GetPos |
||
322 | ted_colors_text_count equ dword[edi+90] ;колличество цветов текста |
||
323 | ted_key_words_count equ dword[edi+94] ;колличество ключевых слов |
||
324 | ted_color_cursor equ dword[edi+98] ;цвет курсора |
||
325 | ted_color_wnd_capt equ dword[edi+102] ;цвет полей вокруг окна |
||
326 | ted_color_wnd_work equ dword[edi+106] ;цвет фона окна |
||
327 | ted_color_wnd_bord equ dword[edi+110] ;цвет текста на полях |
||
328 | ted_color_select equ dword[edi+114] ;цвет выделения |
||
329 | ted_color_cur_text equ dword[edi+118] ;цвет символа под курсором |
||
330 | ted_color_wnd_text equ dword[edi+122] ;цвет текста в окне |
||
331 | ted_syntax_file equ dword[edi+126] ;указатель на начало файла синтаксиса |
||
332 | ted_syntax_file_end equ dword[edi+130] ;указатель на конец файла синтаксиса |
||
333 | ted_text_colors equ dword[edi+134] ;указатель на массив цветов текста |
||
334 | ted_help_text_f1 equ dword[edi+138] ;указатель на текст справки (по нажатии F1) |
||
335 | ted_help_id equ dword[edi+142] ;идентификатор для справки |
||
336 | ted_key_words_data equ dword[edi+146] ;указатель на структуры ключевых слов TexColViv |
||
337 | ted_tim_ch equ dword[edi+150] ;колличество изменений в файле |
||
338 | ted_tim_undo equ dword[edi+154] ;колличество отмененных действий |
||
339 | ted_tim_ls equ dword[edi+158] ;время последнего сохранения |
||
340 | ted_tim_co equ dword[edi+162] ;время последней цветовой разметки |
||
341 | ted_el_focus equ dword[edi+166] ;указатель на переменную элемента в фокусе |
||
342 | ted_err_save equ word[edi+170] ;ошибка сохранения файла |
||
343 | ted_key_new equ byte[edi+172] ;символ, который будет добавлятся с клавиатуры |
||
344 | ted_symbol_new_line equ byte[edi+173] ;символ завершения строки |
||
345 | ted_scr_w equ dword[edi+174] ;вертикальный скроллинг |
||
346 | ted_scr_h equ dword[edi+178] ;горизонтальный скроллинг |
||
347 | ted_panel_id equ byte[edi+182] ;номер открытой панели |
||
1449 | IgorA | 348 | ;------------------------------------------------------------------------------ |
1456 | IgorA | 349 | sb_offs_max_area equ 16 |
350 | sb_offs_cur_area equ 20 |
||
351 | sb_offs_position equ 24 |
||
352 | sb_offs_redraw equ 40 |
||
353 | ;------------------------------------------------------------------------------ |
||
354 | ted_opt_ed_move_cursor equ 1 ;двигать курсор после добавления текста |
||
355 | ted_opt_ed_change_time equ 2 ;добавлять изменения при редактировании текста |
||
356 | ted_offs_sel equ 34 ;смещение структуры sel |
||
357 | ted_offs_seln equ 50 ;смещение структуры seln |
||
358 | ted_offs_count_colors equ 90 ;смещение переменной колличества цветов |
||
359 | ted_offs_key_new equ 172 |
||
360 | ted_offs_symbol_new_line equ 173 ;смещение символа новой строки |
||
361 | ;------------------------------------------------------------------------------ |
||
1449 | IgorA | 362 | align 4 |
363 | tedit0: ;структура текстового редактора |
||
364 | .wnd BOX 0,50,440,150 ;+ 0 |
||
365 | .rec BOX 30,23,7,10 ;+16 |
||
1456 | IgorA | 366 | .drag_m db 0 ;+32 выделение от мыши |
367 | .drag_k db 0 ;+33 выделение от клавиатуры |
||
368 | .sel TexSelect 0,0,0,0 ;+34 структура выделения |
||
369 | .seln TexSelect ;+50 дополнительная структура выделения |
||
370 | .tex dd 0 ;+66 text memory pointer |
||
371 | .tex_1 dd 0 ;+70 text first symbol pointer |
||
372 | .tex_end dd 0 ;+74 text end memory pointer |
||
373 | .cur_x dd 0 ;+78 |
||
374 | .cur_y dd 0 ;+82 |
||
375 | .cur_ins db 1 ;+86 |
||
376 | .mode_color db 1 ;+87 режим выделения слов цветом (0-выкл. 1-вкл.) |
||
377 | .mode_invis db 0 ;+88 режим показа непечатаемых символов |
||
378 | .gp_opt db 0 ;+89 опции возвращаемые функцией GetPos |
||
379 | ; \/ не разрывать следующие переменные: |
||
380 | .count_colors_text dd 1 ;+90 колличество цветов текста |
||
381 | .count_key_words dd 0 ;+94 колличество ключевых слов |
||
382 | .color_cursor dd 0x808080 ;+98 цвет курсора |
||
383 | .color_wnd_capt dd 0x80 ;+102 цвет полей вокруг окна |
||
384 | .color_wnd_work dd 0x0 ;+106 цвет фона окна |
||
385 | .color_wnd_bord dd 0xd0d0d0 ;+110 цвет текста на полях |
||
386 | .color_select dd 0x208080 ;+114 цвет выделения |
||
387 | .color_cur_text dd 0xff0000 ;+118 цвет символа под курсором |
||
388 | .color_wnd_text dd 0xffff00 ;+122 цвет текста в окне |
||
389 | ; /\ другие, идущие ниже можно разрывать. |
||
390 | .syntax_file dd 0 ;+126 указатель на начало файла синтаксиса |
||
391 | .syntax_file_end dd 0 ;+130 указатель на конец файла синтаксиса |
||
392 | .text_colors dd 0 ;+134 указатель на массив цветов текста |
||
393 | .help_text_f1 dd 0 ;+138 указатель на текст справки (по нажатии F1) |
||
394 | .help_id dd -1 ;+142 идентификатор для справки |
||
395 | .key_words_data dd 0 ;+146 указатель на структуры ключевых слов TexColViv |
||
396 | .tim_ch dd ? ;+150 количество изменений в файле |
||
397 | .tim_undo dd ? ;+154 количество отмененных действий |
||
398 | .tim_ls dd ? ;+158 время последнего сохранения |
||
399 | .tim_co dd ? ;+162 время последней цветовой разметки |
||
400 | .el_focus dd el_focus ;+166 указатель на переменную элемента в фокусе |
||
401 | .err_save dw 0 ;+170 ошибка сохранения файла |
||
402 | .key_new db 0 ;+172 символ, который будет добавлятся с клавиатуры |
||
403 | .symbol_new_line db 20 ;+173 символ завершения строки |
||
404 | .scr_w dd wScr ;+174 вертикальный скроллинг |
||
405 | .scr_h dd hScr ;+178 горизонтальный скроллинг |
||
406 | .panel_id db 0 ;+182 номер открытой панели |
||
1449 | IgorA | 407 | ;------------------------------------------------------------------------------ |
408 | |||
1456 | IgorA | 409 | FkPos: rd 256 |
410 | conv_tabl rb 128 ; таблица для конвертирования scan-кода в ascii-код |
||
411 | |||
412 | |||
1338 | IgorA | 413 | el_focus dd 0 |
414 | mouse_dd dd 0 |
||
415 | tree1 tree_list 264,count_of_dir_list_files+2, tl_key_no_edit+tl_draw_par_line+tl_list_box_mode,\ |
||
416 | 16,16, 0x8080ff,0x0000ff,0xffffff, 0,70,TE_PANEL_WIDTH-17,120, 0,0,0, el_focus,\ |
||
417 | ws_dir_lbox,0 |
||
418 | |||
419 | ;dir_list memory |
||
420 | tree_file_struct: |
||
421 | dd 1 |
||
422 | dd 0,0,count_of_dir_list_files |
||
423 | dd dir_mem |
||
424 | db 0 |
||
425 | dd file_name ;sys_path |
||
426 | |||
427 | dir_mem rb 32+304*count_of_dir_list_files |
||
428 | |||
429 | |||
1343 | IgorA | 430 | if lang eq ru |
431 | |||
1338 | IgorA | 432 | menu_text_area: |
433 | db 'Файл',0 |
||
434 | .1: |
||
435 | db 'Создать',0 |
||
436 | db 'Открыть',0 |
||
437 | db 'Сохранить',0 |
||
438 | db 'Выход',0 |
||
439 | .end: |
||
440 | db 0 |
||
441 | |||
442 | ;-------- |
||
443 | msgbox_1: |
||
444 | dw 0 |
||
445 | db 'Внимание',0 ;+2 = +MB_TEXT_OFFSET |
||
446 | db 'Файл большой, потому открыт не весь.',13 |
||
447 | db ' 1. При его сохранении будут потеряны "не открывшиеся" символы.',13 |
||
448 | db ' 2. В документ нельзя добавлять текст, т. к. память занята.',0 |
||
449 | db 'Я понял(а)',0 ;button1 |
||
450 | db 0 |
||
451 | msgbox_2: |
||
452 | db 3,0 |
||
453 | db 'Внимание',0 ;+2 = +MB_TEXT_OFFSET |
||
454 | db 'Сохранить изменения в файле?',0 |
||
455 | db 'Сохранить',0 |
||
456 | db 'Не сохранять',0 |
||
457 | db 'Отмена',0 |
||
458 | db 0 |
||
459 | msgbox_2_funct: |
||
460 | dd On_SaveAndNewFile |
||
461 | dd On_NewFile |
||
462 | dd 0 |
||
463 | |||
464 | msgbox_3: |
||
465 | db 1,0 |
||
466 | db 'Внимание',0 ;+2 = +MB_TEXT_OFFSET |
||
467 | db 'Ошибка при открытии файла с цветовыми настройками!',13,\ |
||
468 | 'Потому выделение слов цветом не возможно.',13,\ |
||
1343 | IgorA | 469 | ' (код ошибки =' |
1338 | IgorA | 470 | .err: db '?' |
471 | db ')',0 |
||
472 | db 'Закрыть',0 |
||
473 | db 0 |
||
474 | |||
475 | msgbox_4: |
||
476 | db 1,0 |
||
477 | db 'Внимание',0 ;+2 = +MB_TEXT_OFFSET |
||
478 | db 'Ошибка при открытии файла!',13,\ |
||
479 | 'Возможно имя файла введено не правильно.',13,\ |
||
1343 | IgorA | 480 | ' (код ошибки =' |
1338 | IgorA | 481 | .err: db '?' |
482 | db ')',0 |
||
483 | db 'Закрыть',0 |
||
484 | db 0 |
||
485 | |||
486 | msgbox_5: |
||
487 | db 3,0 |
||
488 | db 'Внимание',0 ;+2 = +MB_TEXT_OFFSET |
||
489 | db 'Сохранить изменения в файле?',0 |
||
490 | db 'Не сохранять',0 |
||
491 | db 'Отмена',0 |
||
492 | db 0 |
||
493 | msgbox_5_funct: |
||
1456 | IgorA | 494 | dd but_no_msg_OpenFile |
1338 | IgorA | 495 | dd 0 |
496 | |||
497 | msgbox_6: |
||
498 | db 1,0 |
||
499 | db 'Внимание',0 ;+2 = +MB_TEXT_OFFSET |
||
500 | db 'Ошибка при сохранении файла!',13,\ |
||
501 | 'Возможно имя файла введено не правильно.',13,\ |
||
1343 | IgorA | 502 | ' (код ошибки =' |
1338 | IgorA | 503 | .err: db '?' |
504 | db ')',0 |
||
505 | db 'Закрыть',0 |
||
506 | db 0 |
||
507 | msgbox_7: |
||
508 | db 1,0 |
||
509 | db 'Текст не найден',0 ;+2 = +MB_TEXT_OFFSET |
||
510 | db 'Достигнут конец документа.',13,\ |
||
511 | 'Попробуйте перейти в начало документа',13,\ |
||
512 | 'или изменить запрос и повторить поиск.',0 |
||
513 | db 'Закрыть',0 |
||
514 | db 0 |
||
515 | msgbox_8: |
||
516 | db 3,0 |
||
517 | db 'Внимание',0 ;+2 = +MB_TEXT_OFFSET |
||
518 | db 'Для выхода завершите работу с файлом.',13,\ |
||
519 | 'Попробуйте сохранить изменения в файле',13,\ |
||
520 | 'или начать новый пустой.',0 |
||
521 | db 'Отмена',0 |
||
522 | db 0 |
||
523 | |||
524 | txtFindCapt db 'Поиск',0 |
||
525 | txtFindNext db 'Найти далее',0 |
||
526 | txtFormatCapt db 'Формат',0 |
||
527 | txtFormatApply db 'Применить',0 |
||
1343 | IgorA | 528 | txtRow db 'Строка',0 |
529 | txtCol db 'Знак',0 |
||
530 | txtOtm db 'Отмены',0 |
||
531 | txtBuf db 'Буфер: ' |
||
532 | buf db BUF_SIZE dup(0) ;buf тёхуфр яюёых txtBuf |
||
533 | |||
534 | else |
||
535 | |||
536 | menu_text_area: |
||
537 | db 'File',0 |
||
538 | .1: |
||
539 | db 'New',0 |
||
540 | db 'Open',0 |
||
541 | db 'Save',0 |
||
542 | db 'Exit',0 |
||
543 | .end: |
||
544 | db 0 |
||
545 | |||
546 | ;-------- |
||
547 | msgbox_1: |
||
548 | dw 0 |
||
549 | db 'Warning',0 ;+2 = +MB_TEXT_OFFSET |
||
550 | db 'File is large, because not all open.',13 |
||
551 | db ' 1. If you save it will lose "not opened" characters.',13 |
||
552 | db ' 2. The document can not add text, because the memory is busy.',0 |
||
553 | db 'Ok',0 ;button1 |
||
554 | db 0 |
||
555 | msgbox_2: |
||
556 | db 3,0 |
||
557 | db 'Warning',0 ;+2 = +MB_TEXT_OFFSET |
||
558 | db 'Save changes to the file?',0 |
||
559 | db 'Save',0 |
||
560 | db 'Discard',0 |
||
561 | db 'Cancel',0 |
||
562 | db 0 |
||
563 | msgbox_2_funct: |
||
564 | dd On_SaveAndNewFile |
||
565 | dd On_NewFile |
||
566 | dd 0 |
||
567 | |||
568 | msgbox_3: |
||
569 | db 1,0 |
||
570 | db 'Warning',0 ;+2 = +MB_TEXT_OFFSET |
||
571 | db 'Error opening the file with the color settings!',13,\ |
||
572 | 'Because color selection of words is not possible.',13,\ |
||
573 | ' (error code =' |
||
574 | .err: db '?' |
||
575 | db ')',0 |
||
576 | db 'Close',0 |
||
577 | db 0 |
||
578 | |||
579 | msgbox_4: |
||
580 | db 1,0 |
||
581 | db 'Warning',0 ;+2 = +MB_TEXT_OFFSET |
||
582 | db 'Error opening file!',13,\ |
||
583 | 'Maybe the file name is not entered correctly.',13,\ |
||
584 | ' (error code =' |
||
585 | .err: db '?' |
||
586 | db ')',0 |
||
587 | db 'Close',0 |
||
588 | db 0 |
||
589 | |||
590 | msgbox_5: |
||
591 | db 3,0 |
||
592 | db 'Warning',0 ;+2 = +MB_TEXT_OFFSET |
||
593 | db 'Save changes to the file?',0 |
||
594 | db 'Discard',0 |
||
595 | db 'Cancel',0 |
||
596 | db 0 |
||
597 | msgbox_5_funct: |
||
1456 | IgorA | 598 | dd but_no_msg_OpenFile |
1343 | IgorA | 599 | dd 0 |
600 | |||
601 | msgbox_6: |
||
602 | db 1,0 |
||
603 | db 'Warning',0 ;+2 = +MB_TEXT_OFFSET |
||
604 | db 'Error saving file!',13,\ |
||
605 | 'Maybe the file name is not entered correctly.',13,\ |
||
606 | ' (error code =' |
||
607 | .err: db '?' |
||
608 | db ')',0 |
||
609 | db 'Close',0 |
||
610 | db 0 |
||
611 | msgbox_7: |
||
612 | db 1,0 |
||
613 | db 'Text not found.',0 ;+2 = +MB_TEXT_OFFSET |
||
614 | db 'Reached end of the document.',13,\ |
||
615 | 'Try to go to the beginning of the document',13,\ |
||
616 | 'or change the query and search again.',0 |
||
617 | db 'Close',0 |
||
618 | db 0 |
||
619 | msgbox_8: |
||
620 | db 3,0 |
||
621 | db 'Warning',0 ;+2 = +MB_TEXT_OFFSET |
||
622 | db 'To quit, quit the file.',13,\ |
||
623 | 'Try to keep changes to a file',13,\ |
||
624 | 'or start a new blank file.',0 |
||
625 | db 'Cancel',0 |
||
626 | db 0 |
||
627 | |||
628 | txtFindCapt db 'Search',0 |
||
629 | txtFindNext db 'Find next',0 |
||
630 | txtFormatCapt db 'Format',0 |
||
631 | txtFormatApply db 'Apply',0 |
||
632 | txtRow db 'Rows',0 |
||
633 | txtCol db 'Cols',0 |
||
634 | txtOtm db 'Undo',0 |
||
635 | txtBuf db 'Buffer: ' |
||
636 | buf db BUF_SIZE dup(0) ;buf always after txtBuf |
||
637 | |||
638 | end if |
||
1338 | IgorA | 639 | ;------ |
640 | align 4 |
||
641 | EvChar db 0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 |
||
642 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
643 | db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 |
||
644 | db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 |
||
645 | db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 |
||
646 | db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 |
||
647 | db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 |
||
648 | db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0 |
||
649 | db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 |
||
650 | db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 |
||
651 | db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 |
||
652 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
653 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
654 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
655 | db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 |
||
656 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
657 | |||
658 | EvUpper db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
659 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
660 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
661 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
662 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
663 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
664 | db 0,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79 |
||
665 | db 80,81,82,83,84,85,86,87,88,89,90,0,0,0,0,0 |
||
666 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
667 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
668 | db 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143 |
||
669 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
670 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
671 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
672 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
673 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
674 | EvLover db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
675 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
676 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
677 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
678 | db 0,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111 |
||
679 | db 112,113,114,115,116,117,118,119,120,121,122,0,0,0,0,0 |
||
680 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
681 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
682 | db 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175 |
||
683 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
684 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
685 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
686 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
687 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
688 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
689 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
690 | conv_table dd 0 |
||
691 | |||
692 | |||
693 | KM_SHIFT equ 0x00010000 |
||
694 | KM_CTRL equ 0x00020000 |
||
695 | KM_ALT equ 0x00040000 |
||
696 | KM_NUMLOCK equ 0x00080000 |
||
697 | |||
698 | ; KEY CODES |
||
699 | KEY_F1 equ 0x0000003B |
||
700 | KEY_F2 equ 0x0000003C |
||
701 | KEY_F3 equ 0x0000003D |
||
702 |