Subversion Repositories Kolibri OS

Rev

Rev 5639 | Rev 5649 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5639 Rev 5643
Line 1... Line -...
1
fn_col_option dd def_col_file
fn_syntax_dir db 'info/',0
def_col_file db 'default.syn',0

exit_code dd 0 ;¯¥à¥¬¥­­ ï ¨á¯®«ì§ã¥¬ ï ¤«ï ¢ë室  ¨§ ¯à®£à ¬¬ë

;§­ ç¥­¨ï § ¤ ¢ ¥¬ë¥ ¯® 㬮«ç ­¨î, ¡¥§ ini ä ©« 
ini_def_window_t equ 20
ini_def_window_l equ 200
ini_def_window_w equ 570
ini_def_window_h equ 470
ini_def_symbol_w equ 7
ini_def_symbol_h equ 10
ini_def_scroll_type equ 0
;®¯¨á ­¨¥ ¯ à ¬ â஢ ¤«ï ini ä ©« 
ini_name db 't_edit.ini',0
ini_sec_window db 'Window',0
key_window_t db 't',0
key_window_l db 'l',0
key_window_w db 'w',0
key_window_h db 'h',0
key_symbol_w db 'symbol_w',0
key_symbol_h db 'symbol_h',0
key_scroll_type db 'scroll_type',0
ini_sec_options db 'Options',0
key_synt_file:
	db 'syntax_'
	.numb: db '0',0
key_synt_ext:
	db 'ext_'
	.numb: db '0',0
ini_def_synt_f db 0

align 4
max_synt_auto_open equ 10
synt_auto_open:
	rb 64*max_synt_auto_open
	db 0

system_dir_0 db '/sys/lib/'
lib_name_0 db 'box_lib.obj',0

system_dir_1 db '/sys/lib/'
lib_name_1 db 'msgbox.obj',0

system_dir_2 db '/sys/lib/'
lib_name_2 db 'proc_lib.obj',0

system_dir_3 db '/sys/lib/'
lib_name_3 db 'libimg.obj',0

system_dir_4 db '/sys/lib/'
lib_name_4 db 'libini.obj',0


;---------------------------------------------------------------------
align 4
import_box_lib:
	dd alib_init0 ;äã­ªæ¨ï § ¯ã᪠¥âáï ¬ ªà®á®¬ 1 à § ¯à¨ ¯®¤ª«î祭¨¨ ¡¨¡¨«¨®â¥ª¨, ¯®â®¬ã ¢ ¯à®£à ¬¬¥ ¬¥âª  ­  ­¥¥ ­¥ ­ã¦­ 

	edit_box_draw  dd aEdit_box_draw
	edit_box_key   dd aEdit_box_key
	edit_box_mouse dd aEdit_box_mouse
	;edit_box_set_text dd aEdit_box_set_text
	;version_ed     dd aVersion_ed

	scrollbar_ver_draw  dd aScrollbar_ver_draw
	scrollbar_ver_mouse dd aScrollbar_ver_mouse
	scrollbar_hor_draw  dd aScrollbar_hor_draw
	scrollbar_hor_mouse dd aScrollbar_hor_mouse
	;version_scrollbar   dd aVersion_scrollbar

	menu_bar_draw	 dd aMenu_bar_draw
	menu_bar_mouse	 dd aMenu_bar_mouse
	;version_menu_bar dd aVersion_menu_bar

	tl_data_init dd sz_tl_data_init
	tl_data_clear dd sz_tl_data_clear
	tl_info_clear dd sz_tl_info_clear
	tl_key dd sz_tl_key
	tl_mouse dd sz_tl_mouse
	tl_draw dd sz_tl_draw
	tl_info_undo dd sz_tl_info_undo
	tl_info_redo dd sz_tl_info_redo
	tl_node_add dd sz_tl_node_add
	tl_node_set_data dd sz_tl_node_set_data
	tl_node_get_data dd sz_tl_node_get_data
	tl_node_delete dd sz_tl_node_delete
	tl_cur_beg dd sz_tl_cur_beg
	tl_cur_next dd sz_tl_cur_next
	tl_cur_perv dd sz_tl_cur_perv
	;tl_node_close_open dd sz_tl_node_close_open
	tl_node_lev_inc dd sz_tl_node_lev_inc
	tl_node_lev_dec dd sz_tl_node_lev_dec

	ted_but_sumb_upper dd sz_ted_but_sumb_upper
	ted_but_sumb_lover dd sz_ted_but_sumb_lover
	ted_but_convert_by_table dd sz_ted_but_convert_by_table
	ted_can_save dd sz_ted_can_save
	ted_clear dd sz_ted_clear
	ted_delete dd sz_ted_delete
	ted_draw dd sz_ted_draw
	ted_init dd sz_ted_init
	ted_init_scroll_bars dd sz_ted_init_scroll_bars
	ted_init_syntax_file dd sz_ted_init_syntax_file
	ted_is_select dd sz_ted_is_select
	ted_key dd sz_ted_key
	ted_mouse dd sz_ted_mouse
	ted_open_file dd sz_ted_open_file
	ted_save_file dd sz_ted_save_file
	ted_text_add dd sz_ted_text_add
	ted_but_select_word dd sz_ted_but_select_word
	ted_but_cut dd sz_ted_but_cut
	ted_but_copy dd sz_ted_but_copy
	ted_but_paste dd sz_ted_but_paste
	ted_but_undo dd sz_ted_but_undo
	ted_but_redo dd sz_ted_but_redo
	ted_but_reverse dd sz_ted_but_reverse
	ted_but_find_next dd sz_ted_but_find_next
	ted_text_colored dd sz_ted_text_colored
	version_text_edit dd sz_ted_version

	PathShow_prepare	dd sz_PathShow_prepare
	PathShow_draw		dd sz_PathShow_draw

dd 0,0
	alib_init0 db 'lib_init',0

	aEdit_box_draw	db 'edit_box',0
	aEdit_box_key	db 'edit_box_key',0
	aEdit_box_mouse db 'edit_box_mouse',0
	;aEdit_box_set_text db 'edit_box_set_text',0
	;aVersion_ed    db 'version_ed',0

	aScrollbar_ver_draw  db 'scrollbar_v_draw',0
	aScrollbar_ver_mouse db 'scrollbar_v_mouse',0
	aScrollbar_hor_draw  db 'scrollbar_h_draw',0
	aScrollbar_hor_mouse db 'scrollbar_h_mouse',0
	;aVersion_scrollbar   db 'version_scrollbar',0

	aMenu_bar_draw	  db 'menu_bar_draw',0
	aMenu_bar_mouse   db 'menu_bar_mouse',0
	;aVersion_menu_bar db 'version_menu_bar',0

	sz_tl_data_init db 'tl_data_init',0
	sz_tl_data_clear db 'tl_data_clear',0
	sz_tl_info_clear db 'tl_info_clear',0
	sz_tl_key db 'tl_key',0
	sz_tl_mouse db 'tl_mouse',0
	sz_tl_draw db 'tl_draw',0
	sz_tl_info_undo db 'tl_info_undo',0
	sz_tl_info_redo db 'tl_info_redo',0
	sz_tl_node_add db 'tl_node_add',0
	sz_tl_node_set_data db 'tl_node_set_data',0
	sz_tl_node_get_data db 'tl_node_get_data',0
	sz_tl_node_delete db 'tl_node_delete',0
	sz_tl_cur_beg db 'tl_cur_beg',0
	sz_tl_cur_next db 'tl_cur_next',0
	sz_tl_cur_perv db 'tl_cur_perv',0
	;sz_tl_node_close_open db 'tl_node_close_open',0
	sz_tl_node_lev_inc db 'tl_node_lev_inc',0
	sz_tl_node_lev_dec db 'tl_node_lev_dec',0

	sz_ted_but_sumb_upper	db 'ted_but_sumb_upper',0
	sz_ted_but_sumb_lover	db 'ted_but_sumb_lover',0
	sz_ted_but_convert_by_table db 'ted_but_convert_by_table',0
	sz_ted_can_save 		db 'ted_can_save',0
	sz_ted_clear			db 'ted_clear',0
	sz_ted_delete			db 'ted_delete',0
	sz_ted_draw				db 'ted_draw',0
	sz_ted_init				db 'ted_init',0
	sz_ted_init_scroll_bars db 'ted_init_scroll_bars',0
	sz_ted_init_syntax_file db 'ted_init_syntax_file',0
	sz_ted_is_select		db 'ted_is_select',0
	sz_ted_key				db 'ted_key',0
	sz_ted_mouse			db 'ted_mouse',0
	sz_ted_open_file		db 'ted_open_file',0
	sz_ted_save_file		db 'ted_save_file',0
	sz_ted_text_add 		db 'ted_text_add',0
	sz_ted_but_select_word	db 'ted_but_select_word',0
	sz_ted_but_cut			db 'ted_but_cut',0
	sz_ted_but_copy 		db 'ted_but_copy',0
	sz_ted_but_paste		db 'ted_but_paste',0
	sz_ted_but_undo 		db 'ted_but_undo',0
	sz_ted_but_redo 		db 'ted_but_redo',0
	sz_ted_but_reverse		db 'ted_but_reverse',0
	sz_ted_but_find_next	db 'ted_but_find_next',0
	sz_ted_text_colored		db 'ted_text_colored',0
	sz_ted_version db 'version_text_edit',0

	sz_PathShow_prepare	db 'PathShow_prepare',0
	sz_PathShow_draw	db 'PathShow_draw',0

