forked from KolibriOS/kolibrios
1) new element 'text_editor' in library 'box_lib.obj'
2) changes code t_edit.kex 3) fixed function 'tl_strlen' in 'tree_list' 4) minor edits documentation 'box_lib.obj' git-svn-id: svn://kolibrios.org@1457 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
f751f0881f
commit
fd898963db
@ -6,4 +6,5 @@ include 'd_button.mac' ;macro implements dinamic_button
|
|||||||
include 'menubar.mac' ;macro implements menubar
|
include 'menubar.mac' ;macro implements menubar
|
||||||
include 'filebrowser.mac' ;macro implements filebrowser
|
include 'filebrowser.mac' ;macro implements filebrowser
|
||||||
include 'tree_list.mac' ;macro implements tree_list, image_list, list_box
|
include 'tree_list.mac' ;macro implements tree_list, image_list, list_box
|
||||||
include 'pathshow.mac' ;macro implements pathshow
|
include 'pathshow.mac' ;macro implements pathshow
|
||||||
|
include 't_edit.mac' ;macro implements text_editor
|
@ -16,6 +16,7 @@ public EXPORTS
|
|||||||
|
|
||||||
section '.flat' code readable align 16
|
section '.flat' code readable align 16
|
||||||
include '../../../../macros.inc'
|
include '../../../../macros.inc'
|
||||||
|
include '../../../../proc32.inc'
|
||||||
include 'bl_sys.mac'
|
include 'bl_sys.mac'
|
||||||
include 'box_lib.mac' ;macro which should make life easier :)
|
include 'box_lib.mac' ;macro which should make life easier :)
|
||||||
|
|
||||||
@ -88,6 +89,12 @@ use_tree_list
|
|||||||
align 16
|
align 16
|
||||||
use_path_show
|
use_path_show
|
||||||
|
|
||||||
|
;--------------------------------------------------
|
||||||
|
;text editor
|
||||||
|
;--------------------------------------------------
|
||||||
|
align 16
|
||||||
|
use_text_edit
|
||||||
|
|
||||||
align 16
|
align 16
|
||||||
init:
|
init:
|
||||||
ret
|
ret
|
||||||
@ -141,13 +148,13 @@ dd sz_tl_mouse, tl_mouse
|
|||||||
dd sz_tl_draw, tl_draw
|
dd sz_tl_draw, tl_draw
|
||||||
dd sz_tl_info_undo, tl_info_undo
|
dd sz_tl_info_undo, tl_info_undo
|
||||||
dd sz_tl_info_redo, tl_info_redo
|
dd sz_tl_info_redo, tl_info_redo
|
||||||
dd sz_tl_node_add, tl_node_add
|
dd sz_tl_node_add, tl_node_add
|
||||||
dd sz_tl_node_set_data, tl_node_set_data
|
dd sz_tl_node_set_data, tl_node_set_data
|
||||||
dd sz_tl_node_get_data, tl_node_get_data
|
dd sz_tl_node_get_data, tl_node_get_data
|
||||||
dd sz_tl_node_delete, tl_node_delete
|
dd sz_tl_node_delete, tl_node_delete
|
||||||
dd sz_tl_cur_beg, tl_cur_beg
|
dd sz_tl_cur_beg, tl_cur_beg
|
||||||
dd sz_tl_cur_next, tl_cur_next
|
dd sz_tl_cur_next, tl_cur_next
|
||||||
dd sz_tl_cur_perv, tl_cur_perv
|
dd sz_tl_cur_perv, tl_cur_perv
|
||||||
dd sz_tl_node_close_open, tl_node_close_open
|
dd sz_tl_node_close_open, tl_node_close_open
|
||||||
dd sz_tl_node_lev_inc, tl_node_lev_inc
|
dd sz_tl_node_lev_inc, tl_node_lev_inc
|
||||||
dd sz_tl_node_lev_dec, tl_node_lev_dec
|
dd sz_tl_node_lev_dec, tl_node_lev_dec
|
||||||
@ -156,23 +163,48 @@ dd sz_tl_node_move_down, tl_node_move_down
|
|||||||
dd sz_tl_node_poi_get_info, tl_node_poi_get_info
|
dd sz_tl_node_poi_get_info, tl_node_poi_get_info
|
||||||
dd sz_tl_node_poi_get_next_info, tl_node_poi_get_next_info
|
dd sz_tl_node_poi_get_next_info, tl_node_poi_get_next_info
|
||||||
dd sz_tl_node_poi_get_data, tl_node_poi_get_data
|
dd sz_tl_node_poi_get_data, tl_node_poi_get_data
|
||||||
dd sz_tl_save_mem, tl_save_mem
|
dd sz_tl_save_mem, tl_save_mem
|
||||||
dd sz_tl_load_mem, tl_load_mem
|
dd sz_tl_load_mem, tl_load_mem
|
||||||
dd sz_tl_get_mem_size, tl_get_mem_size
|
dd sz_tl_get_mem_size, tl_get_mem_size
|
||||||
dd sz_tl_version_tree_list, 0x00000001
|
dd sz_tl_version_tree_list, 0x00000001
|
||||||
|
|
||||||
dd sz_PathShow_prepare, path_show.prepare
|
dd sz_PathShow_prepare, path_show.prepare
|
||||||
dd sz_PathShow_draw, path_show.draw
|
dd sz_PathShow_draw, path_show.draw
|
||||||
dd szVersion_path_show, 0x00010001
|
dd szVersion_path_show, 0x00010001
|
||||||
|
|
||||||
|
dd sz_ted_but_save_file, ted_but_save_file
|
||||||
|
dd sz_ted_but_sumb_upper, ted_but_sumb_upper
|
||||||
|
dd sz_ted_but_sumb_lover, ted_but_sumb_lover
|
||||||
|
dd sz_ted_can_save, ted_can_save
|
||||||
|
dd sz_ted_clear, ted_clear
|
||||||
|
dd sz_ted_delete, ted_delete
|
||||||
|
dd sz_ted_draw, ted_draw
|
||||||
|
dd sz_ted_init, ted_init
|
||||||
|
dd sz_ted_init_syntax_file, ted_init_syntax_file
|
||||||
|
dd sz_ted_is_select, ted_is_select
|
||||||
|
dd sz_ted_key, ted_key
|
||||||
|
dd sz_ted_mouse, ted_mouse
|
||||||
|
dd sz_ted_open_file, ted_open_file
|
||||||
|
dd sz_ted_text_add, ted_text_add
|
||||||
|
dd sz_ted_but_select_word, ted_but_select_word
|
||||||
|
dd sz_ted_but_cut, ted_but_cut
|
||||||
|
dd sz_ted_but_copy, ted_but_copy
|
||||||
|
dd sz_ted_but_paste, ted_but_paste
|
||||||
|
dd sz_ted_but_undo, ted_but_undo
|
||||||
|
dd sz_ted_but_redo, ted_but_redo
|
||||||
|
dd sz_ted_but_reverse, ted_but_reverse
|
||||||
|
dd sz_ted_but_find_next, ted_but_find_next
|
||||||
|
dd sz_ted_text_colored, ted_text_colored
|
||||||
|
dd sz_ted_version, 0x00000001
|
||||||
|
|
||||||
dd 0,0
|
dd 0,0
|
||||||
|
|
||||||
|
|
||||||
sz_init db 'lib_init',0
|
sz_init db 'lib_init',0
|
||||||
sz_version db 'version',0
|
sz_version db 'version',0
|
||||||
|
|
||||||
sz_edit_box db 'edit_box',0
|
sz_edit_box db 'edit_box',0
|
||||||
sz_edit_box_key db 'edit_box_key',0
|
sz_edit_box_key db 'edit_box_key',0
|
||||||
sz_edit_box_mouse db 'edit_box_mouse',0
|
sz_edit_box_mouse db 'edit_box_mouse',0
|
||||||
szVersion_ed db 'version_ed',0
|
szVersion_ed db 'version_ed',0
|
||||||
|
|
||||||
@ -196,7 +228,7 @@ szVersion_dbutton db 'version_dbutton',0
|
|||||||
|
|
||||||
sz_Menu_bar_draw db 'menu_bar_draw',0
|
sz_Menu_bar_draw db 'menu_bar_draw',0
|
||||||
sz_Menu_bar_mouse db 'menu_bar_mouse',0
|
sz_Menu_bar_mouse db 'menu_bar_mouse',0
|
||||||
sz_Menu_bar_activate db 'menu_bar_activate',0
|
sz_Menu_bar_activate db 'menu_bar_activate',0
|
||||||
szVersion_menu_bar db 'version_menu_bar',0
|
szVersion_menu_bar db 'version_menu_bar',0
|
||||||
|
|
||||||
sz_FileBrowser_draw db 'FileBrowser_draw',0
|
sz_FileBrowser_draw db 'FileBrowser_draw',0
|
||||||
@ -204,14 +236,14 @@ sz_FileBrowser_mouse db 'FileBrowser_mouse',0
|
|||||||
sz_FileBrowser_key db 'FileBrowser_key',0
|
sz_FileBrowser_key db 'FileBrowser_key',0
|
||||||
szVersion_FileBrowser db 'version_FileBrowser',0
|
szVersion_FileBrowser db 'version_FileBrowser',0
|
||||||
|
|
||||||
sz_tl_data_init db 'tl_data_init',0
|
sz_tl_data_init db 'tl_data_init',0
|
||||||
sz_tl_data_clear db 'tl_data_clear',0
|
sz_tl_data_clear db 'tl_data_clear',0
|
||||||
sz_tl_info_clear db 'tl_info_clear',0
|
sz_tl_info_clear db 'tl_info_clear',0
|
||||||
sz_tl_key db 'tl_key',0
|
sz_tl_key db 'tl_key',0
|
||||||
sz_tl_mouse db 'tl_mouse',0
|
sz_tl_mouse db 'tl_mouse',0
|
||||||
sz_tl_draw db 'tl_draw',0
|
sz_tl_draw db 'tl_draw',0
|
||||||
sz_tl_info_undo db 'tl_info_undo',0
|
sz_tl_info_undo db 'tl_info_undo',0
|
||||||
sz_tl_info_redo db 'tl_info_redo',0
|
sz_tl_info_redo db 'tl_info_redo',0
|
||||||
sz_tl_node_add db 'tl_node_add',0
|
sz_tl_node_add db 'tl_node_add',0
|
||||||
sz_tl_node_set_data db 'tl_node_set_data',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_get_data db 'tl_node_get_data',0
|
||||||
@ -224,14 +256,39 @@ sz_tl_node_lev_inc db 'tl_node_lev_inc',0
|
|||||||
sz_tl_node_lev_dec db 'tl_node_lev_dec',0
|
sz_tl_node_lev_dec db 'tl_node_lev_dec',0
|
||||||
sz_tl_node_move_up db 'tl_node_move_up',0
|
sz_tl_node_move_up db 'tl_node_move_up',0
|
||||||
sz_tl_node_move_down db 'tl_node_move_down',0
|
sz_tl_node_move_down db 'tl_node_move_down',0
|
||||||
sz_tl_node_poi_get_info db 'tl_node_poi_get_info',0
|
sz_tl_node_poi_get_info db 'tl_node_poi_get_info',0
|
||||||
sz_tl_node_poi_get_next_info db 'tl_node_poi_get_next_info',0
|
sz_tl_node_poi_get_next_info db 'tl_node_poi_get_next_info',0
|
||||||
sz_tl_node_poi_get_data db 'tl_node_poi_get_data',0
|
sz_tl_node_poi_get_data db 'tl_node_poi_get_data',0
|
||||||
sz_tl_save_mem db 'tl_save_mem',0
|
sz_tl_save_mem db 'tl_save_mem',0
|
||||||
sz_tl_load_mem db 'tl_load_mem',0
|
sz_tl_load_mem db 'tl_load_mem',0
|
||||||
sz_tl_get_mem_size db 'tl_get_mem_size',0
|
sz_tl_get_mem_size db 'tl_get_mem_size',0
|
||||||
sz_tl_version_tree_list db 'version_tree_list',0
|
sz_tl_version_tree_list db 'version_tree_list',0
|
||||||
|
|
||||||
sz_PathShow_prepare db 'PathShow_prepare',0
|
sz_PathShow_prepare db 'PathShow_prepare',0
|
||||||
sz_PathShow_draw db 'PathShow_draw',0
|
sz_PathShow_draw db 'PathShow_draw',0
|
||||||
szVersion_path_show db 'version_PathShow',0
|
szVersion_path_show db 'version_PathShow',0
|
||||||
|
|
||||||
|
sz_ted_but_save_file db 'ted_but_save_file',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_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_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_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
|
@ -168,6 +168,10 @@ op_flag_en=10b
|
|||||||
.flags: dd flags+0 ; ä« £¨
|
.flags: dd flags+0 ; ä« £¨
|
||||||
}
|
}
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;Basic macros for use TreeList ;
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
struc tree_list info_size,info_max_count,style, img_cx,img_cy,\
|
struc tree_list info_size,info_max_count,style, img_cx,img_cy,\
|
||||||
col_bkg,col_zag,col_txt, box_l,box_t,box_w,box_h, capt_cy,info_capt_offs,\
|
col_bkg,col_zag,col_txt, box_l,box_t,box_w,box_h, capt_cy,info_capt_offs,\
|
||||||
info_capt_len,el_focus, p_scrol,on_press {
|
info_capt_len,el_focus, p_scrol,on_press {
|
||||||
@ -201,10 +205,6 @@ struc tree_list info_size,info_max_count,style, img_cx,img_cy,\
|
|||||||
.on_press dd on_press
|
.on_press dd on_press
|
||||||
}
|
}
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
;Basic macros for use TreeList ;
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
|
|
||||||
tl_info_size equ word[edi +4] ;à §¬¥à ¤ ëå ¢ë¤¥«ï¥¬ëå ¤«ï ª ¦¤®£® 㧫 (¯®«ì§®¢ ⥫ìá쪨¥ ¤ ë¥ + ⥪áâ ¤«ï ¯®¤¯¨á¨)
|
tl_info_size equ word[edi +4] ;à §¬¥à ¤ ëå ¢ë¤¥«ï¥¬ëå ¤«ï ª ¦¤®£® 㧫 (¯®«ì§®¢ ⥫ìá쪨¥ ¤ ë¥ + ⥪áâ ¤«ï ¯®¤¯¨á¨)
|
||||||
tl_info_max_count equ dword[edi+6] ;¬ ªá¨¬ «ì®¥ ª®«¨ç¥á⢮ 㧫®¢, ª®â®àë¥ ¬®¦® ¤®¡ ¢¨âì ¢ í«¥¬¥â
|
tl_info_max_count equ dword[edi+6] ;¬ ªá¨¬ «ì®¥ ª®«¨ç¥á⢮ 㧫®¢, ª®â®àë¥ ¬®¦® ¤®¡ ¢¨âì ¢ í«¥¬¥â
|
||||||
tl_style equ dword[edi+10] ;á⨫¨ í«¥¬¥â
|
tl_style equ dword[edi+10] ;á⨫¨ í«¥¬¥â
|
||||||
@ -245,3 +245,102 @@ tl_err_load_caption equ 1b ;
|
|||||||
tl_err_load_info_size equ 100b ;¥ ᮢ¯ ¤ ¥â à §¬¥à ¨ä®à¬ 樮®© áâàãªâãàë ¯à¨ ®âªàë⨨
|
tl_err_load_info_size equ 100b ;¥ ᮢ¯ ¤ ¥â à §¬¥à ¨ä®à¬ 樮®© áâàãªâãàë ¯à¨ ®âªàë⨨
|
||||||
tl_load_mode_add equ 0x20000 ;®¯æ¨ï áç¨âë¢ ¨ï ¢ ०¨¬¥ ¤®¡ ¢«¥¨ï ¨ä®à¬ 樨
|
tl_load_mode_add equ 0x20000 ;®¯æ¨ï áç¨âë¢ ¨ï ¢ ०¨¬¥ ¤®¡ ¢«¥¨ï ¨ä®à¬ 樨
|
||||||
tl_save_load_heder_size equ 26 ;à §¬¥à § £®«®¢ª ¤«ï § ¯¨á¨/ç⥨ï í«¥¬¥â®¢
|
tl_save_load_heder_size equ 26 ;à §¬¥à § £®«®¢ª ¤«ï § ¯¨á¨/ç⥨ï í«¥¬¥â®¢
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;Basic macros for use TextEditor ;
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
ted_wnd_l equ dword[edi+ 0] ;®ª® । ªâ®à : ®âáâ㯠᫥¢
|
||||||
|
ted_wnd_t equ dword[edi+ 4] ;®ª® । ªâ®à : ®âáâ㯠ᢥàåã
|
||||||
|
ted_wnd_w equ dword[edi+ 8] ;®ª® । ªâ®à : è¨à¨
|
||||||
|
ted_wnd_h equ dword[edi+12] ;®ª® । ªâ®à : ¢ëá®â
|
||||||
|
ted_rec_l equ dword[edi+16] ;è¨à¨ ¯ ¥«¨ ¢ ®ª¥
|
||||||
|
ted_rec_t equ dword[edi+20] ;¢ëá®â ¯ ¥«¨ ¢ ®ª¥
|
||||||
|
ted_rec_w equ dword[edi+24] ;è¨à¨ ᨬ¢®« (§ ª®¬¥áâ ) ¢ ®ª¥
|
||||||
|
ted_rec_h equ dword[edi+28] ;¢ëá®â ᨬ¢®« (§ ª®¬¥áâ ) ¢ ®ª¥
|
||||||
|
ted_drag_m equ byte[edi+32] ;¢ë¤¥«¥¨¥ ®â ¬ëè¨
|
||||||
|
ted_drag_k equ byte[edi+33] ;¢ë¤¥«¥¨¥ ®â ª« ¢¨ âãàë
|
||||||
|
ted_sel_x0 equ dword[edi+34] ;ª®®à¤¨ ⠢뤥«¥¨ï x0
|
||||||
|
ted_sel_y0 equ dword[edi+38] ;ª®®à¤¨ ⠢뤥«¥¨ï y0
|
||||||
|
ted_sel_x1 equ dword[edi+42] ;ª®®à¤¨ ⠢뤥«¥¨ï x1
|
||||||
|
ted_sel_y1 equ dword[edi+46] ;ª®®à¤¨ ⠢뤥«¥¨ï y1
|
||||||
|
;§ ¯ áë¥ ª®®à¤¨ âë ¢ë¤¥«¥¨ï
|
||||||
|
ted_seln_x0 equ dword[edi+50]
|
||||||
|
ted_seln_y0 equ dword[edi+54]
|
||||||
|
ted_seln_x1 equ dword[edi+58]
|
||||||
|
ted_seln_y1 equ dword[edi+62]
|
||||||
|
|
||||||
|
ted_tex equ dword[edi+66] ;㪠§ â¥«ì ¯ ¬ïâì ¤«ï åà ¥¨ï ⥪áâ
|
||||||
|
ted_tex_1 equ dword[edi+70] ;㪠§ ⥫ì 1-î áâàªãâàã ᨬ¢®«
|
||||||
|
ted_tex_end equ dword[edi+74] ;㪠§ â¥«ì ¯®á«¥¤îî áâàãªâãàã ᨬ¢®«
|
||||||
|
ted_cur_x equ dword[edi+78] ;ª®®à¤¨ â x ªãàá®à
|
||||||
|
ted_cur_y equ dword[edi+82] ;ª®®à¤¨ â y ªãàá®à
|
||||||
|
ted_max_chars equ dword[edi+86] ;¬ ªá¨¬ «ì®¥ ç¨á«® ᨬ¢®«®¢ ¢ ®¤®¬ ¤®ªã¬¥â¥
|
||||||
|
ted_colors_text_count equ dword[edi+90] ;ª®««¨ç¥á⢮ 梥⮢ ⥪áâ
|
||||||
|
ted_key_words_count equ dword[edi+94] ;ª®««¨ç¥á⢮ ª«î祢ëå á«®¢
|
||||||
|
ted_color_cursor equ dword[edi+98] ;梥⠪ãàá®à
|
||||||
|
ted_color_wnd_capt equ dword[edi+102] ;梥⠯®«¥© ¢®ªà㣠®ª
|
||||||
|
ted_color_wnd_work equ dword[edi+106] ;梥â ä® ®ª
|
||||||
|
ted_color_wnd_bord equ dword[edi+110] ;梥â ⥪áâ ¯®«ïå
|
||||||
|
ted_color_select equ dword[edi+114] ;梥⠢뤥«¥¨ï
|
||||||
|
ted_color_cur_text equ dword[edi+118] ;梥â ᨬ¢®« ¯®¤ ªãàá®à®¬
|
||||||
|
ted_color_wnd_text equ dword[edi+122] ;梥â ⥪áâ ¢ ®ª¥
|
||||||
|
ted_syntax_file equ dword[edi+126] ;㪠§ ⥫ì ç «® ä ©« á¨â ªá¨á
|
||||||
|
ted_syntax_file_size equ dword[edi+130] ;¬ ªá¨¬ «ìë© à §¬¥à ä ©« á¨â ªá¨á
|
||||||
|
ted_text_colors equ dword[edi+134] ;㪠§ â¥«ì ¬ áᨢ 梥⮢ ⥪áâ
|
||||||
|
ted_help_text_f1 equ dword[edi+138] ;㪠§ ⥫ì ⥪áâ á¯à ¢ª¨ (¯® ¦ ⨨ F1)
|
||||||
|
ted_help_id equ dword[edi+142] ;¨¤¥â¨ä¨ª â®à ¤«ï á¯à ¢ª¨
|
||||||
|
ted_key_words_data equ dword[edi+146] ;㪠§ ⥫ì áâàãªâãàë ª«î祢ëå á«®¢ TexColViv
|
||||||
|
ted_tim_ch equ dword[edi+150] ;ª®««¨ç¥á⢮ ¨§¬¥¥¨© ¢ ä ©«¥
|
||||||
|
ted_tim_undo equ dword[edi+154] ;ª®««¨ç¥á⢮ ®â¬¥¥ëå ¤¥©á⢨©
|
||||||
|
ted_tim_ls equ dword[edi+158] ;¢à¥¬ï ¯®á«¥¤¥£® á®åà ¥¨ï
|
||||||
|
ted_tim_co equ dword[edi+162] ;¢à¥¬ï ¯®á«¥¤¥© 梥⮢®© à §¬¥âª¨
|
||||||
|
ted_el_focus equ dword[edi+166] ;㪠§ â¥«ì ¯¥à¥¬¥ãî í«¥¬¥â ¢ 䮪ãá¥
|
||||||
|
ted_err_save equ byte[edi+170] ;®è¨¡ª á®åà ¥¨ï ä ©«
|
||||||
|
ted_panel_id equ byte[edi+171] ;®¬¥à ®âªàë⮩ ¯ ¥«¨
|
||||||
|
ted_key_new equ byte[edi+172] ;ᨬ¢®«, ª®â®àë© ¡ã¤¥â ¤®¡ ¢«ïâáï á ª« ¢¨ âãàë
|
||||||
|
ted_symbol_new_line equ byte[edi+173] ;ᨬ¢®« § ¢¥à襨ï áâப¨
|
||||||
|
ted_scr_w equ dword[edi+174] ;¢¥à⨪ «ìë© áªà®««¨£
|
||||||
|
ted_scr_h equ dword[edi+178] ;£®à¨§®â «ìë© áªà®««¨£
|
||||||
|
ted_arr_key_pos equ dword[edi+182] ;㪠§ â¥«ì ¬ áᨢ ¯®§¨æ¨© ª«î祢ëå á«®¢
|
||||||
|
ted_buffer equ dword[edi+186] ;㪠§ â¥«ì ¡ãä¥à ª®¯¨à®¢ ¨ï/¢áâ ¢ª¨
|
||||||
|
ted_buffer_find equ dword[edi+190] ;㪠§ â¥«ì ¡ãä¥à ¤«ï ¯®¨áª
|
||||||
|
ted_cur_ins equ byte[edi+194] ;०¨¬ à ¡®âë ªãàá®à (®¡ëçë© ¨«¨ § ¬¥ )
|
||||||
|
ted_mode_color equ byte[edi+195] ;०¨¬ ¢ë¤¥«¥¨ï á«®¢ 梥⮬ (0-¢ëª«. 1-¢ª«.)
|
||||||
|
ted_mode_invis equ byte[edi+196] ;०¨¬ ¯®ª § ¥¯¥ç â ¥¬ëå ᨬ¢®«®¢
|
||||||
|
ted_gp_opt equ byte[edi+197] ;®¯æ¨¨ ¢®§¢à é ¥¬ë¥ äãªæ¨¥© ted_get_pos_by_cursor
|
||||||
|
ted_fun_on_key_ctrl_o equ dword[edi+198] ;㪠§ ⥫ì äãªæ¨î ¢ë§ë¢ ¥¬ãî ¯à¨ ¦ ⨨ Ctrl+O (®âªàë⨥ ä ©« )
|
||||||
|
ted_fun_on_key_ctrl_f equ dword[edi+202] ;... Ctrl+F (¢ë§®¢ /áªàëâ¨ï ¯ ¥«¨ ¯®¨áª )
|
||||||
|
ted_fun_on_key_ctrl_n equ dword[edi+206] ;... Ctrl+N (ᮧ¤ ¨¥ ®¢®£® ¤®ªã¬¥â )
|
||||||
|
ted_fun_on_key_ctrl_s equ dword[edi+210] ;... Ctrl+S
|
||||||
|
ted_buffer_size equ dword[edi+214] ;à §¬¥à ¡ãä¥à ª®¯¨à®¢ ¨ï/¢áâ ¢ª¨
|
||||||
|
ted_fun_find_err equ dword[edi+218] ;㪠§ ⥫ì äãªæ¨î ¢ë§ë¢ ¥¬ãî ¥á«¨ ¯®¨áª § ª®ç¨«áï ¥ã¤ ç®
|
||||||
|
ted_fun_init_synt_err equ dword[edi+222] ;㪠§ ⥫ì äãªæ¨î ¢ë§ë¢ ¥¬ãî ¯à¨ ®è¨¡®ç®¬ ®âªàë⨨ ä ©« á¨â ªá¨á
|
||||||
|
ted_fun_draw_panel_buttons equ dword[edi+226] ;㪠§ ⥫ì äãªæ¨î à¨á®¢ ¨ï ¯ ¥«¨ á ª®¯ª ¬¨
|
||||||
|
ted_fun_draw_panel_find equ dword[edi+230] ;㪠§ ⥫ì äãªæ¨î à¨á®¢ ¨ï ¯ ¥«¨ ¯®¨áª
|
||||||
|
ted_fun_draw_panel_syntax equ dword[edi+234] ;㪠§ ⥫ì äãªæ¨î à¨á®¢ ¨ï ¯ ¥«¨ á¨â ªá¨á
|
||||||
|
ted_fun_save_err equ dword[edi+238] ;㪠§ ⥫ì äãªæ¨î ¢ë§ë¢ ¥¬ãî ¥á«¨ á®åà ¥¨¥ ä ©« § ª®ç¨«®áì ¥ã¤ ç®
|
||||||
|
;------------------------------------------------------------------------------
|
||||||
|
ted_opt_ed_move_cursor equ 1 ;¤¢¨£ âì ªãàá®à ¯®á«¥ ¤®¡ ¢«¥¨ï ⥪áâ
|
||||||
|
ted_opt_ed_change_time equ 2 ;¤®¡ ¢«ïâì ¨§¬¥¥¨ï ¯à¨ । ªâ¨à®¢ ¨¨ ⥪áâ
|
||||||
|
ted_offs_sel equ 34 ;ᬥ饨¥ áâàãªâãàë sel
|
||||||
|
ted_offs_seln equ 50 ;ᬥ饨¥ áâàãªâãàë seln
|
||||||
|
ted_offs_count_colors equ 90 ;ᬥ饨¥ ¯¥à¥¬¥®© ª®««¨ç¥á⢠梥⮢
|
||||||
|
ted_offs_key_new equ 172
|
||||||
|
ted_offs_symbol_new_line equ 173 ;ᬥ饨¥ ᨬ¢®« ®¢®© áâப¨
|
||||||
|
;------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; *** scroll bar constant ***
|
||||||
|
sb_offs_size_x equ 0
|
||||||
|
sb_offs_start_x equ 2
|
||||||
|
sb_offs_size_y equ 4
|
||||||
|
sb_offs_start_y equ 6
|
||||||
|
sb_offs_max_area equ 16
|
||||||
|
sb_offs_cur_area equ 20
|
||||||
|
sb_offs_position equ 24
|
||||||
|
sb_offs_redraw equ 40
|
||||||
|
sb_offs_delta2 equ 46
|
||||||
|
sb_offs_all_redraw equ 80
|
||||||
|
;------------------------------------------------------------------------------
|
@ -24,7 +24,9 @@
|
|||||||
<li>d_button</li>
|
<li>d_button</li>
|
||||||
<li>menubar</li>
|
<li>menubar</li>
|
||||||
<li>filebrowser</li>
|
<li>filebrowser</li>
|
||||||
<li><a href="tree_list\info_treelist.htm">tree_list</a></li>
|
<li>filepath</li>
|
||||||
|
<li><a href="tree_list\info_treelist.htm">tree_list</a></li>
|
||||||
|
<li><a href="t_edit\t_edit.htm">text_editor</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h1><a name="autors">Àâòîðñêèé ñîñòàâ</a></h1>
|
<h1><a name="autors">Àâòîðñêèé ñîñòàâ</a></h1>
|
||||||
@ -36,6 +38,6 @@
|
|||||||
<p>Èãîðü Àôàíàñüåâ aka IgorA</p>
|
<p>Èãîðü Àôàíàñüåâ aka IgorA</p>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
<p>Äîęóěĺíňŕöč˙ îáíîâë˙ëŕńü ďîńëĺäíčé đŕç 05.02.10.</p>
|
<p>Äîęóěĺíňŕöč˙ îáíîâë˙ëŕńü ďîńëĺäíčé đŕç 29.04.10.</p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
@ -36,16 +36,6 @@ pre{
|
|||||||
color: #004000;
|
color: #004000;
|
||||||
background: #ffd0ff;
|
background: #ffd0ff;
|
||||||
}
|
}
|
||||||
pre font.f0 { color: #ffff00; }
|
|
||||||
pre font.f1 { color: #ffffff; }
|
|
||||||
pre font.f2 { color: #00ff00; }
|
|
||||||
pre font.f3 { color: #00ffff; }
|
|
||||||
pre font.f4 { color: #808080; }
|
|
||||||
pre font.f5 { color: #ff40ff; }
|
|
||||||
pre font.f6 { color: #4080ff; }
|
|
||||||
pre font.f7 { color: #ff0000; }
|
|
||||||
pre font.f8 { color: #ffcc00; }
|
|
||||||
pre font.f9 { color: #00ccff; }
|
|
||||||
|
|
||||||
caption
|
caption
|
||||||
{
|
{
|
||||||
@ -57,15 +47,12 @@ caption
|
|||||||
}
|
}
|
||||||
table
|
table
|
||||||
{
|
{
|
||||||
font-size: 10px;
|
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
border: #000000 1px solid;
|
border: #000000 1px solid;
|
||||||
background-color: #c0e7fb;
|
|
||||||
}
|
}
|
||||||
table td
|
table td
|
||||||
{
|
{
|
||||||
border: none;
|
border: none;
|
||||||
text-align: center;
|
|
||||||
}
|
}
|
||||||
table th
|
table th
|
||||||
{
|
{
|
||||||
|
138
programs/develop/libraries/box_lib/trunk/doc/t_edit/t_edit.htm
Normal file
138
programs/develop/libraries/box_lib/trunk/doc/t_edit/t_edit.htm
Normal file
@ -0,0 +1,138 @@
|
|||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>элемент Text Editor</title>
|
||||||
|
<meta http-equiv="content-type" content="text/html; charset=WINDOWS-1251">
|
||||||
|
<link href="../style.css" type=text/css rel=stylesheet>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<p><a href="../box_lib.htm">На главную ↑</a></p>
|
||||||
|
<h1>Оглавление</h1>
|
||||||
|
|
||||||
|
<p><a href="#vveden">Введение</a></p>
|
||||||
|
<p><a href="#funct">Функции</a></p>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#fun_but_copy">ted_but_copy</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h1><a name="vveden">Введение</a></h1>
|
||||||
|
<p>Элемент text_editor позволяет работать с текстовыми файлами, содержит много функция для редактирования текста.</p>
|
||||||
|
<p><img src="../../../../../../other/t_edit/t_edit.png"></p>
|
||||||
|
<p>Внешний вид программы, с элементом text_editor.</p>
|
||||||
|
|
||||||
|
<h2>Возможности</h2>
|
||||||
|
<ul>
|
||||||
|
<li>Открытие (Ctrl+O)/Сохранение файла.</li>
|
||||||
|
<li>Редактирование: Повтор/Отмена действия (Ctrl+Z), Вырезать/Копировать (Ctrl+C)/Вставить (Ctrl+V), Поиск (Ctrl+F, F3).</li>
|
||||||
|
<li>Выделение цветом слов, заданных в файле синтаксиса. Вывод справки по ним, если она есть (нажатием F1 когда курсор на слове).</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2>Некоторые недоработки</h2>
|
||||||
|
<ul>
|
||||||
|
<li>Если открыть большой файл, размер которого больше чем:
|
||||||
|
maxChars equ 100002 ;(...+2)
|
||||||
|
он откроется не весь, а первые maxChars-2 символов из файла
|
||||||
|
(о чем выдается сообщение).</li>
|
||||||
|
<li>При сохранении программа не спрашивает о замене существ. файла.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2>О работе программы</h2>
|
||||||
|
<p>Раздел для программистов (и интересующихся людей), в котором расказаны
|
||||||
|
некоторые идеи, на которых построена данная программа.</p>
|
||||||
|
|
||||||
|
<p>Для работы с текстом программа использует структуры:</p>
|
||||||
|
<pre>struct symbol
|
||||||
|
c db ? ; +0 символ
|
||||||
|
col db ? ; +1 цвет
|
||||||
|
perv dd ? ; +2
|
||||||
|
next dd ? ; +6 указатели
|
||||||
|
tc dd ? ; +10 врем. создания
|
||||||
|
td dd ? ; +14 врем. удаления
|
||||||
|
ends</pre>
|
||||||
|
<p>Каждая из таких структур сохраняет один символ в переменной 'c'. Переменные
|
||||||
|
'perv' и 'next' хранят индексы первого и следующего символов. Благодаря чему
|
||||||
|
текст создается в виде цепочки символов (двунаправленный список).</p>
|
||||||
|
<p><b>'tc'</b> - время создания символа, при отмене действия текстовый редактор "знает"
|
||||||
|
какие символы отображать, а какие нет (хотя все символы "висят" в памяти).</p>
|
||||||
|
<p><b>'td'</b> - время удаления символа, заполняется при удалении, при отмене действия
|
||||||
|
удаления символов, текст может быть восстановлен.</p>
|
||||||
|
<p><b>'col'</b> - используется для цветовой разметки.</p>
|
||||||
|
|
||||||
|
<h1><a name="funct">Функции</a></h1>
|
||||||
|
<p>Функции на экспорт:</p>
|
||||||
|
|
||||||
|
<h4><a name="fun_but_copy">ted_but_copy</a></h4>
|
||||||
|
|
||||||
|
<p>Функция которая будет вызываться при нажатии на кнопку копирования в буфер или на <b>Ctrl+C</b>.</p>
|
||||||
|
<p>Пример использования:</p>
|
||||||
|
<pre>stdcall [ted_but_copy], tedit0</pre>
|
||||||
|
|
||||||
|
<h4>ted_but_cut</h4><p></p>
|
||||||
|
<h4>ted_but_find_next</h4><p></p>
|
||||||
|
<h4>ted_but_paste</h4><p></p>
|
||||||
|
<h4>ted_but_redo</h4><p></p>
|
||||||
|
<h4>ted_but_reverse</h4><p></p>
|
||||||
|
<h4>ted_but_save_file</h4><p></p>
|
||||||
|
<h4>ted_but_select_word</h4><p></p>
|
||||||
|
<h4>ted_but_sumb_lover</h4><p></p>
|
||||||
|
<h4>ted_but_sumb_upper</h4><p></p>
|
||||||
|
<h4>ted_but_undo</h4><p></p>
|
||||||
|
<h4>ted_can_save</h4><p></p>
|
||||||
|
<h4>ted_clear</h4><p></p>
|
||||||
|
<h4>ted_delete</h4><p></p>
|
||||||
|
<h4>ted_draw</h4><p></p>
|
||||||
|
<h4>ted_init</h4><p></p>
|
||||||
|
<h4>ted_init_syntax_file</h4><p></p>
|
||||||
|
<h4>ted_is_select</h4><p></p>
|
||||||
|
<h4>ted_key</h4><p></p>
|
||||||
|
<h4>ted_mouse</h4><p></p>
|
||||||
|
<h4>ted_open_file</h4><p></p>
|
||||||
|
<h4>ted_text_add</h4><p></p>
|
||||||
|
<h4>ted_text_colored</h4><p></p>
|
||||||
|
|
||||||
|
<p>Внутренние функции:</p>
|
||||||
|
<p><b>ted_get_text_perv_pos</b> - переход на предыдущий символ в цепи (через указатель 'perv')</p>
|
||||||
|
<p><b>ted_get_text_next_pos</b> - переход на следующий символ в цепи (через указатель 'next')</p>
|
||||||
|
<p><b>ted_symbol_not_vis</b> - определяет видимый ли указанный символ на экране (в зависимости
|
||||||
|
от значений 'tc' и 'td')</p>
|
||||||
|
<p><b>ted_iterat_next</b> - переход на следующий видимый символ в цепи. Использует для
|
||||||
|
работы функции ted_get_text_next_pos и ted_symbol_not_vis.</p>
|
||||||
|
<p><b>ted_iterat_perv</b> - переход на предедущий видимый символ в цепи.</p>
|
||||||
|
|
||||||
|
<p><b>ted_iterat_next_pos_char</b> - найти следующую позицию указанного символа (edx-поз. начала
|
||||||
|
поиска, bl->код искомого символа)</p>
|
||||||
|
<p><b>ted_get_pos_by_coords</b> - берет позицию символа по координатам (esi->коорд. x, знак;
|
||||||
|
ecx->коорд. y, строка)</p>
|
||||||
|
<p><b>ted_go_to_pos</b> - переставляет курсор в указанную позицию, если указанная позиция
|
||||||
|
находится вне экрана, то также переставляются скролинги (ecx->коорд. x, знак; edx->коорд. y, строка)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h1>Формат файла подсветки *.syn</h1>
|
||||||
|
<table>
|
||||||
|
<tr><th>Элемент</th><th>Размер (байт)</th></tr>
|
||||||
|
<tr><td>Количество цветов текста</td>
|
||||||
|
<td><pre>4</pre></td></tr>
|
||||||
|
<tr><td>Количество подсвечиваемых слов</td>
|
||||||
|
<td><pre>4</pre></td></tr>
|
||||||
|
<tr><td>Цвета интерфейса</td>
|
||||||
|
<td><pre>4*6</pre></td></tr>
|
||||||
|
<tr><td>Цвета для текста</td>
|
||||||
|
<td><pre>4*(кол. цв. текста)</pre></td></tr>
|
||||||
|
<tr><td>Структуры со свойствами и описаниями слов</td>
|
||||||
|
<td><pre>sizeof(TexColViv)*(кол. слов)</pre></td></tr>
|
||||||
|
<tr><td>Разделительный символ, означающий начало описаний слов (всегда равен 0)</td>
|
||||||
|
<td><pre>1 байт</pre></td></tr>
|
||||||
|
<tr><td>Описания слов (строки текста с 0-ми в конце)</td>
|
||||||
|
<td><pre>(длинна справочного текста + 1)</pre></td></tr>
|
||||||
|
</table>
|
||||||
|
<h4>Замечания.</h4>
|
||||||
|
<ul>
|
||||||
|
<li>Все слова должны быть расположены в порядке следования их ASCII кодов.
|
||||||
|
Возможно в будущих версиях формат файлов подсветки будет изменен.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
<p>Документация обновлялась последний раз 29.04.10.</p>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
3867
programs/develop/libraries/box_lib/trunk/t_edit.mac
Normal file
3867
programs/develop/libraries/box_lib/trunk/t_edit.mac
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,6 @@
|
|||||||
; макрос для системной библиотеки box_lib.obj
|
; макрос для системной библиотеки box_lib.obj
|
||||||
; элемент TreeList для Kolibri OS
|
; элемент TreeList для Kolibri OS
|
||||||
; ôàéë ïîñëåäíèé ðàç èçìåíÿëñÿ 14.04.2010 IgorA
|
; файл последний раз изменялся 29.04.2010 IgorA
|
||||||
; на код применена GPL2 лицензия
|
; на код применена GPL2 лицензия
|
||||||
|
|
||||||
|
|
||||||
@ -1303,7 +1303,7 @@ tl_strlen:
|
|||||||
cmp byte[eax],0
|
cmp byte[eax],0
|
||||||
je @f
|
je @f
|
||||||
inc eax
|
inc eax
|
||||||
loop @b
|
jmp @b
|
||||||
@@:
|
@@:
|
||||||
sub eax,esi
|
sub eax,esi
|
||||||
ret
|
ret
|
||||||
|
@ -6,7 +6,7 @@ if not exist bin\te_icon.bmp @copy te_icon.bmp bin\te_icon.bmp
|
|||||||
if not exist bin\info mkdir bin\info
|
if not exist bin\info mkdir bin\info
|
||||||
copy info\* bin\info\*
|
copy info\* bin\info\*
|
||||||
|
|
||||||
@fasm.exe -m 16384 ..\..\develop\libraries\box_lib\trunk\box_lib.asm bin\box_lib.obj
|
if not exist bin\box_lib.obj @fasm.exe -m 16384 ..\..\develop\libraries\box_lib\trunk\box_lib.asm bin\box_lib.obj
|
||||||
@kpack bin\box_lib.obj
|
@kpack bin\box_lib.obj
|
||||||
|
|
||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
|
@ -6,7 +6,7 @@ if not exist bin\te_icon.bmp @copy te_icon.bmp bin\te_icon.bmp
|
|||||||
if not exist bin\info mkdir bin\info
|
if not exist bin\info mkdir bin\info
|
||||||
copy info\* bin\info\*
|
copy info\* bin\info\*
|
||||||
|
|
||||||
@fasm.exe -m 16384 ..\..\develop\libraries\box_lib\trunk\box_lib.asm bin\box_lib.obj
|
if not exist bin\box_lib.obj @fasm.exe -m 16384 ..\..\develop\libraries\box_lib\trunk\box_lib.asm bin\box_lib.obj
|
||||||
@kpack bin\box_lib.obj
|
@kpack bin\box_lib.obj
|
||||||
|
|
||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
|
@ -48,7 +48,7 @@ table
|
|||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<h1>TextEditor версия от 22.04.2010</h1>
|
<h1>TextEditor версия от 29.04.2010</h1>
|
||||||
<h2>О программе</h2>
|
<h2>О программе</h2>
|
||||||
<p>Программа для работы с текстовыми файлами.
|
<p>Программа для работы с текстовыми файлами.
|
||||||
Лицензия свободная.</p>
|
Лицензия свободная.</p>
|
||||||
@ -73,11 +73,11 @@ table
|
|||||||
<tr><td>Поддержка кодировок KOI8M, OEM</td>
|
<tr><td>Поддержка кодировок KOI8M, OEM</td>
|
||||||
<td>есть</td><td>нет</td></tr>
|
<td>есть</td><td>нет</td></tr>
|
||||||
<tr><td>Подсветка синтаксиса</td>
|
<tr><td>Подсветка синтаксиса</td>
|
||||||
<td>подсветка заранее зашита в программу</td><td>подсветка берется из файлов, которые может указать пользователь. Также есть возможность получать справку по подсвечиваемым словам (если она есть в файлах подсветки, навести курсор на слово и нажать F1).</td><td></td></tr>
|
<td>подсветка заранее зашита в программу</td><td>подсветка берется из файлов, которые может указать пользователь. Также есть возможность получать справку по подсвечиваемым словам (если она есть в файлах подсветки, навести курсор на слово и нажать F1).</td></tr>
|
||||||
<tr><td>Многократная отмена/повтор действий</td>
|
<tr><td>Многократная отмена/повтор действий</td>
|
||||||
<td>нет</td><td>есть</td><td></td></tr>
|
<td>нет</td><td>есть</td></tr>
|
||||||
<tr><td>Ограничения на размер файлов</td>
|
<tr><td>Ограничения на размер файлов</td>
|
||||||
<td>нет</td><td>есть</td><td></td></tr>
|
<td>нет</td><td>есть</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<h2>Некоторые недоработки</h2>
|
<h2>Некоторые недоработки</h2>
|
||||||
@ -112,21 +112,8 @@ ends</pre>
|
|||||||
удаления символов, текст может быть восстановлен.</p>
|
удаления символов, текст может быть восстановлен.</p>
|
||||||
<p><b>'col'</b> - используется для цветовой разметки.</p>
|
<p><b>'col'</b> - используется для цветовой разметки.</p>
|
||||||
|
|
||||||
<p>Теперь немного о функциях:</p>
|
<h3>Функции</h3>
|
||||||
<p><b>GetTexPervPos</b> - переход на предыдущий символ в цепи (через указатель 'perv')</p>
|
<p>Информацию по функциям смотрите в документации по элементу t_edit в библиотеке box_lib.obj.</p>
|
||||||
<p><b>GetTexNextPos</b> - переход на следующий символ в цепи (через указатель 'next')</p>
|
|
||||||
<p><b>SymbNotVis</b> - определяет видимый ли указанный символ на экране (в зависимости
|
|
||||||
от значений 'tc' и 'td')</p>
|
|
||||||
<p><b>IteratNext</b> - переход на следующий видимый символ в цепи. Использует для
|
|
||||||
работы функции GetTexNextPos и SymbNotVis.</p>
|
|
||||||
<p><b>IteratPerv</b> - переход на предедущий видимый символ в цепи.</p>
|
|
||||||
|
|
||||||
<p><b>ItPoNextUc</b> - найти следующую позицию указанного символа (edx-поз. начала
|
|
||||||
поиска, bl->код искомого символа)</p>
|
|
||||||
<p><b>GetPosByParam</b> - берет позицию символа по координатам (esi->коорд. x, знак;
|
|
||||||
ecx->коорд. y, строка)</p>
|
|
||||||
<p><b>GoToPos</b> - переставляет курсор в указанную позицию, если указанная позиция
|
|
||||||
находится вне экрана, то также переставляются скролинги (ecx->коорд. x, знак; edx->коорд. y, строка)</p>
|
|
||||||
|
|
||||||
<h3>Формат файла подсветки *.syn</h3>
|
<h3>Формат файла подсветки *.syn</h3>
|
||||||
<table>
|
<table>
|
||||||
|
@ -1,7 +1,83 @@
|
|||||||
|
struct f70
|
||||||
|
func_n dd ?
|
||||||
|
param1 dd ?
|
||||||
|
param2 dd ?
|
||||||
|
param3 dd ?
|
||||||
|
param4 dd ?
|
||||||
|
rezerv db ?
|
||||||
|
name dd ?
|
||||||
|
ends
|
||||||
|
|
||||||
|
struct TexColViv
|
||||||
|
Text rb MAX_COLOR_WORD_LEN ; á«®¢® ¤«ï ¯®¤á¢¥âª¨
|
||||||
|
f1 dd 0 ; á¯à ¢ª ¯® á«®¢ã
|
||||||
|
wwo db ? ; whole words only
|
||||||
|
endc db ? ; ᨬ¢®« ª®æ ¢ë¤¥«¥¨ï (wwo&4)
|
||||||
|
color db ? ; ®¬¥à 梥â
|
||||||
|
ends
|
||||||
|
|
||||||
|
struct symbol
|
||||||
|
c db ? ; +0 ᨬ¢®«
|
||||||
|
col db ? ; +1 梥â
|
||||||
|
perv dd ? ; +2
|
||||||
|
next dd ? ; +6 㪠§ ⥫¨
|
||||||
|
tc dd ? ; +10 ¢à¥¬. ᮧ¤ ¨ï
|
||||||
|
td dd ? ; +14 ¢à¥¬. 㤠«¥¨ï
|
||||||
|
ends
|
||||||
|
|
||||||
|
|
||||||
|
hed db 'TextEditor 29.04.10',0 ;¯®¤¯¨áì ®ª
|
||||||
|
sc system_colors
|
||||||
|
|
||||||
|
fn_icon db 'te_icon.bmp',0
|
||||||
|
bmp_icon dd 0
|
||||||
|
run_file_70 f70
|
||||||
|
|
||||||
|
|
||||||
|
;input:
|
||||||
|
; al = ª®¤ ®è¨¡ª¨
|
||||||
align 4
|
align 4
|
||||||
but_NewFile:
|
ted_on_init_synt_err:
|
||||||
|
mov byte[msgbox_3.err],al
|
||||||
|
stdcall [mb_create],msgbox_3,thread ;message: Can-t open color options file!
|
||||||
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
;-----------------------------------------------------------------------------
|
||||||
|
;äãªæ¨ï ¤«ï ¢ë¤¥«¥¨ï ¯ ¬ïâ¨
|
||||||
|
;input:
|
||||||
|
; ecx = size data
|
||||||
|
;otput:
|
||||||
|
; eax = pointer to memory
|
||||||
|
align 4
|
||||||
|
mem_Alloc:
|
||||||
|
push ebx
|
||||||
|
mov eax,68
|
||||||
|
mov ebx,12
|
||||||
|
int 0x40
|
||||||
|
pop ebx
|
||||||
|
ret
|
||||||
|
;-----------------------------------------------------------------------------
|
||||||
|
;äãªæ¨ï ¤«ï ®á¢®¡®¦¤¥¨ï ¯ ¬ïâ¨
|
||||||
|
;input:
|
||||||
|
; ecx = pointer to memory
|
||||||
|
align 4
|
||||||
|
mem_Free:
|
||||||
push eax ebx
|
push eax ebx
|
||||||
stdcall ted_can_save, tedit0
|
cmp ecx,0
|
||||||
|
jz @f
|
||||||
|
mov eax,68
|
||||||
|
mov ebx,13
|
||||||
|
int 0x40
|
||||||
|
@@:
|
||||||
|
pop ebx eax
|
||||||
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
align 4
|
||||||
|
ted_but_new_file:
|
||||||
|
push eax ebx
|
||||||
|
stdcall [ted_can_save], tedit0
|
||||||
cmp al,1
|
cmp al,1
|
||||||
jne @f
|
jne @f
|
||||||
stdcall [mb_create],msgbox_2,thread ;message: save changes in file?
|
stdcall [mb_create],msgbox_2,thread ;message: save changes in file?
|
||||||
@ -18,9 +94,9 @@ but_NewFile:
|
|||||||
|
|
||||||
align 4
|
align 4
|
||||||
On_NewFile:
|
On_NewFile:
|
||||||
stdcall ted_clear, tedit0,1
|
stdcall [ted_clear], tedit0,1
|
||||||
call draw_but_toolbar
|
call draw_but_toolbar
|
||||||
stdcall draw_main_win, tedit0
|
stdcall [ted_draw], tedit0
|
||||||
ret
|
ret
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
@ -28,7 +104,7 @@ On_SaveAndNewFile:
|
|||||||
push edi
|
push edi
|
||||||
mov edi, tedit0
|
mov edi, tedit0
|
||||||
|
|
||||||
stdcall but_SaveFile,edi
|
stdcall [ted_but_save_file],edi,run_file_70,[edit1.text]
|
||||||
cmp ted_err_save,0
|
cmp ted_err_save,0
|
||||||
jne @f
|
jne @f
|
||||||
call On_NewFile
|
call On_NewFile
|
||||||
@ -36,387 +112,119 @@ On_SaveAndNewFile:
|
|||||||
pop edi
|
pop edi
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
;description:
|
||||||
|
; äãªæ¨ï ®âªàëâ¨ï ä ©« ¡¥§ ®ª® á®®¡é¥¨ï
|
||||||
align 4
|
align 4
|
||||||
but_no_msg_OpenFile: ;äãªæ¨ï ®âªàëâ¨ï ä ©« ç¥à¥§ ¡¥§ ®ª® á®®¡é¥¨ï
|
but_no_msg_OpenFile:
|
||||||
stdcall ted_on_open_file, tedit0
|
push eax ebx
|
||||||
ret
|
stdcall [ted_open_file], tedit0,run_file_70,[edit1.text]
|
||||||
|
call ted_messages_after_open_file
|
||||||
|
pop ebx eax
|
||||||
|
ret
|
||||||
|
|
||||||
|
;description:
|
||||||
;äãªæ¨ï ®âªàëâ¨ï ä ©« á ¢®§¬®¦ë¬ ®ª®¬ á®®¡é¥¨ï (® ¢®§¬®¦®á⨠®â¬¥¨âì ®âªàë⨥)
|
; äãªæ¨ï ®âªàëâ¨ï ä ©« á ¢®§¬®¦ë¬ ®ª®¬ á®®¡é¥¨ï (® ¢®§¬®¦®á⨠®â¬¥¨âì ®âªàë⨥)
|
||||||
align 4
|
align 4
|
||||||
but_OpenFile:
|
ted_but_open_file:
|
||||||
push eax
|
push eax ebx
|
||||||
stdcall ted_can_save, tedit0
|
stdcall [ted_can_save], tedit0
|
||||||
cmp al,1
|
cmp al,1
|
||||||
jne @f
|
jne @f
|
||||||
stdcall [mb_create],msgbox_5,thread ;message: save changes in file?
|
stdcall [mb_create],msgbox_5,thread ;message: save changes in file?
|
||||||
stdcall [mb_setfunctions],msgbox_5_funct
|
stdcall [mb_setfunctions],msgbox_5_funct
|
||||||
jmp .ret_f
|
jmp .ret_f
|
||||||
@@:
|
@@:
|
||||||
stdcall ted_on_open_file, tedit0
|
stdcall [ted_open_file], tedit0,run_file_70,[edit1.text]
|
||||||
.ret_f:
|
call ted_messages_after_open_file
|
||||||
pop eax
|
.ret_f:
|
||||||
ret
|
pop ebx eax
|
||||||
|
ret
|
||||||
align 4
|
|
||||||
proc ted_on_open_file, edit:dword ;äãªæ¨ï ®âªàëâ¨ï ä ©«
|
|
||||||
push eax ebx edi
|
|
||||||
mov edi,dword[edit]
|
|
||||||
|
|
||||||
mov eax,70
|
|
||||||
mov [run_file_70.func_n], 0
|
|
||||||
mov [run_file_70.param1], 0
|
|
||||||
mov [run_file_70.param2], 0
|
|
||||||
mov [run_file_70.param3], maxChars-2 ;sizeof.symbol
|
|
||||||
m2m [run_file_70.param4], ted_tex
|
|
||||||
mov [run_file_70.rezerv], 0
|
|
||||||
push dword[edit1.text]
|
|
||||||
pop dword[run_file_70.name]
|
|
||||||
mov ebx,run_file_70
|
|
||||||
int 0x40
|
|
||||||
|
|
||||||
cmp eax,0
|
|
||||||
je @f
|
|
||||||
cmp eax,6
|
|
||||||
je @f
|
|
||||||
cmp ax,10
|
|
||||||
jl .zifra_0_9
|
|
||||||
mov al,'?'
|
|
||||||
sub ax,48
|
|
||||||
.zifra_0_9:
|
|
||||||
add ax,48
|
|
||||||
|
|
||||||
mov byte[msgbox_4.err],al
|
|
||||||
stdcall [mb_create],msgbox_4,thread ;message: Can-t open text file!
|
|
||||||
jmp .ret_f
|
|
||||||
@@:
|
|
||||||
cmp ebx,-1
|
|
||||||
je .ret_f
|
|
||||||
;if open file
|
|
||||||
call OpenFile
|
|
||||||
cmp ebx,maxChars-2
|
|
||||||
jl .ret_f
|
|
||||||
stdcall [mb_create],msgbox_1,thread
|
|
||||||
.ret_f:
|
|
||||||
pop edi ebx eax
|
|
||||||
ret
|
|
||||||
endp
|
|
||||||
|
|
||||||
|
|
||||||
align 4
|
|
||||||
proc but_SaveFile, edit:dword
|
|
||||||
pushad
|
|
||||||
|
|
||||||
stdcall ted_can_save,edi
|
|
||||||
cmp al,0
|
|
||||||
je .no_save
|
|
||||||
|
|
||||||
mov edi,dword[edit]
|
|
||||||
|
|
||||||
mov ecx,maxChars
|
|
||||||
call mem_Alloc
|
|
||||||
push eax
|
|
||||||
|
|
||||||
mov edx,ted_tex
|
|
||||||
xor ecx,ecx
|
|
||||||
@@:
|
|
||||||
call IteratNext
|
|
||||||
cmp edx,ted_tex_1
|
|
||||||
jle @f ;edx = ted_tex or edx = ted_tex+sizeof.symbol
|
|
||||||
mov bl,[edx]
|
|
||||||
mov byte[eax],bl
|
|
||||||
inc eax
|
|
||||||
inc ecx
|
|
||||||
jmp @b
|
|
||||||
@@:
|
|
||||||
|
|
||||||
cmp ecx,0
|
|
||||||
je @f
|
|
||||||
pop eax
|
|
||||||
mov [run_file_70.param4],eax
|
|
||||||
push eax
|
|
||||||
mov eax,70
|
|
||||||
mov [run_file_70.func_n], 2
|
|
||||||
mov [run_file_70.param1], 0
|
|
||||||
mov [run_file_70.param2], 0
|
|
||||||
mov [run_file_70.param3], ecx
|
|
||||||
mov [run_file_70.rezerv], 0
|
|
||||||
push [edit1.text]
|
|
||||||
pop [run_file_70.name]
|
|
||||||
mov ebx,run_file_70
|
|
||||||
int 0x40
|
|
||||||
|
|
||||||
mov ted_err_save,ax
|
|
||||||
|
|
||||||
cmp eax,0
|
|
||||||
je .no_msg
|
|
||||||
; cmp eax,6
|
|
||||||
; je @f
|
|
||||||
cmp ax,10
|
|
||||||
jl .zifra_0_9
|
|
||||||
mov al,'?'
|
|
||||||
sub ax,48
|
|
||||||
.zifra_0_9:
|
|
||||||
add ax,48
|
|
||||||
|
|
||||||
mov byte[msgbox_6.err],al
|
|
||||||
stdcall [mb_create],msgbox_6,thread ;message: Can-t save text file!
|
|
||||||
jmp @f
|
|
||||||
.no_msg:
|
|
||||||
m2m ted_tim_ls,ted_tim_ch
|
|
||||||
@@:
|
|
||||||
|
|
||||||
pop ecx
|
|
||||||
call mem_Free
|
|
||||||
.no_save:
|
|
||||||
popad
|
|
||||||
ret
|
|
||||||
endp
|
|
||||||
|
|
||||||
|
|
||||||
align 4
|
|
||||||
proc but_FindText, edit:dword
|
|
||||||
pushad
|
|
||||||
mov edi,dword[edit]
|
|
||||||
|
|
||||||
call GetPos
|
|
||||||
mov eax,[edit2.text]
|
|
||||||
mov bl,byte[eax]
|
|
||||||
@@:
|
|
||||||
call GetFindRezult
|
|
||||||
cmp bh,1
|
|
||||||
je @f ; find
|
|
||||||
|
|
||||||
call IteratNext
|
|
||||||
cmp edx,ted_tex_1
|
|
||||||
jle @f
|
|
||||||
jmp @b
|
|
||||||
@@:
|
|
||||||
cmp bh,0
|
|
||||||
je @f
|
|
||||||
call GetTexCoords
|
|
||||||
inc ebx ;move cursor right
|
|
||||||
mov ted_sel_x1,ebx
|
|
||||||
mov ted_sel_y1,eax
|
|
||||||
mov edx,eax
|
|
||||||
mov ecx,ebx
|
|
||||||
call GoToPos
|
|
||||||
mov edx,esi ;esi ¡ë«® ãáâ ®¢«¥® ¢ GetFindRezult
|
|
||||||
call GetTexCoords
|
|
||||||
mov ted_sel_x0,ebx
|
|
||||||
mov ted_sel_y0,eax
|
|
||||||
stdcall draw_main_win,edi
|
|
||||||
jmp .end_find
|
|
||||||
@@:
|
|
||||||
stdcall [mb_create],msgbox_7,thread ;message: Can not find text
|
|
||||||
.end_find:
|
|
||||||
popad
|
|
||||||
ret
|
|
||||||
endp
|
|
||||||
|
|
||||||
;input:
|
;input:
|
||||||
; eax - text need find
|
; eax = ª®¤ ®è¨¡ª¨
|
||||||
; bl - first symbol to find
|
; ebx = ª®««¨ç¥á⢮ ¯à®ç¨â ëå ¡ ©â
|
||||||
; edx - first symbol pointer
|
; edi = pointer to tedit struct
|
||||||
; edi - pointer to tedit struct
|
|
||||||
;output:
|
|
||||||
; bh - rezult
|
|
||||||
; edx - last text position (if find sucess)
|
|
||||||
; esi - first symbol pointer
|
|
||||||
;description:
|
|
||||||
; ”ãªæ¨ï ¯à®¢¥àï¥â ᮢ¯ ¤ ¥â «¨ ⥪áâ ¢ ¡ãä¥à¥ eax
|
|
||||||
; á ⥪á⮬ । ªâ®à ¯® 㪠§ ⥫î edx.
|
|
||||||
; ‘â ¤ àâë¥ äãªæ¨¨ ( ¯à. strcmp) âãâ ¥ ¯®¤®©¤ãâ, ¯®â®¬ã çâ®
|
|
||||||
; ¢ ¯ ¬ï⨠। ªâ®à ⥪áâ ᮤ¥à¦¨âáï ¥ ¢ ¢¨¤¥ ascii áâப.
|
|
||||||
align 4
|
align 4
|
||||||
GetFindRezult:
|
ted_messages_after_open_file:
|
||||||
push eax
|
push ecx
|
||||||
mov bh,1
|
cmp eax,0
|
||||||
mov esi,edx ;copy edx
|
je @f
|
||||||
@@:
|
cmp eax,6
|
||||||
cmp byte[edx],bl
|
je @f
|
||||||
jne .no_text
|
cmp ax,10
|
||||||
|
jl .zifra_0_9
|
||||||
|
mov al,'?'
|
||||||
|
sub ax,48
|
||||||
|
.zifra_0_9:
|
||||||
|
add ax,48
|
||||||
|
|
||||||
inc eax ;*** get next symbol (in find text) ***
|
mov byte[msgbox_4.err],al
|
||||||
mov bl,byte[eax]
|
stdcall [mb_create],msgbox_4,thread ;message: Can-t open text file!
|
||||||
cmp bl,0
|
jmp .ret_f
|
||||||
je @f ;end of find text
|
@@:
|
||||||
|
cmp ebx,-1
|
||||||
|
je .ret_f
|
||||||
|
;if open file
|
||||||
|
mov ecx,ted_max_chars
|
||||||
|
sub ecx,2 ;ecx = ¬ ªá¨¬ «ì®¥ ç¨á«® ¡ ©â, ¤«ï ª®â®àëå ¡ë« ¢ë¤¥«¥ ¯ ¬ïâì
|
||||||
|
cmp ebx,ecx
|
||||||
|
jl .ret_f
|
||||||
|
stdcall [mb_create],msgbox_1,thread
|
||||||
|
.ret_f:
|
||||||
|
pop ecx
|
||||||
|
ret
|
||||||
|
|
||||||
call IteratNext ;*** get next symbol (in editor text) ***
|
align 4
|
||||||
cmp edx,ted_tex_1
|
ted_save_err_msg:
|
||||||
jle @f ;end of editor text
|
mov byte[msgbox_6.err],al
|
||||||
|
stdcall [mb_create],msgbox_6,thread ;message: Can-t save text file!
|
||||||
jmp @b
|
ret
|
||||||
.no_text:
|
|
||||||
xor bh,bh
|
|
||||||
mov edx,esi ;restore edx
|
|
||||||
@@:
|
|
||||||
pop eax
|
|
||||||
mov bl,byte[eax] ;restore bl
|
|
||||||
ret
|
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
proc ted_but_open_syntax, edit:dword
|
proc ted_but_open_syntax, edit:dword
|
||||||
push edi
|
push ebx edi
|
||||||
mov edi,dword[edit]
|
mov edi,dword[edit]
|
||||||
|
|
||||||
cmp ted_panel_id,TE_PANEL_SYNTAX
|
cmp ted_panel_id,TED_PANEL_SYNTAX
|
||||||
jne @f
|
jne @f
|
||||||
stdcall dword[tl_node_get_data], tree1
|
stdcall dword[tl_node_get_data], tree1
|
||||||
pop dword[fn_col_option]
|
pop dword[fn_col_option]
|
||||||
stdcall InitColText,edi
|
mov ebx,dword[fn_col_option]
|
||||||
call CmColored
|
copy_path ebx,fn_syntax_dir,file_name_rez,0x0
|
||||||
stdcall draw_main_win,edi
|
copy_path file_name_rez,sys_path,file_name,0x0
|
||||||
|
stdcall [ted_init_syntax_file],edi,run_file_70,file_name
|
||||||
|
call [ted_text_colored]
|
||||||
|
stdcall [ted_draw],edi
|
||||||
@@:
|
@@:
|
||||||
pop edi
|
pop edi ebx
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
proc ted_but_select_word, edit:dword
|
proc ted_but_find ;¢ë§®¢/áªàë⨥ ¯ ¥«¨ ¯®¨áª
|
||||||
pushad
|
|
||||||
mov edi,dword[edit]
|
|
||||||
|
|
||||||
call GetPos
|
|
||||||
push edx
|
|
||||||
call ItPervColorTag
|
|
||||||
cmp edx,ted_tex_1
|
|
||||||
jle @f
|
|
||||||
call GetTexCoords
|
|
||||||
mov ted_sel_x0,ebx
|
|
||||||
mov ted_sel_y0,eax
|
|
||||||
@@:
|
|
||||||
pop edx
|
|
||||||
call ItNextColorTag
|
|
||||||
cmp edx,ted_tex_1
|
|
||||||
jle @f
|
|
||||||
call GetTexCoords
|
|
||||||
mov ted_sel_x1,ebx
|
|
||||||
mov ted_sel_y1,eax
|
|
||||||
@@:
|
|
||||||
|
|
||||||
call draw_but_toolbar
|
|
||||||
stdcall draw_main_win,edi
|
|
||||||
popad
|
|
||||||
ret
|
|
||||||
endp
|
|
||||||
|
|
||||||
align 4
|
|
||||||
proc ted_but_cut, edit:dword
|
|
||||||
push edi
|
push edi
|
||||||
mov edi,dword[edit]
|
mov edi,tedit0
|
||||||
|
|
||||||
stdcall ted_but_copy,edi
|
cmp ted_panel_id,TED_PANEL_NULL
|
||||||
stdcall ted_set_undo,edi
|
|
||||||
stdcall SelTextDel,ted_opt_ed_change_time
|
|
||||||
|
|
||||||
cmp al,1
|
|
||||||
jne @f
|
|
||||||
call draw_but_toolbar
|
|
||||||
stdcall draw_main_win,edi
|
|
||||||
@@:
|
|
||||||
pop edi
|
|
||||||
ret
|
|
||||||
endp
|
|
||||||
|
|
||||||
;output:
|
|
||||||
; al = 1 if copy text
|
|
||||||
align 4
|
|
||||||
proc ted_but_copy, edit:dword
|
|
||||||
pushad
|
|
||||||
mov edi,dword[edit]
|
|
||||||
|
|
||||||
stdcall IsSel,edi
|
|
||||||
cmp al,0
|
|
||||||
je .end_f ;if not selected text
|
|
||||||
stdcall SelNormalize,edi
|
|
||||||
|
|
||||||
mov esi,ted_seln_x1
|
|
||||||
mov ecx,ted_seln_y1
|
|
||||||
call GetPosByParam
|
|
||||||
mov ebx,edx
|
|
||||||
mov esi,ted_seln_x0
|
|
||||||
mov ecx,ted_seln_y0
|
|
||||||
call GetPosByParam
|
|
||||||
mov esi,ebx
|
|
||||||
|
|
||||||
xor ecx,ecx
|
|
||||||
mov ebx,buf
|
|
||||||
;mov edx,ted_tex
|
|
||||||
@@:
|
|
||||||
cmp edx,ted_tex_1 ;end of file
|
|
||||||
jle @f
|
|
||||||
cmp edx,esi ;end of select
|
|
||||||
je @f
|
|
||||||
inc ecx
|
|
||||||
cmp ecx,BUF_SIZE ;owerflow bufer
|
|
||||||
je @f
|
|
||||||
|
|
||||||
mov al,byte[edx]
|
|
||||||
mov byte[ebx],al
|
|
||||||
inc ebx
|
|
||||||
|
|
||||||
call IteratNext
|
|
||||||
jmp @b
|
|
||||||
@@:
|
|
||||||
add ecx,buf
|
|
||||||
mov byte[ebx],0
|
|
||||||
|
|
||||||
cmp ecx,0
|
|
||||||
je .end_f
|
|
||||||
call draw_but_toolbar
|
|
||||||
stdcall draw_bufer,edi
|
|
||||||
.end_f:
|
|
||||||
popad
|
|
||||||
ret
|
|
||||||
endp
|
|
||||||
|
|
||||||
|
|
||||||
align 4
|
|
||||||
proc ted_but_paste, edit:dword
|
|
||||||
push eax ebx esi edi
|
|
||||||
mov edi,dword[edit]
|
|
||||||
|
|
||||||
mov esi,buf
|
|
||||||
call strlen
|
|
||||||
cmp eax,1
|
|
||||||
jl @f
|
|
||||||
stdcall ted_set_undo,edi
|
|
||||||
mov esi,eax
|
|
||||||
mov ebx,ted_opt_ed_change_time+ted_opt_ed_move_cursor
|
|
||||||
stdcall SelTextDel,ebx
|
|
||||||
cmp al,1
|
|
||||||
jne .del
|
|
||||||
mov ebx,ted_opt_ed_move_cursor
|
|
||||||
.del:
|
|
||||||
stdcall ted_text_add,edi,buf,esi,ebx
|
|
||||||
call draw_but_toolbar
|
|
||||||
stdcall draw_main_win,edi
|
|
||||||
@@:
|
|
||||||
pop edi esi ebx eax
|
|
||||||
ret
|
|
||||||
endp
|
|
||||||
|
|
||||||
align 4
|
|
||||||
proc but_find, edit:dword ;¢ë§®¢/áªàë⨥ ¯ ¥«¨ ¯®¨áª
|
|
||||||
push edi
|
|
||||||
mov edi,dword[edit]
|
|
||||||
|
|
||||||
cmp ted_panel_id,TE_PANEL_NULL
|
|
||||||
je @f
|
je @f
|
||||||
mov ted_panel_id,TE_PANEL_NULL
|
mov ted_panel_id,TED_PANEL_NULL
|
||||||
mov ted_wnd_l,0
|
mov ted_wnd_l,0
|
||||||
jmp .e_if
|
jmp .e_if
|
||||||
@@:
|
@@:
|
||||||
mov ted_panel_id,TE_PANEL_FIND
|
mov ted_panel_id,TED_PANEL_FIND
|
||||||
mov ted_wnd_l,TE_PANEL_WIDTH
|
mov ted_wnd_l,TED_PANEL_WIDTH
|
||||||
.e_if:
|
.e_if:
|
||||||
stdcall EvSize,edi
|
stdcall EvSize,edi
|
||||||
stdcall draw_main_win,edi
|
stdcall [ted_draw],edi
|
||||||
pop edi
|
pop edi
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
|
ted_on_find_err:
|
||||||
|
stdcall [mb_create],msgbox_7,thread ;message: Can not find text
|
||||||
|
ret
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
but_replace:
|
but_replace:
|
||||||
ret
|
ret
|
||||||
@ -425,102 +233,6 @@ align 4
|
|||||||
but_find_key_w:
|
but_find_key_w:
|
||||||
ret
|
ret
|
||||||
|
|
||||||
align 4
|
|
||||||
proc but_sumb_upper, edit:dword
|
|
||||||
push edi esi
|
|
||||||
mov edi,dword[edit]
|
|
||||||
|
|
||||||
mov [conv_table],EvUpper
|
|
||||||
call ConvertSelText
|
|
||||||
cmp esi,0
|
|
||||||
je @f
|
|
||||||
stdcall draw_main_win,edi
|
|
||||||
@@:
|
|
||||||
pop esi edi
|
|
||||||
ret
|
|
||||||
endp
|
|
||||||
|
|
||||||
align 4
|
|
||||||
proc but_sumb_lover, edit:dword
|
|
||||||
push edi esi
|
|
||||||
mov edi,dword[edit]
|
|
||||||
|
|
||||||
mov [conv_table],EvLover
|
|
||||||
call ConvertSelText
|
|
||||||
cmp esi,0
|
|
||||||
je @f
|
|
||||||
stdcall draw_main_win,edi
|
|
||||||
@@:
|
|
||||||
pop esi edi
|
|
||||||
ret
|
|
||||||
endp
|
|
||||||
|
|
||||||
align 4
|
|
||||||
proc but_reverse, edit:dword
|
|
||||||
push eax ebx edi
|
|
||||||
mov edi,dword[edit]
|
|
||||||
|
|
||||||
stdcall IsSel,edi
|
|
||||||
cmp al,0
|
|
||||||
je @f
|
|
||||||
stdcall SelNormalize,edi
|
|
||||||
push esi ecx edx
|
|
||||||
mov esi,ted_seln_x0
|
|
||||||
mov ecx,ted_seln_y0
|
|
||||||
call GetPosByParam
|
|
||||||
mov eax,edx
|
|
||||||
mov esi,ted_seln_x1
|
|
||||||
cmp esi,0
|
|
||||||
je .beg_str
|
|
||||||
dec esi
|
|
||||||
.beg_str:
|
|
||||||
mov ecx,ted_seln_y1
|
|
||||||
call GetPosByParam
|
|
||||||
;call GetTexPervPos
|
|
||||||
mov ebx,edx
|
|
||||||
pop edx ecx esi
|
|
||||||
;cmp eax,...
|
|
||||||
;je @f
|
|
||||||
call Revers
|
|
||||||
@@:
|
|
||||||
stdcall draw_main_win,edi
|
|
||||||
pop edi ebx eax
|
|
||||||
ret
|
|
||||||
endp
|
|
||||||
|
|
||||||
align 4
|
|
||||||
proc ted_but_undo, edit:dword
|
|
||||||
push eax edi
|
|
||||||
mov edi,dword[edit]
|
|
||||||
|
|
||||||
mov eax,ted_tim_undo
|
|
||||||
cmp ted_tim_ch,eax
|
|
||||||
jbe @f
|
|
||||||
inc ted_tim_undo
|
|
||||||
;call CmColored
|
|
||||||
stdcall draw_main_win,edi
|
|
||||||
call draw_but_toolbar
|
|
||||||
@@:
|
|
||||||
pop edi eax
|
|
||||||
ret
|
|
||||||
endp
|
|
||||||
|
|
||||||
align 4
|
|
||||||
proc ted_but_redo, edit:dword
|
|
||||||
push edi
|
|
||||||
mov edi,dword[edit]
|
|
||||||
|
|
||||||
cmp ted_tim_undo,1
|
|
||||||
jb @f
|
|
||||||
dec ted_tim_undo
|
|
||||||
;call CmColored
|
|
||||||
stdcall draw_main_win,edi
|
|
||||||
call draw_but_toolbar
|
|
||||||
@@:
|
|
||||||
pop edi
|
|
||||||
ret
|
|
||||||
endp
|
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
proc but_sumb_invis, edit:dword
|
proc but_sumb_invis, edit:dword
|
||||||
push edi
|
push edi
|
||||||
@ -528,7 +240,7 @@ proc but_sumb_invis, edit:dword
|
|||||||
|
|
||||||
xor ted_mode_invis,1
|
xor ted_mode_invis,1
|
||||||
call draw_but_toolbar
|
call draw_but_toolbar
|
||||||
stdcall draw_main_win,edi
|
stdcall [ted_draw],edi
|
||||||
pop edi
|
pop edi
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
@ -541,153 +253,30 @@ proc but_k_words_show, edit:dword
|
|||||||
xor ted_mode_color,1
|
xor ted_mode_color,1
|
||||||
cmp ted_mode_color,0
|
cmp ted_mode_color,0
|
||||||
je @f
|
je @f
|
||||||
call CmColored
|
call [ted_text_colored]
|
||||||
@@:
|
@@:
|
||||||
call draw_but_toolbar
|
call draw_but_toolbar
|
||||||
stdcall draw_main_win,edi
|
stdcall [ted_draw],edi
|
||||||
pop edi
|
pop edi
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
|
||||||
;input:
|
|
||||||
; edi = pointer to tedit struct
|
|
||||||
align 4
|
|
||||||
but_CtrlHome:
|
|
||||||
mov ted_cur_x,0
|
|
||||||
mov ted_cur_y,0
|
|
||||||
push eax
|
|
||||||
mov eax,ted_scr_w
|
|
||||||
mov dword[eax+sb_offs_position],0
|
|
||||||
mov eax,ted_scr_h
|
|
||||||
mov dword[eax+sb_offs_position],0
|
|
||||||
pop eax
|
|
||||||
call draw_but_toolbar
|
|
||||||
stdcall draw_main_win,edi
|
|
||||||
ret
|
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
proc but_synt_show, edit:dword
|
proc but_synt_show, edit:dword
|
||||||
push edi
|
push edi
|
||||||
mov edi,[edit]
|
mov edi,[edit]
|
||||||
|
|
||||||
cmp ted_panel_id,TE_PANEL_NULL
|
cmp ted_panel_id,TED_PANEL_NULL
|
||||||
je @f
|
je @f
|
||||||
mov ted_panel_id,TE_PANEL_NULL
|
mov ted_panel_id,TED_PANEL_NULL
|
||||||
mov ted_wnd_l,0
|
mov ted_wnd_l,0
|
||||||
jmp .e_if
|
jmp .e_if
|
||||||
@@:
|
@@:
|
||||||
mov ted_panel_id,TE_PANEL_SYNTAX
|
mov ted_panel_id,TED_PANEL_SYNTAX
|
||||||
mov ted_wnd_l,TE_PANEL_WIDTH
|
mov ted_wnd_l,TED_PANEL_WIDTH
|
||||||
.e_if:
|
.e_if:
|
||||||
stdcall EvSize,edi
|
stdcall EvSize,edi
|
||||||
stdcall draw_main_win,edi
|
stdcall [ted_draw],edi
|
||||||
pop edi
|
|
||||||
ret
|
|
||||||
endp
|
|
||||||
|
|
||||||
align 4
|
|
||||||
proc ted_sel_key_up, edit:dword
|
|
||||||
push edi
|
|
||||||
mov edi,dword[edit]
|
|
||||||
|
|
||||||
cmp ted_drag_k,1
|
|
||||||
je @f
|
|
||||||
stdcall SelStart,edi
|
|
||||||
mov ted_drag_k,1
|
|
||||||
@@:
|
|
||||||
push dx
|
|
||||||
call CurMoveUp
|
|
||||||
cmp dl,8
|
|
||||||
jne @f
|
|
||||||
call OnInitialUpdate
|
|
||||||
@@:
|
|
||||||
pop dx
|
|
||||||
stdcall SelMove,edi
|
|
||||||
stdcall draw_main_win,edi
|
|
||||||
pop edi
|
|
||||||
ret
|
|
||||||
endp
|
|
||||||
|
|
||||||
align 4
|
|
||||||
proc ted_sel_key_down, edit:dword
|
|
||||||
push edi
|
|
||||||
mov edi,dword[edit]
|
|
||||||
|
|
||||||
cmp ted_drag_k,1
|
|
||||||
je @f
|
|
||||||
stdcall SelStart,edi
|
|
||||||
mov ted_drag_k,1
|
|
||||||
@@:
|
|
||||||
push dx
|
|
||||||
call CurMoveDown
|
|
||||||
cmp dl,8
|
|
||||||
jne @f
|
|
||||||
call OnInitialUpdate
|
|
||||||
@@:
|
|
||||||
pop dx
|
|
||||||
stdcall SelMove,edi
|
|
||||||
stdcall draw_main_win,edi
|
|
||||||
pop edi
|
|
||||||
ret
|
|
||||||
endp
|
|
||||||
|
|
||||||
align 4
|
|
||||||
proc ted_sel_key_left, edit:dword
|
|
||||||
push edi
|
|
||||||
mov edi,dword[edit]
|
|
||||||
|
|
||||||
cmp ted_drag_k,1
|
|
||||||
je @f
|
|
||||||
stdcall SelStart,edi
|
|
||||||
@@:
|
|
||||||
push dx
|
|
||||||
call CurMoveLeft
|
|
||||||
stdcall SelMove,edi
|
|
||||||
cmp ted_drag_k,1
|
|
||||||
je @f
|
|
||||||
mov ted_drag_k,1
|
|
||||||
mov dl,8
|
|
||||||
@@:
|
|
||||||
cmp dl,8
|
|
||||||
jne @f
|
|
||||||
call OnInitialUpdate
|
|
||||||
stdcall draw_main_win,edi
|
|
||||||
jmp .end_f
|
|
||||||
@@:
|
|
||||||
stdcall draw_cur_line,edi
|
|
||||||
.end_f:
|
|
||||||
pop dx
|
|
||||||
pop edi
|
|
||||||
ret
|
|
||||||
endp
|
|
||||||
|
|
||||||
align 4
|
|
||||||
proc ted_sel_key_right, edit:dword
|
|
||||||
push edi
|
|
||||||
mov edi,dword[edit]
|
|
||||||
|
|
||||||
cmp ted_drag_k,1
|
|
||||||
je @f
|
|
||||||
stdcall SelStart,edi
|
|
||||||
@@:
|
|
||||||
push dx
|
|
||||||
call CurMoveRight
|
|
||||||
stdcall SelMove,edi
|
|
||||||
cmp ted_drag_k,1
|
|
||||||
je @f
|
|
||||||
mov ted_drag_k,1
|
|
||||||
mov dl,8
|
|
||||||
@@:
|
|
||||||
cmp dl,8
|
|
||||||
jne @f
|
|
||||||
call OnInitialUpdate
|
|
||||||
stdcall draw_main_win,edi
|
|
||||||
jmp .end_f
|
|
||||||
@@:
|
|
||||||
stdcall draw_cur_line,edi
|
|
||||||
.end_f:
|
|
||||||
pop dx
|
|
||||||
pop edi
|
pop edi
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
@ -72,6 +72,32 @@ menu_bar_mouse dd aMenu_bar_mouse
|
|||||||
tl_node_close_open dd sz_tl_node_close_open
|
tl_node_close_open dd sz_tl_node_close_open
|
||||||
tl_node_lev_inc dd sz_tl_node_lev_inc
|
tl_node_lev_inc dd sz_tl_node_lev_inc
|
||||||
tl_node_lev_dec dd sz_tl_node_lev_dec
|
tl_node_lev_dec dd sz_tl_node_lev_dec
|
||||||
|
|
||||||
|
ted_but_save_file dd sz_ted_but_save_file
|
||||||
|
ted_but_sumb_upper dd sz_ted_but_sumb_upper
|
||||||
|
ted_but_sumb_lover dd sz_ted_but_sumb_lover
|
||||||
|
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_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_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
|
||||||
|
|
||||||
dd 0,0
|
dd 0,0
|
||||||
|
|
||||||
aEdit_box_draw db 'edit_box',0
|
aEdit_box_draw db 'edit_box',0
|
||||||
@ -119,6 +145,31 @@ aMenu_bar_mouse db 'menu_bar_mouse',0
|
|||||||
sz_tl_node_close_open db 'tl_node_close_open',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_inc db 'tl_node_lev_inc',0
|
||||||
sz_tl_node_lev_dec db 'tl_node_lev_dec',0
|
sz_tl_node_lev_dec db 'tl_node_lev_dec',0
|
||||||
|
|
||||||
|
sz_ted_but_save_file db 'ted_but_save_file',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_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_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_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
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
msgbox_lib_import:
|
msgbox_lib_import:
|
||||||
@ -275,10 +326,10 @@ menu_data_1:
|
|||||||
.get_mouse_flag dd 0 ;+116
|
.get_mouse_flag dd 0 ;+116
|
||||||
;-------------------------
|
;-------------------------
|
||||||
|
|
||||||
TE_PANEL_NULL equ 0
|
TED_PANEL_NULL equ 0 ;¥â ®âªàë⮩ ¯ ¥«¨
|
||||||
TE_PANEL_FIND equ 1
|
TED_PANEL_FIND equ 1 ;¯ ¥«ì ¯®¨áª
|
||||||
TE_PANEL_SYNTAX equ 2
|
TED_PANEL_SYNTAX equ 2 ;¯ ¥«ì ¢ë¡®à ä ©«®¢ ¯®¤á¢¥âª¨
|
||||||
TE_PANEL_WIDTH equ 150 ;øèðèíà ïàíåëè
|
TED_PANEL_WIDTH equ 150 ;è¨à¨ ¯ ¥«¨
|
||||||
|
|
||||||
count_of_dir_list_files equ 15
|
count_of_dir_list_files equ 15
|
||||||
|
|
||||||
@ -290,75 +341,6 @@ struct TexSelect
|
|||||||
y1 dd ?
|
y1 dd ?
|
||||||
ends
|
ends
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
ted_wnd_l equ dword[edi+ 0] ;®ª® । ªâ®à : ®âáâ㯠᫥¢
|
|
||||||
ted_wnd_t equ dword[edi+ 4] ;®ª® । ªâ®à : ®âáâ㯠ᢥàåã
|
|
||||||
ted_wnd_w equ dword[edi+ 8] ;®ª® । ªâ®à : è¨à¨
|
|
||||||
ted_wnd_h equ dword[edi+12] ;®ª® । ªâ®à : ¢ëá®â
|
|
||||||
ted_rec_l equ dword[edi+16] ;è¨à¨ ¯ ¥«¨ ¢ ®ª¥
|
|
||||||
ted_rec_t equ dword[edi+20] ;¢ëá®â ¯ ¥«¨ ¢ ®ª¥
|
|
||||||
ted_rec_w equ dword[edi+24] ;è¨à¨ ᨬ¢®« (§ ª®¬¥áâ ) ¢ ®ª¥
|
|
||||||
ted_rec_h equ dword[edi+28] ;¢ëá®â ᨬ¢®« (§ ª®¬¥áâ ) ¢ ®ª¥
|
|
||||||
ted_drag_m equ byte[edi+32] ;¢ë¤¥«¥¨¥ ®â ¬ëè¨
|
|
||||||
ted_drag_k equ byte[edi+33] ;¢ë¤¥«¥¨¥ ®â ª« ¢¨ âãàë
|
|
||||||
ted_sel_x0 equ dword[edi+34] ;ª®®à¤¨ ⠢뤥«¥¨ï x0
|
|
||||||
ted_sel_y0 equ dword[edi+38] ;ª®®à¤¨ ⠢뤥«¥¨ï y0
|
|
||||||
ted_sel_x1 equ dword[edi+42] ;ª®®à¤¨ ⠢뤥«¥¨ï x1
|
|
||||||
ted_sel_y1 equ dword[edi+46] ;ª®®à¤¨ ⠢뤥«¥¨ï y1
|
|
||||||
;§ ¯ áë¥ ª®®à¤¨ âë ¢ë¤¥«¥¨ï
|
|
||||||
ted_seln_x0 equ dword[edi+50]
|
|
||||||
ted_seln_y0 equ dword[edi+54]
|
|
||||||
ted_seln_x1 equ dword[edi+58]
|
|
||||||
ted_seln_y1 equ dword[edi+62]
|
|
||||||
|
|
||||||
ted_tex equ dword[edi+66] ;㪠§ â¥«ì ¯ ¬ïâì ¤«ï åà ¥¨ï ⥪áâ
|
|
||||||
ted_tex_1 equ dword[edi+70] ;㪠§ ⥫ì 1-î áâàªãâàã ᨬ¢®«
|
|
||||||
ted_tex_end equ dword[edi+74] ;㪠§ â¥«ì ¯®á«¥¤îî áâàãªâãàã ᨬ¢®«
|
|
||||||
ted_cur_x equ dword[edi+78] ;ª®®à¤¨ â x ªãàá®à
|
|
||||||
ted_cur_y equ dword[edi+82] ;ª®®à¤¨ â y ªãàá®à
|
|
||||||
ted_cur_ins equ byte[edi+86] ;०¨¬ à ¡®âë ªãàá®à (®¡ëçë© ¨«¨ § ¬¥ )
|
|
||||||
ted_mode_color equ byte[edi+87] ;०¨¬ ¢ë¤¥«¥¨ï á«®¢ 梥⮬ (0-¢ëª«. 1-¢ª«.)
|
|
||||||
ted_mode_invis equ byte[edi+88] ;०¨¬ ¯®ª § ¥¯¥ç â ¥¬ëå ᨬ¢®«®¢
|
|
||||||
ted_gp_opt equ byte[edi+89] ;®¯æ¨¨ ¢®§¢à é ¥¬ë¥ äãªæ¨¥© GetPos
|
|
||||||
ted_colors_text_count equ dword[edi+90] ;ª®««¨ç¥á⢮ 梥⮢ ⥪áâ
|
|
||||||
ted_key_words_count equ dword[edi+94] ;ª®««¨ç¥á⢮ ª«î祢ëå á«®¢
|
|
||||||
ted_color_cursor equ dword[edi+98] ;梥⠪ãàá®à
|
|
||||||
ted_color_wnd_capt equ dword[edi+102] ;梥⠯®«¥© ¢®ªà㣠®ª
|
|
||||||
ted_color_wnd_work equ dword[edi+106] ;梥â ä® ®ª
|
|
||||||
ted_color_wnd_bord equ dword[edi+110] ;梥â ⥪áâ ¯®«ïå
|
|
||||||
ted_color_select equ dword[edi+114] ;梥⠢뤥«¥¨ï
|
|
||||||
ted_color_cur_text equ dword[edi+118] ;梥â ᨬ¢®« ¯®¤ ªãàá®à®¬
|
|
||||||
ted_color_wnd_text equ dword[edi+122] ;梥â ⥪áâ ¢ ®ª¥
|
|
||||||
ted_syntax_file equ dword[edi+126] ;㪠§ ⥫ì ç «® ä ©« á¨â ªá¨á
|
|
||||||
ted_syntax_file_end equ dword[edi+130] ;㪠§ â¥«ì ª®¥æ ä ©« á¨â ªá¨á
|
|
||||||
ted_text_colors equ dword[edi+134] ;㪠§ â¥«ì ¬ áᨢ 梥⮢ ⥪áâ
|
|
||||||
ted_help_text_f1 equ dword[edi+138] ;㪠§ ⥫ì ⥪áâ á¯à ¢ª¨ (¯® ¦ ⨨ F1)
|
|
||||||
ted_help_id equ dword[edi+142] ;¨¤¥â¨ä¨ª â®à ¤«ï á¯à ¢ª¨
|
|
||||||
ted_key_words_data equ dword[edi+146] ;㪠§ ⥫ì áâàãªâãàë ª«î祢ëå á«®¢ TexColViv
|
|
||||||
ted_tim_ch equ dword[edi+150] ;ª®««¨ç¥á⢮ ¨§¬¥¥¨© ¢ ä ©«¥
|
|
||||||
ted_tim_undo equ dword[edi+154] ;ª®««¨ç¥á⢮ ®â¬¥¥ëå ¤¥©á⢨©
|
|
||||||
ted_tim_ls equ dword[edi+158] ;¢à¥¬ï ¯®á«¥¤¥£® á®åà ¥¨ï
|
|
||||||
ted_tim_co equ dword[edi+162] ;¢à¥¬ï ¯®á«¥¤¥© 梥⮢®© à §¬¥âª¨
|
|
||||||
ted_el_focus equ dword[edi+166] ;㪠§ â¥«ì ¯¥à¥¬¥ãî í«¥¬¥â ¢ 䮪ãá¥
|
|
||||||
ted_err_save equ word[edi+170] ;®è¨¡ª á®åà ¥¨ï ä ©«
|
|
||||||
ted_key_new equ byte[edi+172] ;ᨬ¢®«, ª®â®àë© ¡ã¤¥â ¤®¡ ¢«ïâáï á ª« ¢¨ âãàë
|
|
||||||
ted_symbol_new_line equ byte[edi+173] ;ᨬ¢®« § ¢¥à襨ï áâப¨
|
|
||||||
ted_scr_w equ dword[edi+174] ;¢¥à⨪ «ìë© áªà®««¨£
|
|
||||||
ted_scr_h equ dword[edi+178] ;£®à¨§®â «ìë© áªà®««¨£
|
|
||||||
ted_panel_id equ byte[edi+182] ;®¬¥à ®âªàë⮩ ¯ ¥«¨
|
|
||||||
;------------------------------------------------------------------------------
|
|
||||||
sb_offs_max_area equ 16
|
|
||||||
sb_offs_cur_area equ 20
|
|
||||||
sb_offs_position equ 24
|
|
||||||
sb_offs_redraw equ 40
|
|
||||||
;------------------------------------------------------------------------------
|
|
||||||
ted_opt_ed_move_cursor equ 1 ;¤¢¨£ âì ªãàá®à ¯®á«¥ ¤®¡ ¢«¥¨ï ⥪áâ
|
|
||||||
ted_opt_ed_change_time equ 2 ;¤®¡ ¢«ïâì ¨§¬¥¥¨ï ¯à¨ । ªâ¨à®¢ ¨¨ ⥪áâ
|
|
||||||
ted_offs_sel equ 34 ;ᬥ饨¥ áâàãªâãàë sel
|
|
||||||
ted_offs_seln equ 50 ;ᬥ饨¥ áâàãªâãàë seln
|
|
||||||
ted_offs_count_colors equ 90 ;ᬥ饨¥ ¯¥à¥¬¥®© ª®««¨ç¥á⢠梥⮢
|
|
||||||
ted_offs_key_new equ 172
|
|
||||||
ted_offs_symbol_new_line equ 173 ;ᬥ饨¥ ᨬ¢®« ®¢®© áâப¨
|
|
||||||
;------------------------------------------------------------------------------
|
|
||||||
align 4
|
align 4
|
||||||
tedit0: ;áâàãªâãà ⥪á⮢®£® । ªâ®à
|
tedit0: ;áâàãªâãà ⥪á⮢®£® । ªâ®à
|
||||||
.wnd BOX 0,50,440,150 ;+ 0
|
.wnd BOX 0,50,440,150 ;+ 0
|
||||||
@ -367,53 +349,67 @@ tedit0: ;
|
|||||||
.drag_k db 0 ;+33 ¢ë¤¥«¥¨¥ ®â ª« ¢¨ âãàë
|
.drag_k db 0 ;+33 ¢ë¤¥«¥¨¥ ®â ª« ¢¨ âãàë
|
||||||
.sel TexSelect 0,0,0,0 ;+34 áâàãªâãà ¢ë¤¥«¥¨ï
|
.sel TexSelect 0,0,0,0 ;+34 áâàãªâãà ¢ë¤¥«¥¨ï
|
||||||
.seln TexSelect ;+50 ¤®¯®«¨â¥«ì ï áâàãªâãà ¢ë¤¥«¥¨ï
|
.seln TexSelect ;+50 ¤®¯®«¨â¥«ì ï áâàãªâãà ¢ë¤¥«¥¨ï
|
||||||
.tex dd 0 ;+66 text memory pointer
|
.tex dd 0 ;+66 text memory pointer
|
||||||
.tex_1 dd 0 ;+70 text first symbol pointer
|
.tex_1 dd 0 ;+70 text first symbol pointer
|
||||||
.tex_end dd 0 ;+74 text end memory pointer
|
.tex_end dd 0 ;+74 text end memory pointer
|
||||||
.cur_x dd 0 ;+78
|
.cur_x dd 0 ;+78 ª®®à¤¨ â x ªãàá®à
|
||||||
.cur_y dd 0 ;+82
|
.cur_y dd 0 ;+82 ª®®à¤¨ â y ªãàá®à
|
||||||
.cur_ins db 1 ;+86
|
.max_chars dd maxChars ;+86 ¬ ªá¨¬ «ì®¥ ç¨á«® ᨬ¢®«®¢ ¢ ®¤®¬ ¤®ªã¬¥â¥
|
||||||
.mode_color db 1 ;+87 ०¨¬ ¢ë¤¥«¥¨ï á«®¢ 梥⮬ (0-¢ëª«. 1-¢ª«.)
|
|
||||||
.mode_invis db 0 ;+88 ०¨¬ ¯®ª § ¥¯¥ç â ¥¬ëå ᨬ¢®«®¢
|
|
||||||
.gp_opt db 0 ;+89 ®¯æ¨¨ ¢®§¢à é ¥¬ë¥ äãªæ¨¥© GetPos
|
|
||||||
; \/ ¥ à §àë¢ âì á«¥¤ãî騥 ¯¥à¥¬¥ë¥:
|
; \/ ¥ à §àë¢ âì á«¥¤ãî騥 ¯¥à¥¬¥ë¥:
|
||||||
.count_colors_text dd 1 ;+90 ª®««¨ç¥á⢮ 梥⮢ ⥪áâ
|
.count_colors_text dd 1 ;+90 ª®««¨ç¥á⢮ 梥⮢ ⥪áâ
|
||||||
.count_key_words dd 0 ;+94 ª®««¨ç¥á⢮ ª«î祢ëå á«®¢
|
.count_key_words dd 0 ;+94 ª®««¨ç¥á⢮ ª«î祢ëå á«®¢
|
||||||
.color_cursor dd 0x808080 ;+98 梥⠪ãàá®à
|
.color_cursor dd 0x808080 ;+98 梥⠪ãàá®à
|
||||||
.color_wnd_capt dd 0x80 ;+102 梥⠯®«¥© ¢®ªà㣠®ª
|
.color_wnd_capt dd 0x80 ;+102 梥⠯®«¥© ¢®ªà㣠®ª
|
||||||
.color_wnd_work dd 0x0 ;+106 梥â ä® ®ª
|
.color_wnd_work dd 0x0 ;+106 梥â ä® ®ª
|
||||||
.color_wnd_bord dd 0xd0d0d0 ;+110 梥â ⥪áâ ¯®«ïå
|
.color_wnd_bord dd 0xd0d0d0 ;+110 梥â ⥪áâ ¯®«ïå
|
||||||
.color_select dd 0x208080 ;+114 梥⠢뤥«¥¨ï
|
.color_select dd 0x208080 ;+114 梥⠢뤥«¥¨ï
|
||||||
.color_cur_text dd 0xff0000 ;+118 梥â ᨬ¢®« ¯®¤ ªãàá®à®¬
|
.color_cur_text dd 0xff0000 ;+118 梥â ᨬ¢®« ¯®¤ ªãàá®à®¬
|
||||||
.color_wnd_text dd 0xffff00 ;+122 梥â ⥪áâ ¢ ®ª¥
|
.color_wnd_text dd 0xffff00 ;+122 梥â ⥪áâ ¢ ®ª¥
|
||||||
; /\ ¤à㣨¥, ¨¤ã騥 ¨¦¥ ¬®¦® à §àë¢ âì.
|
; /\ ¤à㣨¥, ¨¤ã騥 ¨¦¥ ¬®¦® à §àë¢ âì.
|
||||||
.syntax_file dd 0 ;+126 㪠§ ⥫ì ç «® ä ©« á¨â ªá¨á
|
.syntax_file dd 0 ;+126 㪠§ ⥫ì ç «® ä ©« á¨â ªá¨á
|
||||||
.syntax_file_end dd 0 ;+130 㪠§ â¥«ì ª®¥æ ä ©« á¨â ªá¨á
|
.syntax_file_size dd maxSyntaxFileSize ;+130 ¬ ªá¨¬ «ìë© à §¬¥à ä ©« á¨â ªá¨á
|
||||||
.text_colors dd 0 ;+134 㪠§ â¥«ì ¬ áᨢ 梥⮢ ⥪áâ
|
.text_colors dd 0 ;+134 㪠§ â¥«ì ¬ áᨢ 梥⮢ ⥪áâ
|
||||||
.help_text_f1 dd 0 ;+138 㪠§ ⥫ì ⥪áâ á¯à ¢ª¨ (¯® ¦ ⨨ F1)
|
.help_text_f1 dd 0 ;+138 㪠§ ⥫ì ⥪áâ á¯à ¢ª¨ (¯® ¦ ⨨ F1)
|
||||||
.help_id dd -1 ;+142 ¨¤¥â¨ä¨ª â®à ¤«ï á¯à ¢ª¨
|
.help_id dd -1 ;+142 ¨¤¥â¨ä¨ª â®à ¤«ï á¯à ¢ª¨
|
||||||
.key_words_data dd 0 ;+146 㪠§ ⥫ì áâàãªâãàë ª«î祢ëå á«®¢ TexColViv
|
.key_words_data dd 0 ;+146 㪠§ ⥫ì áâàãªâãàë ª«î祢ëå á«®¢ TexColViv
|
||||||
.tim_ch dd ? ;+150 ª®«¨ç¥á⢮ ¨§¬¥¥¨© ¢ ä ©«¥
|
.tim_ch dd ? ;+150 ª®«¨ç¥á⢮ ¨§¬¥¥¨© ¢ ä ©«¥
|
||||||
.tim_undo dd ? ;+154 ª®«¨ç¥á⢮ ®â¬¥¥ëå ¤¥©á⢨©
|
.tim_undo dd ? ;+154 ª®«¨ç¥á⢮ ®â¬¥¥ëå ¤¥©á⢨©
|
||||||
.tim_ls dd ? ;+158 ¢à¥¬ï ¯®á«¥¤¥£® á®åà ¥¨ï
|
.tim_ls dd ? ;+158 ¢à¥¬ï ¯®á«¥¤¥£® á®åà ¥¨ï
|
||||||
.tim_co dd ? ;+162 ¢à¥¬ï ¯®á«¥¤¥© 梥⮢®© à §¬¥âª¨
|
.tim_co dd ? ;+162 ¢à¥¬ï ¯®á«¥¤¥© 梥⮢®© à §¬¥âª¨
|
||||||
.el_focus dd el_focus ;+166 㪠§ â¥«ì ¯¥à¥¬¥ãî í«¥¬¥â ¢ 䮪ãá¥
|
.el_focus dd el_focus ;+166 㪠§ â¥«ì ¯¥à¥¬¥ãî í«¥¬¥â ¢ 䮪ãá¥
|
||||||
.err_save dw 0 ;+170 ®è¨¡ª á®åà ¥¨ï ä ©«
|
.err_save db 0 ;+170 ®è¨¡ª á®åà ¥¨ï ä ©«
|
||||||
|
.panel_id db 0 ;+171 ®¬¥à ®âªàë⮩ ¯ ¥«¨
|
||||||
.key_new db 0 ;+172 ᨬ¢®«, ª®â®àë© ¡ã¤¥â ¤®¡ ¢«ïâáï á ª« ¢¨ âãàë
|
.key_new db 0 ;+172 ᨬ¢®«, ª®â®àë© ¡ã¤¥â ¤®¡ ¢«ïâáï á ª« ¢¨ âãàë
|
||||||
.symbol_new_line db 20 ;+173 ᨬ¢®« § ¢¥à襨ï áâப¨
|
.symbol_new_line db 20 ;+173 ᨬ¢®« § ¢¥à襨ï áâப¨
|
||||||
.scr_w dd wScr ;+174 ¢¥à⨪ «ìë© áªà®««¨£
|
.scr_w dd wScr ;+174 ¢¥à⨪ «ìë© áªà®««¨£
|
||||||
.scr_h dd hScr ;+178 £®à¨§®â «ìë© áªà®««¨£
|
.scr_h dd hScr ;+178 £®à¨§®â «ìë© áªà®««¨£
|
||||||
.panel_id db 0 ;+182 ®¬¥à ®âªàë⮩ ¯ ¥«¨
|
.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 0 ;+210 ... Ctrl+S
|
||||||
|
.buffer_size dd BUF_SIZE ;+214 à §¬¥à ¡ãä¥à ª®¯¨à®¢ ¨ï/¢áâ ¢ª¨
|
||||||
|
.fun_find_err dd ted_on_find_err ;+218 㪠§ ⥫ì äãªæ¨î ¢ë§ë¢ ¥¬ãî ¥á«¨ ¯®¨áª § ª®ç¨«áï ¥ã¤ ç®
|
||||||
|
.fun_init_synt_err dd ted_on_init_synt_err ;+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 㪠§ ⥫ì äãªæ¨î ¢ë§ë¢ ¥¬ãî ¥á«¨ á®åà ¥¨¥ ä ©« § ª®ç¨«®áì ¥ã¤ ç®
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
|
|
||||||
FkPos: rd 256
|
|
||||||
conv_tabl rb 128 ; â ¡«¨æ ¤«ï ª®¢¥àâ¨à®¢ ¨ï scan-ª®¤ ¢ ascii-ª®¤
|
conv_tabl rb 128 ; â ¡«¨æ ¤«ï ª®¢¥àâ¨à®¢ ¨ï scan-ª®¤ ¢ ascii-ª®¤
|
||||||
|
buf db BUF_SIZE dup(0)
|
||||||
|
|
||||||
el_focus dd 0
|
el_focus dd 0
|
||||||
mouse_dd 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,\
|
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,TE_PANEL_WIDTH-17,120, 0,0,0, el_focus,\
|
16,16, 0x8080ff,0x0000ff,0xffffff, 0,70,TED_PANEL_WIDTH-17,120, 0,0,0, el_focus,\
|
||||||
ws_dir_lbox,0
|
ws_dir_lbox,0
|
||||||
|
|
||||||
;dir_list memory
|
;dir_list memory
|
||||||
@ -426,7 +422,6 @@ tree_file_struct:
|
|||||||
|
|
||||||
dir_mem rb 32+304*count_of_dir_list_files
|
dir_mem rb 32+304*count_of_dir_list_files
|
||||||
|
|
||||||
|
|
||||||
if lang eq ru
|
if lang eq ru
|
||||||
|
|
||||||
menu_text_area:
|
menu_text_area:
|
||||||
@ -525,11 +520,6 @@ txtFindCapt db '
|
|||||||
txtFindNext db '<27> ©â¨ ¤ «¥¥',0
|
txtFindNext db '<27> ©â¨ ¤ «¥¥',0
|
||||||
txtFormatCapt db '”®à¬ â',0
|
txtFormatCapt db '”®à¬ â',0
|
||||||
txtFormatApply db '<27>ਬ¥¨âì',0
|
txtFormatApply db '<27>ਬ¥¨âì',0
|
||||||
txtRow db '‘âப ',0
|
|
||||||
txtCol db '‡ ª',0
|
|
||||||
txtOtm db 'Žâ¬¥ë',0
|
|
||||||
txtBuf db '<27>ãä¥à: '
|
|
||||||
buf db BUF_SIZE dup(0) ;buf âñåãäà ïîñëå txtBuf
|
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
@ -629,66 +619,9 @@ txtFindCapt db 'Search',0
|
|||||||
txtFindNext db 'Find next',0
|
txtFindNext db 'Find next',0
|
||||||
txtFormatCapt db 'Format',0
|
txtFormatCapt db 'Format',0
|
||||||
txtFormatApply db 'Apply',0
|
txtFormatApply db 'Apply',0
|
||||||
txtRow db 'Rows',0
|
|
||||||
txtCol db 'Cols',0
|
|
||||||
txtOtm db 'Undo',0
|
|
||||||
txtBuf db 'Buffer: '
|
|
||||||
buf db BUF_SIZE dup(0) ;buf always after txtBuf
|
|
||||||
|
|
||||||
end if
|
end if
|
||||||
;------
|
;------
|
||||||
align 4
|
|
||||||
EvChar db 0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
|
||||||
db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
|
||||||
db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
|
||||||
db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
|
||||||
db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
|
||||||
db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0
|
|
||||||
db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
|
||||||
db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
|
||||||
db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
|
|
||||||
EvUpper db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
db 0,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79
|
|
||||||
db 80,81,82,83,84,85,86,87,88,89,90,0,0,0,0,0
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
db 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
EvLover db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
db 0,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111
|
|
||||||
db 112,113,114,115,116,117,118,119,120,121,122,0,0,0,0,0
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
db 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
conv_table dd 0
|
|
||||||
|
|
||||||
|
|
||||||
KM_SHIFT equ 0x00010000
|
KM_SHIFT equ 0x00010000
|
||||||
KM_CTRL equ 0x00020000
|
KM_CTRL equ 0x00020000
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -16,8 +16,8 @@ use32
|
|||||||
|
|
||||||
MAX_COLOR_WORD_LEN equ 40
|
MAX_COLOR_WORD_LEN equ 40
|
||||||
maxChars equ 100002 ;(...+2)
|
maxChars equ 100002 ;(...+2)
|
||||||
BUF_SIZE equ 1000 ;bufer for copy|paste
|
BUF_SIZE equ 1000 ;buffer for copy|paste
|
||||||
maxColWords equ 10000
|
maxSyntaxFileSize equ 410000
|
||||||
|
|
||||||
include '../../proc32.inc'
|
include '../../proc32.inc'
|
||||||
include '../../macros.inc'
|
include '../../macros.inc'
|
||||||
@ -27,9 +27,8 @@ include '../../develop/libraries/box_lib/trunk/box_lib.mac'
|
|||||||
include 'lang.inc'
|
include 'lang.inc'
|
||||||
include 't_data.inc'
|
include 't_data.inc'
|
||||||
include 'strlen.inc'
|
include 'strlen.inc'
|
||||||
include 't_work.inc' ;text work functions
|
|
||||||
include 't_draw.inc' ;draw main window functions
|
include 't_draw.inc' ;draw main window functions
|
||||||
include 't_button.inc'
|
include 't_button.inc' ;text work functions
|
||||||
|
|
||||||
@use_library
|
@use_library
|
||||||
|
|
||||||
@ -37,14 +36,15 @@ align 4
|
|||||||
start:
|
start:
|
||||||
mcall 48,3,sc,sizeof.system_colors
|
mcall 48,3,sc,sizeof.system_colors
|
||||||
|
|
||||||
m2m [wScr.bckg_col],[sc.work]
|
mov eax,[sc.work]
|
||||||
m2m [wScr.frnt_col],[sc.work_button]
|
mov [wScr.bckg_col],eax
|
||||||
m2m [wScr.line_col],[sc.work_button_text]
|
mov [hScr.bckg_col],eax
|
||||||
|
mov eax,[sc.work_button]
|
||||||
m2m [hScr.bckg_col],[sc.work]
|
mov [wScr.frnt_col],eax
|
||||||
m2m [hScr.frnt_col],[sc.work_button]
|
mov [hScr.frnt_col],eax
|
||||||
m2m [hScr.line_col],[sc.work_button_text]
|
mov eax,[sc.work_button_text]
|
||||||
|
mov [wScr.line_col],eax
|
||||||
|
mov [hScr.line_col],eax
|
||||||
|
|
||||||
mcall 68,11
|
mcall 68,11
|
||||||
or eax,eax
|
or eax,eax
|
||||||
@ -75,7 +75,7 @@ load_libraries l_libs_start,load_lib_end
|
|||||||
@@:
|
@@:
|
||||||
|
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
stdcall ted_init, tedit0
|
stdcall [ted_init], tedit0
|
||||||
stdcall dword[tl_data_init], tree1
|
stdcall dword[tl_data_init], tree1
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
|
|
||||||
@ -174,7 +174,10 @@ mov ecx,ebx
|
|||||||
.end_dir_init:
|
.end_dir_init:
|
||||||
|
|
||||||
;--- load color option file ---
|
;--- load color option file ---
|
||||||
stdcall InitColText, tedit0
|
mov ebx,dword[fn_col_option]
|
||||||
|
copy_path ebx,fn_syntax_dir,file_name_rez,0x0
|
||||||
|
copy_path file_name_rez,sys_path,file_name,0x0
|
||||||
|
stdcall [ted_init_syntax_file], tedit0,run_file_70,file_name
|
||||||
|
|
||||||
;--- get cmd line ---
|
;--- get cmd line ---
|
||||||
cmp byte[buf_cmd_lin+3],0 ;buf_cmd_lin
|
cmp byte[buf_cmd_lin+3],0 ;buf_cmd_lin
|
||||||
@ -202,7 +205,7 @@ red_win:
|
|||||||
mcall 9,procinfo,-1
|
mcall 9,procinfo,-1
|
||||||
stdcall EvSize,edi
|
stdcall EvSize,edi
|
||||||
|
|
||||||
mov eax,13 ;âåðõíèé ïðÿìîóãîëüíèê, äëÿ î÷èñòêè âåðõíåé ïàíåëè
|
mov eax,13 ;¢¥à娩 ¯àאַ㣮«ì¨ª, ¤«ï ®ç¨á⪨ ¢¥à奩 ¯ ¥«¨
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
mov ecx,ted_wnd_t
|
mov ecx,ted_wnd_t
|
||||||
mov bx,word [procinfo.client_box.width]
|
mov bx,word [procinfo.client_box.width]
|
||||||
@ -234,7 +237,7 @@ red_win:
|
|||||||
|
|
||||||
cmp [err_ini0],1
|
cmp [err_ini0],1
|
||||||
je @f
|
je @f
|
||||||
stdcall draw_main_win, tedit0
|
stdcall [ted_draw], tedit0
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
mcall 12,2
|
mcall 12,2
|
||||||
@ -263,53 +266,13 @@ mouse:
|
|||||||
test word [edit1.flags],10b;ed_focus ; ¥á«¨ ¥ ¢ 䮪ãá¥, ¢ë室¨¬
|
test word [edit1.flags],10b;ed_focus ; ¥á«¨ ¥ ¢ 䮪ãá¥, ¢ë室¨¬
|
||||||
jne still
|
jne still
|
||||||
|
|
||||||
;-----------------------------------------------
|
stdcall [ted_mouse], tedit0
|
||||||
cmp [hScr.delta2],0
|
|
||||||
jne .horizontal
|
|
||||||
.vertical:
|
|
||||||
mov eax,[wScr.max_area]
|
|
||||||
cmp eax,[wScr.cur_area]
|
|
||||||
jbe .horizontal
|
|
||||||
; mouse event for Vertical ScrollBar
|
|
||||||
stdcall [scrollbar_ver_mouse], dword wScr
|
|
||||||
mov eax,wScr.redraw
|
|
||||||
xor ebx,ebx
|
|
||||||
cmp [eax],ebx
|
|
||||||
je @f
|
|
||||||
mov [eax],ebx
|
|
||||||
|
|
||||||
stdcall draw_main_win, tedit0
|
cmp byte[tedit0.panel_id],TED_PANEL_FIND ;if not panel
|
||||||
jmp still
|
|
||||||
@@:
|
|
||||||
cmp [wScr.delta2],0
|
|
||||||
jne still
|
|
||||||
.horizontal:
|
|
||||||
mov eax,[hScr.max_area]
|
|
||||||
cmp eax,[hScr.cur_area]
|
|
||||||
jbe .other
|
|
||||||
; mouse event for Horizontal ScrollBar
|
|
||||||
push dword hScr
|
|
||||||
call [scrollbar_hor_mouse]
|
|
||||||
mov eax,hScr.redraw
|
|
||||||
xor ebx,ebx
|
|
||||||
cmp [eax],ebx
|
|
||||||
je .other
|
|
||||||
mov [eax],ebx
|
|
||||||
stdcall draw_main_win, tedit0
|
|
||||||
jmp still
|
|
||||||
.other:
|
|
||||||
cmp [wScr.delta2],0
|
|
||||||
jne still
|
|
||||||
cmp [hScr.delta2],0
|
|
||||||
jne still
|
|
||||||
|
|
||||||
stdcall mouse_wnd_main, tedit0
|
|
||||||
|
|
||||||
cmp byte[tedit0.panel_id],TE_PANEL_FIND ;if not panel
|
|
||||||
jne @f
|
jne @f
|
||||||
stdcall [edit_box_mouse], dword edit2
|
stdcall [edit_box_mouse], dword edit2
|
||||||
@@:
|
@@:
|
||||||
cmp byte[tedit0.panel_id],TE_PANEL_SYNTAX ;if not panel
|
cmp byte[tedit0.panel_id],TED_PANEL_SYNTAX ;if not panel
|
||||||
jne .menu_bar_1 ;@f
|
jne .menu_bar_1 ;@f
|
||||||
stdcall [tl_mouse], tree1
|
stdcall [tl_mouse], tree1
|
||||||
;-----------------------------------------------
|
;-----------------------------------------------
|
||||||
@ -324,15 +287,15 @@ mouse:
|
|||||||
je button.exit
|
je button.exit
|
||||||
cmp [menu_data_1.cursor_out],dword 3
|
cmp [menu_data_1.cursor_out],dword 3
|
||||||
jne @f
|
jne @f
|
||||||
stdcall but_SaveFile, tedit0
|
stdcall [ted_but_save_file], tedit0,run_file_70,[edit1.text]
|
||||||
@@:
|
@@:
|
||||||
cmp [menu_data_1.cursor_out],dword 2
|
cmp [menu_data_1.cursor_out],dword 2
|
||||||
jne @f
|
jne @f
|
||||||
call but_OpenFile
|
call ted_but_open_file
|
||||||
@@:
|
@@:
|
||||||
cmp [menu_data_1.cursor_out],dword 1
|
cmp [menu_data_1.cursor_out],dword 1
|
||||||
jne @f
|
jne @f
|
||||||
call but_NewFile
|
call ted_but_new_file
|
||||||
@@:
|
@@:
|
||||||
;cmp [menu_data_1.cursor_out],dword 0
|
;cmp [menu_data_1.cursor_out],dword 0
|
||||||
;jne @f
|
;jne @f
|
||||||
@ -357,29 +320,30 @@ endp
|
|||||||
align 4
|
align 4
|
||||||
key:
|
key:
|
||||||
mcall 66,3 ;66.3 ¯®«ãç¨âì á®áâ®ï¨¥ ã¯à ¢«ïîé¨å ª« ¢¨è
|
mcall 66,3 ;66.3 ¯®«ãç¨âì á®áâ®ï¨¥ ã¯à ¢«ïîé¨å ª« ¢¨è
|
||||||
xor ebx,ebx
|
xor esi,esi
|
||||||
mov ecx,1
|
mov ecx,1
|
||||||
test al,0x03 ;[Shift]
|
test al,0x03 ;[Shift]
|
||||||
jz @f
|
jz @f
|
||||||
mov cl,2
|
mov cl,2
|
||||||
or ebx,KM_SHIFT
|
or esi,KM_SHIFT
|
||||||
@@:
|
@@:
|
||||||
test al,0x0c ;[Ctrl]
|
test al,0x0c ;[Ctrl]
|
||||||
jz @f
|
jz @f
|
||||||
or ebx,KM_CTRL
|
or esi,KM_CTRL
|
||||||
@@:
|
@@:
|
||||||
test al,0x30 ;[Alt]
|
test al,0x30 ;[Alt]
|
||||||
jz @f
|
jz @f
|
||||||
mov cl,3
|
mov cl,3
|
||||||
or ebx,KM_ALT
|
or esi,KM_ALT
|
||||||
@@:
|
@@:
|
||||||
test al,0x80 ;[NumLock]
|
test al,0x80 ;[NumLock]
|
||||||
jz @f
|
jz @f
|
||||||
or ebx,KM_NUMLOCK
|
or esi,KM_NUMLOCK
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
mcall 26,2,,conv_tabl ;26.2 ¯®«ãç¨âì à ᪫ ¤ªã ª« ¢¨ âãàë
|
mcall 26,2,,conv_tabl ;26.2 ¯®«ãç¨âì à ᪫ ¤ªã ª« ¢¨ âãàë
|
||||||
mcall 2 ;¯®«ãç ¥¬ ª®¤ ¦ ⮩ ª« ¢¨è¨
|
mcall 2 ;¯®«ãç ¥¬ ª®¤ ¦ ⮩ ª« ¢¨è¨
|
||||||
;stdcall [tl_key], tree1 ;???
|
;stdcall [tl_key], tree1
|
||||||
|
|
||||||
test word [edit1.flags],10b;ed_focus ; ¥á«¨ ¥ ¢ 䮪ãá¥, ¢ë室¨¬
|
test word [edit1.flags],10b;ed_focus ; ¥á«¨ ¥ ¢ 䮪ãá¥, ¢ë室¨¬
|
||||||
je @f
|
je @f
|
||||||
@ -421,9 +385,10 @@ key:
|
|||||||
jmp still
|
jmp still
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
stdcall ted_key, tedit0, conv_tabl
|
stdcall [ted_key], tedit0, conv_tabl,esi
|
||||||
jmp still
|
jmp still
|
||||||
|
|
||||||
|
align 4
|
||||||
button:
|
button:
|
||||||
; cmp [menu_active],1 ;¥á«¨ ¦ «¨ ¬¥î, â® á ç « ॠªæ¨ï ¬¥î
|
; cmp [menu_active],1 ;¥á«¨ ¦ «¨ ¬¥î, â® á ç « ॠªæ¨ï ¬¥î
|
||||||
; jne @f ;mouse.menu_bar_1
|
; jne @f ;mouse.menu_bar_1
|
||||||
@ -434,35 +399,35 @@ button:
|
|||||||
mcall 17 ;¯®«ãç¨âì ª®¤ ¦ ⮩ ª®¯ª¨
|
mcall 17 ;¯®«ãç¨âì ª®¤ ¦ ⮩ ª®¯ª¨
|
||||||
cmp ah,3
|
cmp ah,3
|
||||||
jne @f
|
jne @f
|
||||||
call but_NewFile
|
call ted_but_new_file
|
||||||
@@:
|
@@:
|
||||||
cmp ah,4
|
cmp ah,4
|
||||||
jne @f
|
jne @f
|
||||||
call but_OpenFile
|
call ted_but_open_file
|
||||||
@@:
|
@@:
|
||||||
cmp ah,5
|
cmp ah,5
|
||||||
jne @f
|
jne @f
|
||||||
stdcall but_SaveFile, tedit0
|
stdcall [ted_but_save_file], tedit0,run_file_70,[edit1.text]
|
||||||
@@:
|
@@:
|
||||||
cmp ah,6
|
cmp ah,6
|
||||||
jne @f
|
jne @f
|
||||||
stdcall ted_but_select_word, tedit0
|
stdcall [ted_but_select_word], tedit0
|
||||||
@@:
|
@@:
|
||||||
cmp ah,7
|
cmp ah,7
|
||||||
jne @f
|
jne @f
|
||||||
stdcall ted_but_cut, tedit0
|
stdcall [ted_but_cut], tedit0
|
||||||
@@:
|
@@:
|
||||||
cmp ah,8
|
cmp ah,8
|
||||||
jne @f
|
jne @f
|
||||||
stdcall ted_but_copy, tedit0
|
stdcall [ted_but_copy], tedit0
|
||||||
@@:
|
@@:
|
||||||
cmp ah,9
|
cmp ah,9
|
||||||
jne @f
|
jne @f
|
||||||
stdcall ted_but_paste, tedit0
|
stdcall [ted_but_paste], tedit0
|
||||||
@@:
|
@@:
|
||||||
cmp ah,10
|
cmp ah,10
|
||||||
jne @f
|
jne @f
|
||||||
stdcall but_find, tedit0
|
call ted_but_find
|
||||||
@@:
|
@@:
|
||||||
cmp ah,11
|
cmp ah,11
|
||||||
jne @f
|
jne @f
|
||||||
@ -474,23 +439,23 @@ button:
|
|||||||
@@:
|
@@:
|
||||||
cmp ah,13
|
cmp ah,13
|
||||||
jne @f
|
jne @f
|
||||||
stdcall but_sumb_upper, tedit0
|
stdcall [ted_but_sumb_upper], tedit0
|
||||||
@@:
|
@@:
|
||||||
cmp ah,14
|
cmp ah,14
|
||||||
jne @f
|
jne @f
|
||||||
stdcall but_sumb_lover, tedit0
|
stdcall [ted_but_sumb_lover], tedit0
|
||||||
@@:
|
@@:
|
||||||
cmp ah,15
|
cmp ah,15
|
||||||
jne @f
|
jne @f
|
||||||
stdcall but_reverse, tedit0
|
stdcall [ted_but_reverse], tedit0
|
||||||
@@:
|
@@:
|
||||||
cmp ah,16
|
cmp ah,16
|
||||||
jne @f
|
jne @f
|
||||||
stdcall ted_but_undo, tedit0
|
stdcall [ted_but_undo], tedit0
|
||||||
@@:
|
@@:
|
||||||
cmp ah,17
|
cmp ah,17
|
||||||
jne @f
|
jne @f
|
||||||
stdcall ted_but_redo, tedit0
|
stdcall [ted_but_redo], tedit0
|
||||||
@@:
|
@@:
|
||||||
cmp ah,18
|
cmp ah,18
|
||||||
jne @f
|
jne @f
|
||||||
@ -511,13 +476,13 @@ button:
|
|||||||
@@:
|
@@:
|
||||||
cmp ah,201
|
cmp ah,201
|
||||||
jne @f
|
jne @f
|
||||||
stdcall but_FindText, tedit0
|
stdcall [ted_but_find_next], tedit0
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
cmp ah,1
|
cmp ah,1
|
||||||
jne still
|
jne still
|
||||||
.exit:
|
.exit:
|
||||||
stdcall ted_can_save, tedit0
|
stdcall [ted_can_save], tedit0
|
||||||
cmp al,1
|
cmp al,1
|
||||||
jne @f
|
jne @f
|
||||||
stdcall [mb_create],msgbox_8,thread ;message: save changes in file?
|
stdcall [mb_create],msgbox_8,thread ;message: save changes in file?
|
||||||
@ -526,7 +491,7 @@ button:
|
|||||||
mov ecx,[bmp_icon]
|
mov ecx,[bmp_icon]
|
||||||
call mem_Free
|
call mem_Free
|
||||||
|
|
||||||
stdcall ted_delete, tedit0
|
stdcall [ted_delete], tedit0
|
||||||
stdcall dword[tl_data_clear], tree1
|
stdcall dword[tl_data_clear], tree1
|
||||||
mcall -1 ;¢ë室 ¨§ ¯à®£à ¬¬ë
|
mcall -1 ;¢ë室 ¨§ ¯à®£à ¬¬ë
|
||||||
|
|
||||||
@ -536,7 +501,7 @@ txtErrIni0 db '
|
|||||||
err_ini0 db 0
|
err_ini0 db 0
|
||||||
|
|
||||||
edit1 edit_box 250, 220, 5, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 300, buf_cmd_lin, mouse_dd, 0
|
edit1 edit_box 250, 220, 5, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 300, buf_cmd_lin, mouse_dd, 0
|
||||||
edit2 edit_box TE_PANEL_WIDTH-1, 0, 20, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 300, buf_find, mouse_dd, 0
|
edit2 edit_box TED_PANEL_WIDTH-1, 0, 20, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 300, buf_find, mouse_dd, 0
|
||||||
|
|
||||||
buf_cmd_lin db 302 dup(0)
|
buf_cmd_lin db 302 dup(0)
|
||||||
buf_find db 302 dup(0)
|
buf_find db 302 dup(0)
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user