Subversion Repositories Kolibri OS

Rev

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