align 4
import_proclib:
	OpenDialog_Init dd aOpenDialog_Init
	OpenDialog_Start dd aOpenDialog_Start
dd 0,0
	aOpenDialog_Init db 'OpenDialog_init',0
	aOpenDialog_Start db 'OpenDialog_start',0

align 4
import_msgbox_lib:
	mb_create dd amb_create
	mb_reinit dd amb_reinit
	mb_setfunctions dd amb_setfunctions
dd 0,0
	amb_create db 'mb_create',0
	amb_reinit db 'mb_reinit',0
	amb_setfunctions db 'mb_setfunctions',0

align 4
import_libimg:
	dd alib_init1
	img_to_rgb2 dd aimg_to_rgb2
	img_decode  dd aimg_decode
	img_destroy dd aimg_destroy
dd 0,0
	alib_init1   db 'lib_init',0
	aimg_to_rgb2 db 'img_to_rgb2',0
	aimg_decode  db 'img_decode',0 ; ¢â®¬ â¨ç¥áª¨ ®¯à¥¤¥«ï¥â ä®à¬ â £à ä¨ç¥áª¨å ¤ ­­ëå
	aimg_destroy db 'img_destroy',0

align 4
import_libini:
	dd alib_init2
	ini_get_str   dd aini_get_str
	ini_get_int   dd aini_get_int
	ini_get_color dd aini_get_color
dd 0,0
	alib_init2     db 'lib_init',0
	aini_get_str   db 'ini_get_str',0
	aini_get_int   db 'ini_get_int',0
	aini_get_color db 'ini_get_color',0
 
;---------------------------------------------------------------------
align 4
wScr:
.x:
.size_x   dw 16 ;+0
.start_x  dw 50 ;+2
.y:
.size_y   dw 300 ; +4
.start_y  dw  50 ; +6
.btn_high dd  15 ; +8
.type	  dd ini_def_scroll_type ;+12
.max_area dd 100 ;+16
.cur_area dd  30 ;+20
.position dd   0 ;+24
.bckg_col dd   0 ;+28
.frnt_col dd   0 ;+32
.line_col dd   0 ;+36
.redraw   dd   0 ;+40
.delta	  dw   0 ;+44
.delta2   dw   0 ;+46
.run_x:
rb 2+2+2+2+4+4+4+4+4+4
.all_redraw dd 0 ;+80
.ar_offset  dd 1 ;+84
;---------------------------------------------------------------------
align 4
hScr:
.x:
.size_x     dw 150 ;+0
.start_x    dw 0 ;+2
.y:
.size_y     dw 16 ;+4
.start_y    dw 50 ;+6
.btn_high   dd 15 ;+8
.type	    dd ini_def_scroll_type ;+12
.max_area   dd 100 ;+16
.cur_area   dd 30 ;+20
.position   dd 0  ;+24
.bckg_col   dd 0  ;+28
.frnt_col   dd 0  ;+32
.line_col   dd 0  ;+36
.redraw     dd 0  ;+40
.delta	    dw 0  ;+44
.delta2     dw 0  ;+46
.run_x:
rb 2+2+2+2+4+4+4+4+4+4
.all_redraw dd 0 ;+80
.ar_offset  dd 1 ;+84
;---------------------------------------------------------------------   
align 4
ws_dir_lbox: ;¤®ç¥à­¨© áªà®««¨­£ ¤«ï í«¥¬¥­â  ListBox
.x:
.size_x     dw 16 ;+0
.start_x    dw 0 ;+2
.y:
.size_y     dw 30 ;+4
.start_y    dw 70 ;+6
.btn_high   dd 15 ;+8
.type	    dd ini_def_scroll_type ;+12
.max_area   dd 100 ;+16
.cur_area   dd 30 ;+20
.position   dd 0  ;+24
.bckg_col   dd 0  ;+28
.frnt_col   dd 0  ;+32
.line_col   dd 0  ;+36
.redraw     dd 0  ;+40
.delta	    dw 0  ;+44
.delta2     dw 0  ;+46
.run_x:
rb 2+2+2+2+4+4+4+4+4+4
.all_redraw dd 0 ;+80
.ar_offset  dd 1 ;+84
;---------------------------------------------------------------------

align 4
menu_data_1:
.type: dd 0   ;+0
.x:
.size_x  dw 35 ;+4
.start_x dw  5 ;+6
.y:
.size_y  dw 15 ;+8
.start_y dw  5 ;+10
.text_pointer: dd menu_text_area   ;+12
.pos_pointer:  dd menu_text_area.1 ;+16
.text_end   dd menu_text_area.end  ;+20
.mouse_pos  dd 0 ;+24
.mouse_keys dd 0 ;+28
.x1:
.size_x1  dw 70  ;+32
.start_x1 dw  5  ;+34
.y1:
.size_y1  dw 15  ;+36
.start_y1 dw 20  ;+38
.bckg_col dd 0xeeeeee ;+40
.frnt_col dd 0xff ;+44
.menu_col dd 0xffffff ;+48
.select   dd 0 ;+52
.out_select dd 0 ;+56
.buf_adress dd 0 ;+60
.procinfo dd procinfo ;0 ;+64
.click	 dd 0 ;+68
.cursor  dd 0 ;+72
.cursor_old dd 0 ;+76
.interval   dd 16 ;+80
.cursor_max  dd 0 ;+84
.extended_key dd 0 ;+88
.menu_sel_col dd 0x00cc00 ;+92
.bckg_text_col dd 0 ;+96
.frnt_text_col dd 0xffffff ;+100
.mouse_keys_old dd 0 ;+104
.font_height dd 8 ;+108
.cursor_out  dd 0 ;+112
.get_mouse_flag dd 0 ;+116

;---------------------------------------------------------------------
align 4
OpenDialog_data:
.type			dd 0
.procinfo		dd procinfo	;+4
.com_area_name	dd communication_area_name	;+8
.com_area		dd 0	;+12
.opendir_path		dd plugin_path ;+16
.dir_default_path	dd default_dir ;+20
.start_path		dd file_name ;+24 ¯ãâì ª ¤¨ «®£ã ®âªàëâ¨ï ä ©«®¢
.draw_window	dd draw_window	;+28
.status 		dd 0	;+32
.openfile_path	dd openfile_path	;+36 ¯ãâì ª ®âªà뢠¥¬®¬ã ä ©«ã
.filename_area	dd filename_area	;+40
.filter_area	dd Filter
.x:
.x_size 		dw 420 ;+48 ; Window X size
.x_start		dw 10 ;+50 ; Window X position
.y:
.y_size 		dw 320 ;+52 ; Window y size
.y_start		dw 10 ;+54 ; Window Y position

default_dir db '/rd/1',0 ;¤¨à¥ªâ®à¨ï ¯® 㬮«ç ­¨î

communication_area_name:
	db 'FFFFFFFF_open_dialog',0
open_dialog_name:
	db 'opendial',0
communication_area_default_path:
	db '/rd/1/File managers/',0

Filter:
dd Filter.end - Filter.1
.1:
db 'ASM',0
db 'CPP',0
db 'INC',0
db 'MAC',0
db 'INI',0
db 'TXT',0
db 'H',0
db 'C',0
db 'HTM',0
db 'HTML',0
db 'PY',0
db 'SH',0
db 'BAT',0
db 'LUA',0
db 'INF',0
db 'LOG',0
db 'DBG',0
db 'DAT',0
.end:
db 0

TED_PANEL_NULL	 equ 0 ;­¥â ®âªàë⮩ ¯ ­¥«¨
TED_PANEL_FIND	 equ 1 ;¯ ­¥«ì ¯®¨áª 
TED_PANEL_SYNTAX equ 2 ;¯ ­¥«ì ¢ë¡®à  ä ©«®¢ ¯®¤á¢¥âª¨
TED_PANEL_WIDTH  equ 150 ;è¨à¨­  ¯ ­¥«¨

count_of_dir_list_files equ 15 ;¬ ªá¨¬ «ì­®¥ ç¨á«® ä ©«®¢ ᨭ⠪á¨á  ¯®ª §ë¢ ¥¬ëå ¢ ®ª­¥ í«¥¬¥­â  tree1

;------------------------------------------------------------------------------
struct TexSelect
  x0 dd ?
  y0 dd ?
  x1 dd ?
  y1 dd ?
ends
;------------------------------------------------------------------------------
align 4
tedit0: ;áâàãªâãà  â¥ªá⮢®£® । ªâ®à 
	.wnd BOX 0,30,440,150 ;+ 0
	.rec BOX 30,23,ini_def_symbol_w,ini_def_symbol_h ;+16
	.drag_m db 0 ;+32 ¢ë¤¥«¥­¨¥ ®â ¬ëè¨
	.drag_k db 0 ;+33 ¢ë¤¥«¥­¨¥ ®â ª« ¢¨ âãàë
	.sel  TexSelect 0,0,0,0 ;+34 áâàãªâãà  ¢ë¤¥«¥­¨ï
	.seln TexSelect ;+50 ¤®¯®«­¨â¥«ì­ ï áâàãªâãà  ¢ë¤¥«¥­¨ï
	.tex	  dd 0 ;+66 text memory pointer
	.tex_1	  dd 0 ;+70 text first symbol pointer
	.tex_end  dd 0 ;+74 text end memory pointer
	.cur_x	  dd 0 ;+78 ª®®à¤¨­ â  x ªãàá®à 
	.cur_y	  dd 0 ;+82 ª®®à¤¨­ â  y ªãàá®à 
	.max_chars dd maxChars ;+86 ¬ ªá¨¬ «ì­®¥ ç¨á«® ᨬ¢®«®¢ ¢ ®¤­®¬ ¤®ªã¬¥­â¥
	.count_colors_text dd 1 ;+90 ª®««¨ç¥á⢮ 梥⮢ ⥪áâ 
	.count_key_words   dd 0 ;+94 ª®««¨ç¥á⢮ ª«î祢ëå á«®¢
	.color_cursor	   dd 0x808080 ;+98 梥⠪ãàá®à 
	.color_wnd_capt    dd	  0x80 ;+102 梥⠯®«¥© ¢®ªà㣠®ª­ 
	.color_wnd_work    dd	   0x0 ;+106 梥â ä®­  ®ª­ 
	.color_wnd_bord    dd 0xd0d0d0 ;+110 梥â ⥪áâ  ­  ¯®«ïå
	.color_select	   dd 0x208080 ;+114 梥⠢뤥«¥­¨ï
	.color_cur_text    dd 0xff0000 ;+118 梥â ᨬ¢®«  ¯®¤ ªãàá®à®¬
	.color_wnd_text    dd 0xffff00 ;+122 梥â ⥪áâ  ¢ ®ª­¥
	.syntax_file	   dd 0 ;+126 㪠§ â¥«ì ­  ­ ç «® ä ©«  ᨭ⠪á¨á 
	.syntax_file_size  dd maxSyntaxFileSize ;+130 ¬ ªá¨¬ «ì­ë© à §¬¥à ä ©«  ᨭ⠪á¨á 
	.text_colors	   dd 0 ;+134 㪠§ â¥«ì ­  ¬ áᨢ 梥⮢ ⥪áâ 
	.help_text_f1	   dd 0 ;+138 㪠§ â¥«ì ­  ⥪áâ á¯à ¢ª¨ (¯® ­ ¦ â¨¨ F1)
	.help_id	   dd -1 ;+142 ¨¤¥­â¨ä¨ª â®à ¤«ï á¯à ¢ª¨
	.key_words_data    dd 0 ;+146 㪠§ â¥«ì ­  áâàãªâãàë ª«î祢ëå á«®¢ TexColViv
	.tim_ch      dd ? ;+150 ª®«¨ç¥á⢮ ¨§¬¥­¥­¨© ¢ ä ©«¥
	.tim_undo    dd ? ;+154 ª®«¨ç¥á⢮ ®â¬¥­¥­­ëå ¤¥©á⢨©
	.tim_ls      dd ? ;+158 ¢à¥¬ï ¯®á«¥¤­¥£® á®åà ­¥­¨ï
	.tim_co      dd ? ;+162 ¢à¥¬ï ¯®á«¥¤­¥© 梥⮢®© à §¬¥âª¨
	.el_focus    dd el_focus ;+166 㪠§ â¥«ì ­  ¯¥à¥¬¥­­ãî í«¥¬¥­â  ¢ 䮪ãá¥
	.err_save    db 0 ;+170 ®è¨¡ª  á®åà ­¥­¨ï ä ©« 
	.panel_id    db 0 ;+171 ­®¬¥à ®âªàë⮩ ¯ ­¥«¨
	.key_new     db 0 ;+172 ᨬ¢®«, ª®â®àë© ¡ã¤¥â ¤®¡ ¢«ïâáï á ª« ¢¨ âãàë
	.symbol_new_line db 20 ;+173 ᨬ¢®« § ¢¥à襭¨ï áâப¨
	.scr_w	     dd wScr ;+174 ¢¥à⨪ «ì­ë© áªà®««¨­£
	.scr_h	     dd hScr ;+178 £®à¨§®­â «ì­ë© áªà®««¨­£
	.arr_key_pos dd 0 ;+182 㪠§ â¥«ì ­  ¬ áᨢ ¯®§¨æ¨© ª«î祢ëå á«®¢
	.buffer      dd buf ;+186 㪠§ â¥«ì ­  ¡ãä¥à ª®¯¨à®¢ ­¨ï/¢áâ ¢ª¨
	.buffer_find dd buf_find ;+190 㪠§ â¥«ì ­  ¡ãä¥à ¤«ï ¯®¨áª 
	.cur_ins     db 1 ;+194 ०¨¬ à ¡®âë ªãàá®à  (®¡ëç­ë© ¨«¨ § ¬¥­ )
	.mode_color  db 1 ;+195 ०¨¬ ¢ë¤¥«¥­¨ï á«®¢ 梥⮬ (0-¢ëª«. 1-¢ª«.)
	.mode_invis  db 0 ;+196 ०¨¬ ¯®ª §  ­¥¯¥ç â ¥¬ëå ᨬ¢®«®¢
	.gp_opt      db 0 ;+197 ®¯æ¨¨ ¢®§¢à é ¥¬ë¥ ä㭪樥© ted_get_pos_by_cursor
	.fun_on_key_ctrl_o dd ted_but_open_file ;+198 㪠§ â¥«ì ­  äã­ªæ¨î ¢ë§ë¢ ¥¬ãî ¯à¨ ­ ¦ â¨¨ Ctrl+O (®âªàë⨥ ä ©« )
	.fun_on_key_ctrl_f dd ted_but_find	;+202 ... Ctrl+F (¢ë§®¢ /áªàëâ¨ï ¯ ­¥«¨ ¯®¨áª )
	.fun_on_key_ctrl_n dd ted_but_new_file	;+206 ... Ctrl+N (ᮧ¤ ­¨¥ ­®¢®£® ¤®ªã¬¥­â )
	.fun_on_key_ctrl_s dd ted_but_save_file ;+210 ... Ctrl+S
	.buffer_size	   dd BUF_SIZE ;+214 à §¬¥à ¡ãä¥à  ª®¯¨à®¢ ­¨ï/¢áâ ¢ª¨
	.fun_find_err	   dd ted_on_find_err ;+218 㪠§ â¥«ì ­  äã­ªæ¨î ¢ë§ë¢ ¥¬ãî ¥á«¨ ¯®¨áª § ª®­ç¨«áï ­¥ã¤ ç­®
	.fun_init_synt_err dd 0   ;+222
	.fun_draw_panel_buttons dd draw_but_toolbar  ;+226 㪠§ â¥«ì ­  äã­ªæ¨î à¨á®¢ ­¨ï ¯ ­¥«¨ á ª­®¯ª ¬¨
	.fun_draw_panel_find	dd draw_panel_find   ;+230 㪠§ â¥«ì ­  äã­ªæ¨î à¨á®¢ ­¨ï ¯ ­¥«¨ ¯®¨áª 
	.fun_draw_panel_syntax	dd draw_panel_syntax ;+234 㪠§ â¥«ì ­  äã­ªæ¨î à¨á®¢ ­¨ï ¯ ­¥«¨ ᨭ⠪á¨á 
	.fun_save_err		dd ted_save_err_msg  ;+238 㪠§ â¥«ì ­  äã­ªæ¨î ¢ë§ë¢ ¥¬ãî ¥á«¨ á®åà ­¥­¨¥ ä ©«  § ª®­ç¨«®áì ­¥ã¤ ç­®
	.increase_size dd 200 ;+242 ç¨á«® ᨬ¢®«®¢ ­  ª®â®àë¥ ¡ã¤¥â 㢥稢 âìáï ¯ ¬ïâì ¯à¨ ­¥å¢ âª¥
	.ptr_free_symb dd ?   ;+246 ¨á¯®«ì§ã¥âáï ¢­ãâà¨ í«¥¬¥­â  ¤«ï ã᪮७¨ï ¢áâ ¢ª¨ ⥪áâ 
;------------------------------------------------------------------------------

conv_tabl rb 128 ; â ¡«¨æ  ¤«ï ª®­¢¥àâ¨à®¢ ­¨ï scan-ª®¤  ¢ ascii-ª®¤

el_focus dd 0
mouse_dd dd 0
tree1 tree_list 264,count_of_dir_list_files+2, tl_key_no_edit+tl_draw_par_line+tl_list_box_mode,\
    16,16, 0x8080ff,0x0000ff,0xffffff, 0,70,TED_PANEL_WIDTH-17,120, 0,0,0, el_focus,\
    ws_dir_lbox,0

;dir_list memory
tree_file_struct:
  dd 1
  dd 0,0,count_of_dir_list_files
  dd dir_mem
  db 0
  dd file_name ;sys_path

if lang eq ru

hed db '’¥ªáâ®¢ë© à¥¤ ªâ®à 01.08.15',0 ;¯®¤¯¨áì ®ª­ 

menu_text_area:
db '” ©«',0
.1:
db '‘®§¤ âì',0
db 'Žâªàëâì',0
db '‘®åà ­¨âì',0
db '‚ë室',0
.end:
db 0

msgbox_1:
  dw 0
  db '‚­¨¬ ­¨¥',0 ;+2 = +MB_TEXT_OFFSET
  db '” ©« ¡®«ì让, ¯®â®¬ã ®âªàëâ ­¥ ¢¥áì.',13
  db '  1. à¨ ¥£® á®åà ­¥­¨¨ ¡ã¤ãâ ¯®â¥àï­ë "­¥ ®âªàë¢è¨¥áï" ᨬ¢®«ë.',13
  db '  2. ‚ ¤®ªã¬¥­â ­¥«ì§ï ¤®¡ ¢«ïâì ⥪áâ, â. ª. ¯ ¬ïâì § ­ïâ .',0
  db 'Ÿ ¯®­ï«( )',0 ;button1
  db 0
msgbox_2:
  db 3,0
  db '‚­¨¬ ­¨¥',0
  db '‘®åà ­¨âì ¨§¬¥­¥­¨ï ¢ ä ©«¥?',0
  db '‘®åà ­¨âì',0
  db '¥ á®åà ­ïâì',0
  db 'Žâ¬¥­ ',0
  db 0
msgbox_3:
  db 1,0
  db '‚­¨¬ ­¨¥',0
  db 'Žè¨¡ª  ¯à¨ ®âªàë⨨ ä ©«  á 梥⮢묨 ­ áâனª ¬¨!',13,\
     '®â®¬ã ¢ë¤¥«¥­¨¥ á«®¢ 梥⮬ ­¥ ¢®§¬®¦­®.',13,\
     '  (ª®¤ ®è¨¡ª¨ ='
  .err: db '?'
  db ')',0
  db '‡ ªàëâì',0
  db 0
msgbox_4:
  db 1,0
  db '‚­¨¬ ­¨¥',0
  db 'Žè¨¡ª  ¯à¨ ®âªàë⨨ ä ©« !',13,\
     '‚®§¬®¦­® ¨¬ï ä ©«  ¢¢¥¤¥­® ­¥ ¯à ¢¨«ì­®.',13,\
     '  (ª®¤ ®è¨¡ª¨ ='
  .err: db '?'
  db ')',0
  db '‡ ªàëâì',0
  db 0
msgbox_6:
  db 1,0
  db '‚­¨¬ ­¨¥',0
  db 'Žè¨¡ª  ¯à¨ á®åà ­¥­¨¨ ä ©« !',13,\
     '‚®§¬®¦­® ¨¬ï ä ©«  ¢¢¥¤¥­® ­¥ ¯à ¢¨«ì­®.',13,\
     '  (ª®¤ ®è¨¡ª¨ ='
  .err: db '?'
  db ')',0
  db '‡ ªàëâì',0
  db 0
msgbox_7:
  db 1,0
  db '’¥ªáâ ­¥ ­ ©¤¥­',0
  db '„®á⨣­ãâ ª®­¥æ ¤®ªã¬¥­â .',13,\
     '®¯à®¡ã©â¥ ¯¥à¥©â¨ ¢ ­ ç «® ¤®ªã¬¥­â ',13,\
     '¨«¨ ¨§¬¥­¨âì § ¯à®á ¨ ¯®¢â®à¨âì ¯®¨áª.',0
  db '‡ ªàëâì',0
  db 0
msgbox_9:
  db 3,0
  db '‚­¨¬ ­¨¥',0
  db '¥ ®âªàë«áï ',39,'¤¨ «®£ ®âªàëâ¨ï ä ©« ',39,'.',13
  .fdp:
  rb 100
  db 0
  db '‡ ªàëâì',0
  db 0

txtFile db '” ©«:',0
txtFindCapt db '®¨áª',0
txtFindNext db ' ©â¨ ¤ «¥¥',0
txtFormatCapt db '”®à¬ â',0
txtFormatApply db 'à¨¬¥­¨âì',0

else

hed db 'Text editor 02.07.14',0

menu_text_area:
db 'File',0
.1:
db 'New',0
db 'Open',0
db 'Save',0
db 'Exit',0
.end:
db 0

msgbox_1:
  dw 0
  db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
  db 'File is large, because not all open.',13
  db '  1. If you save it will lose "not opened" characters.',13
  db '  2. The document can not add text, because the memory is busy.',0
  db 'Ok',0 ;button1
  db 0
msgbox_2:
  db 3,0
  db 'Warning',0
  db 'Save changes to the file?',0
  db 'Save',0
  db 'Discard',0
  db 'Cancel',0
  db 0
msgbox_3:
  db 1,0
  db 'Warning',0
  db 'Error opening the file with the color settings!',13,\
     'Because color selection of words is not possible.',13,\
     '  (error code ='
  .err: db '?'
  db ')',0
  db 'Close',0
  db 0
msgbox_4:
  db 1,0
  db 'Warning',0
  db 'Error opening file!',13,\
     'Maybe the file name is not entered correctly.',13,\
     '  (error code ='
  .err: db '?'
  db ')',0
  db 'Close',0
  db 0
msgbox_6:
  db 1,0
  db 'Warning',0
  db 'Error saving file!',13,\
     'Maybe the file name is not entered correctly.',13,\
     '  (error code ='
  .err: db '?'
  db ')',0
  db 'Close',0
  db 0
msgbox_7:
  db 1,0
  db 'Text not found.',0
  db 'Reached end of the document.',13,\
     'Try to go to the beginning of the document',13,\
     'or change the query and search again.',0
  db 'Close',0
  db 0
msgbox_9:
  db 3,0
  db 'Warning',0
  db 'Error run ',39,'open file dialog',39,'.',13
  .fdp:
  rb 100
  db 0
  db 'Close',0
  db 0

txtFile db 'File:',0
txtFindCapt db 'Search',0
txtFindNext db 'Find next',0
txtFormatCapt db 'Format',0
txtFormatApply db 'Apply',0

end if

;ä㭪樨 ¤«ï ª­®¯®ª ¢ á®®¡é¥­¨ïå
msgbox_2N_funct:
	dd On_SaveAndNewFile
	dd On_NewFile
	dd 0
msgbox_2O_funct:
	dd On_SaveAndOpenFile
	dd ted_but_open_file.no_msg
	dd 0
msgbox_2E_funct:
	dd On_SaveAndExit
	dd On_Exit
	dd 0

KM_SHIFT equ 0x00010000
KM_CTRL equ 0x00020000
KM_ALT equ 0x00040000
KM_NUMLOCK equ 0x00080000

; KEY CODES
KEY_F1 equ 0x0000003B
KEY_F2 equ 0x0000003C
KEY_F3 equ 0x0000003D
-
 
2
1
fn_col_option dd def_col_file
fn_syntax_dir db 'info/',0
def_col_file db 'default.syn',0

exit_code dd 0 ;¯¥à¥¬¥­­ ï ¨á¯®«ì§ã¥¬ ï ¤«ï ¢ë室  ¨§ ¯à®£à ¬¬ë

;§­ ç¥­¨ï § ¤ ¢ ¥¬ë¥ ¯® 㬮«ç ­¨î, ¡¥§ ini ä ©« 
ini_def_window_t equ 20
ini_def_window_l equ 200
ini_def_window_w equ 570
ini_def_window_h equ 470
ini_def_symbol_w equ 7
ini_def_symbol_h equ 10
ini_def_scroll_type equ 0
;®¯¨á ­¨¥ ¯ à ¬ â஢ ¤«ï ini ä ©« 
ini_name db 't_edit.ini',0
ini_sec_window db 'Window',0
key_window_t db 't',0
key_window_l db 'l',0
key_window_w db 'w',0
key_window_h db 'h',0
key_symbol_w db 'symbol_w',0
key_symbol_h db 'symbol_h',0
key_scroll_type db 'scroll_type',0
ini_sec_options db 'Options',0
key_synt_file:
	db 'syntax_'
	.numb: db '0',0
key_synt_ext:
	db 'ext_'
	.numb: db '0',0
ini_def_synt_f db 0

align 4
max_synt_auto_open equ 10
synt_auto_open:
	rb 64*max_synt_auto_open
	db 0

system_dir_0 db '/sys/lib/'
lib_name_0 db 'box_lib.obj',0

system_dir_1 db '/sys/lib/'
lib_name_1 db 'msgbox.obj',0

system_dir_2 db '/sys/lib/'
lib_name_2 db 'proc_lib.obj',0

system_dir_3 db '/sys/lib/'
lib_name_3 db 'libimg.obj',0

system_dir_4 db '/sys/lib/'
lib_name_4 db 'libini.obj',0


;---------------------------------------------------------------------
align 4
import_box_lib:
	dd alib_init0 ;äã­ªæ¨ï § ¯ã᪠¥âáï ¬ ªà®á®¬ 1 à § ¯à¨ ¯®¤ª«î祭¨¨ ¡¨¡¨«¨®â¥ª¨, ¯®â®¬ã ¢ ¯à®£à ¬¬¥ ¬¥âª  ­  ­¥¥ ­¥ ­ã¦­ 

	edit_box_draw  dd aEdit_box_draw
	edit_box_key   dd aEdit_box_key
	edit_box_mouse dd aEdit_box_mouse
	;edit_box_set_text dd aEdit_box_set_text
	;version_ed     dd aVersion_ed

	scrollbar_ver_draw  dd aScrollbar_ver_draw
	scrollbar_ver_mouse dd aScrollbar_ver_mouse
	scrollbar_hor_draw  dd aScrollbar_hor_draw
	scrollbar_hor_mouse dd aScrollbar_hor_mouse
	;version_scrollbar   dd aVersion_scrollbar

	menu_bar_draw	 dd aMenu_bar_draw
	menu_bar_mouse	 dd aMenu_bar_mouse
	;version_menu_bar dd aVersion_menu_bar

	tl_data_init dd sz_tl_data_init
	tl_data_clear dd sz_tl_data_clear
	tl_info_clear dd sz_tl_info_clear
	tl_key dd sz_tl_key
	tl_mouse dd sz_tl_mouse
	tl_draw dd sz_tl_draw
	tl_info_undo dd sz_tl_info_undo
	tl_info_redo dd sz_tl_info_redo
	tl_node_add dd sz_tl_node_add
	tl_node_set_data dd sz_tl_node_set_data
	tl_node_get_data dd sz_tl_node_get_data
	tl_node_delete dd sz_tl_node_delete
	tl_cur_beg dd sz_tl_cur_beg
	tl_cur_next dd sz_tl_cur_next
	tl_cur_perv dd sz_tl_cur_perv
	;tl_node_close_open dd sz_tl_node_close_open
	tl_node_lev_inc dd sz_tl_node_lev_inc
	tl_node_lev_dec dd sz_tl_node_lev_dec

	ted_but_sumb_upper dd sz_ted_but_sumb_upper
	ted_but_sumb_lover dd sz_ted_but_sumb_lover
	ted_but_convert_by_table dd sz_ted_but_convert_by_table
	ted_can_save dd sz_ted_can_save
	ted_clear dd sz_ted_clear
	ted_delete dd sz_ted_delete
	ted_draw dd sz_ted_draw
	ted_init dd sz_ted_init
	ted_init_scroll_bars dd sz_ted_init_scroll_bars
	ted_init_syntax_file dd sz_ted_init_syntax_file
	ted_is_select dd sz_ted_is_select
	ted_key dd sz_ted_key
	ted_mouse dd sz_ted_mouse
	ted_open_file dd sz_ted_open_file
	ted_save_file dd sz_ted_save_file
	ted_text_add dd sz_ted_text_add
	ted_but_select_word dd sz_ted_but_select_word
	ted_but_cut dd sz_ted_but_cut
	ted_but_copy dd sz_ted_but_copy
	ted_but_paste dd sz_ted_but_paste
	ted_but_undo dd sz_ted_but_undo
	ted_but_redo dd sz_ted_but_redo
	ted_but_reverse dd sz_ted_but_reverse
	ted_but_find_next dd sz_ted_but_find_next
	ted_text_colored dd sz_ted_text_colored
	version_text_edit dd sz_ted_version

	PathShow_prepare	dd sz_PathShow_prepare
	PathShow_draw		dd sz_PathShow_draw

dd 0,0
	alib_init0 db 'lib_init',0

	aEdit_box_draw	db 'edit_box',0
	aEdit_box_key	db 'edit_box_key',0
	aEdit_box_mouse db 'edit_box_mouse',0
	;aEdit_box_set_text db 'edit_box_set_text',0
	;aVersion_ed    db 'version_ed',0

	aScrollbar_ver_draw  db 'scrollbar_v_draw',0
	aScrollbar_ver_mouse db 'scrollbar_v_mouse',0
	aScrollbar_hor_draw  db 'scrollbar_h_draw',0
	aScrollbar_hor_mouse db 'scrollbar_h_mouse',0
	;aVersion_scrollbar   db 'version_scrollbar',0

	aMenu_bar_draw	  db 'menu_bar_draw',0
	aMenu_bar_mouse   db 'menu_bar_mouse',0
	;aVersion_menu_bar db 'version_menu_bar',0

	sz_tl_data_init db 'tl_data_init',0
	sz_tl_data_clear db 'tl_data_clear',0
	sz_tl_info_clear db 'tl_info_clear',0
	sz_tl_key db 'tl_key',0
	sz_tl_mouse db 'tl_mouse',0
	sz_tl_draw db 'tl_draw',0
	sz_tl_info_undo db 'tl_info_undo',0
	sz_tl_info_redo db 'tl_info_redo',0
	sz_tl_node_add db 'tl_node_add',0
	sz_tl_node_set_data db 'tl_node_set_data',0
	sz_tl_node_get_data db 'tl_node_get_data',0
	sz_tl_node_delete db 'tl_node_delete',0
	sz_tl_cur_beg db 'tl_cur_beg',0
	sz_tl_cur_next db 'tl_cur_next',0
	sz_tl_cur_perv db 'tl_cur_perv',0
	;sz_tl_node_close_open db 'tl_node_close_open',0
	sz_tl_node_lev_inc db 'tl_node_lev_inc',0
	sz_tl_node_lev_dec db 'tl_node_lev_dec',0

	sz_ted_but_sumb_upper	db 'ted_but_sumb_upper',0
	sz_ted_but_sumb_lover	db 'ted_but_sumb_lover',0
	sz_ted_but_convert_by_table db 'ted_but_convert_by_table',0
	sz_ted_can_save 		db 'ted_can_save',0
	sz_ted_clear			db 'ted_clear',0
	sz_ted_delete			db 'ted_delete',0
	sz_ted_draw				db 'ted_draw',0
	sz_ted_init				db 'ted_init',0
	sz_ted_init_scroll_bars db 'ted_init_scroll_bars',0
	sz_ted_init_syntax_file db 'ted_init_syntax_file',0
	sz_ted_is_select		db 'ted_is_select',0
	sz_ted_key				db 'ted_key',0
	sz_ted_mouse			db 'ted_mouse',0
	sz_ted_open_file		db 'ted_open_file',0
	sz_ted_save_file		db 'ted_save_file',0
	sz_ted_text_add 		db 'ted_text_add',0
	sz_ted_but_select_word	db 'ted_but_select_word',0
	sz_ted_but_cut			db 'ted_but_cut',0
	sz_ted_but_copy 		db 'ted_but_copy',0
	sz_ted_but_paste		db 'ted_but_paste',0
	sz_ted_but_undo 		db 'ted_but_undo',0
	sz_ted_but_redo 		db 'ted_but_redo',0
	sz_ted_but_reverse		db 'ted_but_reverse',0
	sz_ted_but_find_next	db 'ted_but_find_next',0
	sz_ted_text_colored		db 'ted_text_colored',0
	sz_ted_version db 'version_text_edit',0

	sz_PathShow_prepare	db 'PathShow_prepare',0
	sz_PathShow_draw	db 'PathShow_draw',0

align 4
import_proclib:
	OpenDialog_Init dd aOpenDialog_Init
	OpenDialog_Start dd aOpenDialog_Start
dd 0,0
	aOpenDialog_Init db 'OpenDialog_init',0
	aOpenDialog_Start db 'OpenDialog_start',0

align 4
import_msgbox_lib:
	mb_create dd amb_create
	mb_reinit dd amb_reinit
	mb_setfunctions dd amb_setfunctions
dd 0,0
	amb_create db 'mb_create',0
	amb_reinit db 'mb_reinit',0
	amb_setfunctions db 'mb_setfunctions',0

align 4
import_libimg:
	dd alib_init1
	img_to_rgb2 dd aimg_to_rgb2
	img_decode  dd aimg_decode
	img_destroy dd aimg_destroy
dd 0,0
	alib_init1   db 'lib_init',0
	aimg_to_rgb2 db 'img_to_rgb2',0
	aimg_decode  db 'img_decode',0 ; ¢â®¬ â¨ç¥áª¨ ®¯à¥¤¥«ï¥â ä®à¬ â £à ä¨ç¥áª¨å ¤ ­­ëå
	aimg_destroy db 'img_destroy',0

align 4
import_libini:
	dd alib_init2
	ini_get_str   dd aini_get_str
	ini_get_int   dd aini_get_int
	ini_get_color dd aini_get_color
dd 0,0
	alib_init2     db 'lib_init',0
	aini_get_str   db 'ini_get_str',0
	aini_get_int   db 'ini_get_int',0
	aini_get_color db 'ini_get_color',0
 
;---------------------------------------------------------------------
align 4
wScr:
.x:
.size_x   dw 16 ;+0
.start_x  dw 50 ;+2
.y:
.size_y   dw 300 ; +4
.start_y  dw  50 ; +6
.btn_high dd  15 ; +8
.type	  dd ini_def_scroll_type ;+12
.max_area dd 100 ;+16
.cur_area dd  30 ;+20
.position dd   0 ;+24
.bckg_col dd   0 ;+28
.frnt_col dd   0 ;+32
.line_col dd   0 ;+36
.redraw   dd   0 ;+40
.delta	  dw   0 ;+44
.delta2   dw   0 ;+46
.run_x:
rb 2+2+2+2+4+4+4+4+4+4
.all_redraw dd 0 ;+80
.ar_offset  dd 1 ;+84
;---------------------------------------------------------------------
align 4
hScr:
.x:
.size_x     dw 150 ;+0
.start_x    dw 0 ;+2
.y:
.size_y     dw 16 ;+4
.start_y    dw 50 ;+6
.btn_high   dd 15 ;+8
.type	    dd ini_def_scroll_type ;+12
.max_area   dd 100 ;+16
.cur_area   dd 30 ;+20
.position   dd 0  ;+24
.bckg_col   dd 0  ;+28
.frnt_col   dd 0  ;+32
.line_col   dd 0  ;+36
.redraw     dd 0  ;+40
.delta	    dw 0  ;+44
.delta2     dw 0  ;+46
.run_x:
rb 2+2+2+2+4+4+4+4+4+4
.all_redraw dd 0 ;+80
.ar_offset  dd 1 ;+84
;---------------------------------------------------------------------   
align 4
ws_dir_lbox: ;¤®ç¥à­¨© áªà®««¨­£ ¤«ï í«¥¬¥­â  ListBox
.x:
.size_x     dw 16 ;+0
.start_x    dw 0 ;+2
.y:
.size_y     dw 30 ;+4
.start_y    dw 70 ;+6
.btn_high   dd 15 ;+8
.type	    dd ini_def_scroll_type ;+12
.max_area   dd 100 ;+16
.cur_area   dd 30 ;+20
.position   dd 0  ;+24
.bckg_col   dd 0  ;+28
.frnt_col   dd 0  ;+32
.line_col   dd 0  ;+36
.redraw     dd 0  ;+40
.delta	    dw 0  ;+44
.delta2     dw 0  ;+46
.run_x:
rb 2+2+2+2+4+4+4+4+4+4
.all_redraw dd 0 ;+80
.ar_offset  dd 1 ;+84
;---------------------------------------------------------------------

align 4
menu_data_1:
.type: dd 0   ;+0
.x:
.size_x  dw 35 ;+4
.start_x dw  5 ;+6
.y:
.size_y  dw 15 ;+8
.start_y dw  5 ;+10
.text_pointer: dd menu_text_area   ;+12
.pos_pointer:  dd menu_text_area.1 ;+16
.text_end   dd menu_text_area.end  ;+20
.mouse_pos  dd 0 ;+24
.mouse_keys dd 0 ;+28
.x1:
.size_x1  dw 70  ;+32
.start_x1 dw  5  ;+34
.y1:
.size_y1  dw 15  ;+36
.start_y1 dw 20  ;+38
.bckg_col dd 0xeeeeee ;+40
.frnt_col dd 0xff ;+44
.menu_col dd 0xffffff ;+48
.select   dd 0 ;+52
.out_select dd 0 ;+56
.buf_adress dd 0 ;+60
.procinfo dd procinfo ;0 ;+64
.click	 dd 0 ;+68
.cursor  dd 0 ;+72
.cursor_old dd 0 ;+76
.interval   dd 16 ;+80
.cursor_max  dd 0 ;+84
.extended_key dd 0 ;+88
.menu_sel_col dd 0x00cc00 ;+92
.bckg_text_col dd 0 ;+96
.frnt_text_col dd 0xffffff ;+100
.mouse_keys_old dd 0 ;+104
.font_height dd 8 ;+108
.cursor_out  dd 0 ;+112
.get_mouse_flag dd 0 ;+116

;---------------------------------------------------------------------
align 4
OpenDialog_data:
.type			dd 0
.procinfo		dd procinfo	;+4
.com_area_name	dd communication_area_name	;+8
.com_area		dd 0	;+12
.opendir_path		dd plugin_path ;+16
.dir_default_path	dd default_dir ;+20
.start_path		dd file_name ;+24 ¯ãâì ª ¤¨ «®£ã ®âªàëâ¨ï ä ©«®¢
.draw_window	dd draw_window	;+28
.status 		dd 0	;+32
.openfile_path	dd openfile_path	;+36 ¯ãâì ª ®âªà뢠¥¬®¬ã ä ©«ã
.filename_area	dd filename_area	;+40
.filter_area	dd Filter
.x:
.x_size 		dw 420 ;+48 ; Window X size
.x_start		dw 10 ;+50 ; Window X position
.y:
.y_size 		dw 320 ;+52 ; Window y size
.y_start		dw 10 ;+54 ; Window Y position

default_dir db '/rd/1',0 ;¤¨à¥ªâ®à¨ï ¯® 㬮«ç ­¨î

communication_area_name:
	db 'FFFFFFFF_open_dialog',0
open_dialog_name:
	db 'opendial',0
communication_area_default_path:
	db '/rd/1/File managers/',0

Filter:
dd Filter.end - Filter.1
.1:
db 'ASM',0
db 'CPP',0
db 'INC',0
db 'MAC',0
db 'INI',0
db 'TXT',0
db 'H',0
db 'C',0
db 'HTM',0
db 'HTML',0
db 'PY',0
db 'SH',0
db 'BAT',0
db 'LUA',0
db 'INF',0
db 'LOG',0
db 'DBG',0
db 'DAT',0
.end:
db 0

TED_PANEL_NULL	 equ 0 ;­¥â ®âªàë⮩ ¯ ­¥«¨
TED_PANEL_FIND	 equ 1 ;¯ ­¥«ì ¯®¨áª 
TED_PANEL_SYNTAX equ 2 ;¯ ­¥«ì ¢ë¡®à  ä ©«®¢ ¯®¤á¢¥âª¨
TED_PANEL_WIDTH  equ 150 ;è¨à¨­  ¯ ­¥«¨

count_of_dir_list_files equ 15 ;¬ ªá¨¬ «ì­®¥ ç¨á«® ä ©«®¢ ᨭ⠪á¨á  ¯®ª §ë¢ ¥¬ëå ¢ ®ª­¥ í«¥¬¥­â  tree1

;------------------------------------------------------------------------------
struct TexSelect
  x0 dd ?
  y0 dd ?
  x1 dd ?
  y1 dd ?
ends
;------------------------------------------------------------------------------
align 4
tedit0: ;áâàãªâãà  â¥ªá⮢®£® । ªâ®à 
	.wnd BOX 0,30,440,150 ;+ 0
	.rec BOX 30,23,ini_def_symbol_w,ini_def_symbol_h ;+16
	.drag_m db 0 ;+32 ¢ë¤¥«¥­¨¥ ®â ¬ëè¨
	.drag_k db 0 ;+33 ¢ë¤¥«¥­¨¥ ®â ª« ¢¨ âãàë
	.sel  TexSelect 0,0,0,0 ;+34 áâàãªâãà  ¢ë¤¥«¥­¨ï
	.seln TexSelect ;+50 ¤®¯®«­¨â¥«ì­ ï áâàãªâãà  ¢ë¤¥«¥­¨ï
	.tex	  dd 0 ;+66 text memory pointer
	.tex_1	  dd 0 ;+70 text first symbol pointer
	.tex_end  dd 0 ;+74 text end memory pointer
	.cur_x	  dd 0 ;+78 ª®®à¤¨­ â  x ªãàá®à 
	.cur_y	  dd 0 ;+82 ª®®à¤¨­ â  y ªãàá®à 
	.max_chars dd maxChars ;+86 ¬ ªá¨¬ «ì­®¥ ç¨á«® ᨬ¢®«®¢ ¢ ®¤­®¬ ¤®ªã¬¥­â¥
	.count_colors_text dd 1 ;+90 ª®««¨ç¥á⢮ 梥⮢ ⥪áâ 
	.count_key_words   dd 0 ;+94 ª®««¨ç¥á⢮ ª«î祢ëå á«®¢
	.color_cursor	   dd 0x808080 ;+98 梥⠪ãàá®à 
	.color_wnd_capt    dd	  0x80 ;+102 梥⠯®«¥© ¢®ªà㣠®ª­ 
	.color_wnd_work    dd	   0x0 ;+106 梥â ä®­  ®ª­ 
	.color_wnd_bord    dd 0xd0d0d0 ;+110 梥â ⥪áâ  ­  ¯®«ïå
	.color_select	   dd 0x208080 ;+114 梥⠢뤥«¥­¨ï
	.color_cur_text    dd 0xff0000 ;+118 梥â ᨬ¢®«  ¯®¤ ªãàá®à®¬
	.color_wnd_text    dd 0xffff00 ;+122 梥â ⥪áâ  ¢ ®ª­¥
	.syntax_file	   dd 0 ;+126 㪠§ â¥«ì ­  ­ ç «® ä ©«  ᨭ⠪á¨á 
	.syntax_file_size  dd maxSyntaxFileSize ;+130 ¬ ªá¨¬ «ì­ë© à §¬¥à ä ©«  ᨭ⠪á¨á 
	.text_colors	   dd 0 ;+134 㪠§ â¥«ì ­  ¬ áᨢ 梥⮢ ⥪áâ 
	.help_text_f1	   dd 0 ;+138 㪠§ â¥«ì ­  ⥪áâ á¯à ¢ª¨ (¯® ­ ¦ â¨¨ F1)
	.help_id	   dd -1 ;+142 ¨¤¥­â¨ä¨ª â®à ¤«ï á¯à ¢ª¨
	.key_words_data    dd 0 ;+146 㪠§ â¥«ì ­  áâàãªâãàë ª«î祢ëå á«®¢ TexColViv
	.tim_ch      dd ? ;+150 ª®«¨ç¥á⢮ ¨§¬¥­¥­¨© ¢ ä ©«¥
	.tim_undo    dd ? ;+154 ª®«¨ç¥á⢮ ®â¬¥­¥­­ëå ¤¥©á⢨©
	.tim_ls      dd ? ;+158 ¢à¥¬ï ¯®á«¥¤­¥£® á®åà ­¥­¨ï
	.tim_co      dd ? ;+162 ¢à¥¬ï ¯®á«¥¤­¥© 梥⮢®© à §¬¥âª¨
	.el_focus    dd el_focus ;+166 㪠§ â¥«ì ­  ¯¥à¥¬¥­­ãî í«¥¬¥­â  ¢ 䮪ãá¥
	.err_save    db 0 ;+170 ®è¨¡ª  á®åà ­¥­¨ï ä ©« 
	.panel_id    db 0 ;+171 ­®¬¥à ®âªàë⮩ ¯ ­¥«¨
	.key_new     db 0 ;+172 ᨬ¢®«, ª®â®àë© ¡ã¤¥â ¤®¡ ¢«ïâáï á ª« ¢¨ âãàë
	.symbol_new_line db 20 ;+173 ᨬ¢®« § ¢¥à襭¨ï áâப¨
	.scr_w	     dd wScr ;+174 ¢¥à⨪ «ì­ë© áªà®««¨­£
	.scr_h	     dd hScr ;+178 £®à¨§®­â «ì­ë© áªà®««¨­£
	.arr_key_pos dd 0 ;+182 㪠§ â¥«ì ­  ¬ áᨢ ¯®§¨æ¨© ª«î祢ëå á«®¢
	.buffer      dd buf ;+186 㪠§ â¥«ì ­  ¡ãä¥à ª®¯¨à®¢ ­¨ï/¢áâ ¢ª¨
	.buffer_find dd buf_find ;+190 㪠§ â¥«ì ­  ¡ãä¥à ¤«ï ¯®¨áª 
	.cur_ins     db 1 ;+194 ०¨¬ à ¡®âë ªãàá®à  (®¡ëç­ë© ¨«¨ § ¬¥­ )
	.mode_color  db 1 ;+195 ०¨¬ ¢ë¤¥«¥­¨ï á«®¢ 梥⮬ (0-¢ëª«. 1-¢ª«.)
	.mode_invis  db 0 ;+196 ०¨¬ ¯®ª §  ­¥¯¥ç â ¥¬ëå ᨬ¢®«®¢
	.gp_opt      db 0 ;+197 ®¯æ¨¨ ¢®§¢à é ¥¬ë¥ ä㭪樥© ted_get_pos_by_cursor
	.fun_on_key_ctrl_o dd ted_but_open_file ;+198 㪠§ â¥«ì ­  äã­ªæ¨î ¢ë§ë¢ ¥¬ãî ¯à¨ ­ ¦ â¨¨ Ctrl+O (®âªàë⨥ ä ©« )
	.fun_on_key_ctrl_f dd ted_but_find	;+202 ... Ctrl+F (¢ë§®¢ /áªàëâ¨ï ¯ ­¥«¨ ¯®¨áª )
	.fun_on_key_ctrl_n dd ted_but_new_file	;+206 ... Ctrl+N (ᮧ¤ ­¨¥ ­®¢®£® ¤®ªã¬¥­â )
	.fun_on_key_ctrl_s dd ted_but_save_file ;+210 ... Ctrl+S
	.buffer_size	   dd BUF_SIZE ;+214 à §¬¥à ¡ãä¥à  ª®¯¨à®¢ ­¨ï/¢áâ ¢ª¨
	.fun_find_err	   dd ted_on_find_err ;+218 㪠§ â¥«ì ­  äã­ªæ¨î ¢ë§ë¢ ¥¬ãî ¥á«¨ ¯®¨áª § ª®­ç¨«áï ­¥ã¤ ç­®
	.fun_init_synt_err dd 0   ;+222
	.fun_draw_panel_buttons dd draw_but_toolbar  ;+226 㪠§ â¥«ì ­  äã­ªæ¨î à¨á®¢ ­¨ï ¯ ­¥«¨ á ª­®¯ª ¬¨
	.fun_draw_panel_find	dd draw_panel_find   ;+230 㪠§ â¥«ì ­  äã­ªæ¨î à¨á®¢ ­¨ï ¯ ­¥«¨ ¯®¨áª 
	.fun_draw_panel_syntax	dd draw_panel_syntax ;+234 㪠§ â¥«ì ­  äã­ªæ¨î à¨á®¢ ­¨ï ¯ ­¥«¨ ᨭ⠪á¨á 
	.fun_save_err		dd ted_save_err_msg  ;+238 㪠§ â¥«ì ­  äã­ªæ¨î ¢ë§ë¢ ¥¬ãî ¥á«¨ á®åà ­¥­¨¥ ä ©«  § ª®­ç¨«®áì ­¥ã¤ ç­®
	.increase_size dd 200 ;+242 ç¨á«® ᨬ¢®«®¢ ­  ª®â®àë¥ ¡ã¤¥â 㢥稢 âìáï ¯ ¬ïâì ¯à¨ ­¥å¢ âª¥
	.ptr_free_symb dd ?   ;+246 ¨á¯®«ì§ã¥âáï ¢­ãâà¨ í«¥¬¥­â  ¤«ï ã᪮७¨ï ¢áâ ¢ª¨ ⥪áâ 
;------------------------------------------------------------------------------

conv_tabl rb 128 ; â ¡«¨æ  ¤«ï ª®­¢¥àâ¨à®¢ ­¨ï scan-ª®¤  ¢ ascii-ª®¤

el_focus dd 0
mouse_dd dd 0
tree1 tree_list 264,count_of_dir_list_files+2, tl_key_no_edit+tl_draw_par_line+tl_list_box_mode,\
    16,16, 0x8080ff,0x0000ff,0xffffff, 0,70,TED_PANEL_WIDTH-17,120, 0,0,0, el_focus,\
    ws_dir_lbox,0

;dir_list memory
tree_file_struct:
  dd 1
  dd 0,0,count_of_dir_list_files
  dd dir_mem
  db 0
  dd file_name ;sys_path

if lang eq ru

menu_text_area:
db '” ©«',0
.1:
db '‘®§¤ âì',0
db 'Žâªàëâì',0
db '‘®åà ­¨âì',0
db '‚ë室',0
.end:
db 0

msgbox_1:
  dw 0
  db '‚­¨¬ ­¨¥',0 ;+2 = +MB_TEXT_OFFSET
  db '” ©« ¡®«ì让, ¯®â®¬ã ®âªàëâ ­¥ ¢¥áì.',13
  db '  1. à¨ ¥£® á®åà ­¥­¨¨ ¡ã¤ãâ ¯®â¥àï­ë "­¥ ®âªàë¢è¨¥áï" ᨬ¢®«ë.',13
  db '  2. ‚ ¤®ªã¬¥­â ­¥«ì§ï ¤®¡ ¢«ïâì ⥪áâ, â. ª. ¯ ¬ïâì § ­ïâ .',0
  db 'Ÿ ¯®­ï«( )',0 ;button1
  db 0
msgbox_2:
  db 3,0
  db '‚­¨¬ ­¨¥',0
  db '‘®åà ­¨âì ¨§¬¥­¥­¨ï ¢ ä ©«¥?',0
  db '‘®åà ­¨âì',0
  db '¥ á®åà ­ïâì',0
  db 'Žâ¬¥­ ',0
  db 0
msgbox_3:
  db 1,0
  db '‚­¨¬ ­¨¥',0
  db 'Žè¨¡ª  ¯à¨ ®âªàë⨨ ä ©«  á 梥⮢묨 ­ áâனª ¬¨!',13,\
     '®â®¬ã ¢ë¤¥«¥­¨¥ á«®¢ 梥⮬ ­¥ ¢®§¬®¦­®.',13,\
     '  (ª®¤ ®è¨¡ª¨ ='
  .err: db '?'
  db ')',0
  db '‡ ªàëâì',0
  db 0
msgbox_4:
  db 1,0
  db '‚­¨¬ ­¨¥',0
  db 'Žè¨¡ª  ¯à¨ ®âªàë⨨ ä ©« !',13,\
     '‚®§¬®¦­® ¨¬ï ä ©«  ¢¢¥¤¥­® ­¥ ¯à ¢¨«ì­®.',13,\
     '  (ª®¤ ®è¨¡ª¨ ='
  .err: db '?'
  db ')',0
  db '‡ ªàëâì',0
  db 0
msgbox_6:
  db 1,0
  db '‚­¨¬ ­¨¥',0
  db 'Žè¨¡ª  ¯à¨ á®åà ­¥­¨¨ ä ©« !',13,\
     '‚®§¬®¦­® ¨¬ï ä ©«  ¢¢¥¤¥­® ­¥ ¯à ¢¨«ì­®.',13,\
     '  (ª®¤ ®è¨¡ª¨ ='
  .err: db '?'
  db ')',0
  db '‡ ªàëâì',0
  db 0
msgbox_7:
  db 1,0
  db '’¥ªáâ ­¥ ­ ©¤¥­',0
  db '„®á⨣­ãâ ª®­¥æ ¤®ªã¬¥­â .',13,\
     '®¯à®¡ã©â¥ ¯¥à¥©â¨ ¢ ­ ç «® ¤®ªã¬¥­â ',13,\
     '¨«¨ ¨§¬¥­¨âì § ¯à®á ¨ ¯®¢â®à¨âì ¯®¨áª.',0
  db '‡ ªàëâì',0
  db 0
msgbox_9:
  db 3,0
  db '‚­¨¬ ­¨¥',0
  db '¥ ®âªàë«áï ',39,'¤¨ «®£ ®âªàëâ¨ï ä ©« ',39,'.',13
  .fdp:
  rb 100
  db 0
  db '‡ ªàëâì',0
  db 0

txtFindCapt db '®¨áª',0
txtFindNext db ' ©â¨ ¤ «¥¥',0
txtFormatCapt db '”®à¬ â',0
txtFormatApply db 'à¨¬¥­¨âì',0

else

menu_text_area:
db 'File',0
.1:
db 'New',0
db 'Open',0
db 'Save',0
db 'Exit',0
.end:
db 0

msgbox_1:
  dw 0
  db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
  db 'File is large, because not all open.',13
  db '  1. If you save it will lose "not opened" characters.',13
  db '  2. The document can not add text, because the memory is busy.',0
  db 'Ok',0 ;button1
  db 0
msgbox_2:
  db 3,0
  db 'Warning',0
  db 'Save changes to the file?',0
  db 'Save',0
  db 'Discard',0
  db 'Cancel',0
  db 0
msgbox_3:
  db 1,0
  db 'Warning',0
  db 'Error opening the file with the color settings!',13,\
     'Because color selection of words is not possible.',13,\
     '  (error code ='
  .err: db '?'
  db ')',0
  db 'Close',0
  db 0
msgbox_4:
  db 1,0
  db 'Warning',0
  db 'Error opening file!',13,\
     'Maybe the file name is not entered correctly.',13,\
     '  (error code ='
  .err: db '?'
  db ')',0
  db 'Close',0
  db 0
msgbox_6:
  db 1,0
  db 'Warning',0
  db 'Error saving file!',13,\
     'Maybe the file name is not entered correctly.',13,\
     '  (error code ='
  .err: db '?'
  db ')',0
  db 'Close',0
  db 0
msgbox_7:
  db 1,0
  db 'Text not found.',0
  db 'Reached end of the document.',13,\
     'Try to go to the beginning of the document',13,\
     'or change the query and search again.',0
  db 'Close',0
  db 0
msgbox_9:
  db 3,0
  db 'Warning',0
  db 'Error run ',39,'open file dialog',39,'.',13
  .fdp:
  rb 100
  db 0
  db 'Close',0
  db 0

txtFindCapt db 'Search',0
txtFindNext db 'Find next',0
txtFormatCapt db 'Format',0
txtFormatApply db 'Apply',0

end if

;ä㭪樨 ¤«ï ª­®¯®ª ¢ á®®¡é¥­¨ïå
msgbox_2N_funct:
	dd On_SaveAndNewFile
	dd On_NewFile
	dd 0
msgbox_2O_funct:
	dd On_SaveAndOpenFile
	dd ted_but_open_file.no_msg
	dd 0
msgbox_2E_funct:
	dd On_SaveAndExit
	dd On_Exit
	dd 0

KM_SHIFT equ 0x00010000
KM_CTRL equ 0x00020000
KM_ALT equ 0x00040000
KM_NUMLOCK equ 0x00080000

; KEY CODES
KEY_F1 equ 0x0000003B
KEY_F2 equ 0x0000003C
KEY_F3 equ 0x0000003D
-
 
2
3
3