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:
@@ -6,4 +6,5 @@ include 'd_button.mac' ;macro implements dinamic_button
|
||||
include 'menubar.mac' ;macro implements menubar
|
||||
include 'filebrowser.mac' ;macro implements filebrowser
|
||||
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
|
||||
include '../../../../macros.inc'
|
||||
include '../../../../proc32.inc'
|
||||
include 'bl_sys.mac'
|
||||
include 'box_lib.mac' ;macro which should make life easier :)
|
||||
|
||||
@@ -88,6 +89,12 @@ use_tree_list
|
||||
align 16
|
||||
use_path_show
|
||||
|
||||
;--------------------------------------------------
|
||||
;text editor
|
||||
;--------------------------------------------------
|
||||
align 16
|
||||
use_text_edit
|
||||
|
||||
align 16
|
||||
init:
|
||||
ret
|
||||
@@ -141,13 +148,13 @@ dd sz_tl_mouse, tl_mouse
|
||||
dd sz_tl_draw, tl_draw
|
||||
dd sz_tl_info_undo, tl_info_undo
|
||||
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_get_data, tl_node_get_data
|
||||
dd sz_tl_node_delete, tl_node_delete
|
||||
dd sz_tl_cur_beg, tl_cur_beg
|
||||
dd sz_tl_cur_next, tl_cur_next
|
||||
dd sz_tl_cur_perv, tl_cur_perv
|
||||
dd sz_tl_cur_next, tl_cur_next
|
||||
dd sz_tl_cur_perv, tl_cur_perv
|
||||
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_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_next_info, tl_node_poi_get_next_info
|
||||
dd sz_tl_node_poi_get_data, tl_node_poi_get_data
|
||||
dd sz_tl_save_mem, tl_save_mem
|
||||
dd sz_tl_load_mem, tl_load_mem
|
||||
dd sz_tl_save_mem, tl_save_mem
|
||||
dd sz_tl_load_mem, tl_load_mem
|
||||
dd sz_tl_get_mem_size, tl_get_mem_size
|
||||
dd sz_tl_version_tree_list, 0x00000001
|
||||
|
||||
dd sz_PathShow_prepare, path_show.prepare
|
||||
dd sz_PathShow_draw, path_show.draw
|
||||
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
|
||||
|
||||
|
||||
sz_init db 'lib_init',0
|
||||
sz_init db 'lib_init',0
|
||||
sz_version db 'version',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
|
||||
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_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
|
||||
|
||||
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
|
||||
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_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_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
|
||||
@@ -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_move_up db 'tl_node_move_up',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_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_load_mem db 'tl_load_mem',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_draw db 'PathShow_draw',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 ; ä« £¨
|
||||
}
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;Basic macros for use TreeList ;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
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,\
|
||||
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
|
||||
}
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;Basic macros for use TreeList ;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
tl_info_size equ word[edi +4] ;à §¬¥à ¤ ëå ¢ë¤¥«ï¥¬ëå ¤«ï ª ¦¤®£® ã§« (¯®«ì§®¢ ⥫ìá쪨¥ ¤ ë¥ + ⥪áâ ¤«ï ¯®¤¯¨á¨)
|
||||
tl_info_max_count equ dword[edi+6] ;¬ ªá¨¬ «ì®¥ ª®«¨ç¥á⢮ ã§«®¢, ª®â®àë¥ ¬®¦® ¤®¡ ¢¨âì ¢ í«¥¬¥â
|
||||
tl_style equ dword[edi+10] ;á⨫¨ í«¥¬¥â
|
||||
@@ -245,3 +245,102 @@ tl_err_load_caption equ 1b ;
|
||||
tl_err_load_info_size equ 100b ;¥ ᮢ¯ ¤ ¥â à §¬¥à ¨ä®à¬ 樮®© áâàãªâãàë ¯à¨ ®âªàë⨨
|
||||
tl_load_mode_add equ 0x20000 ;®¯æ¨ï áç¨âë¢ ¨ï ¢ ०¨¬¥ ¤®¡ ¢«¥¨ï ¨ä®à¬ 樨
|
||||
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>menubar</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>
|
||||
|
||||
<h1><a name="autors">Àâòîðñêèé ñîñòàâ</a></h1>
|
||||
@@ -36,6 +38,6 @@
|
||||
<p>Èãîðü Àôàíàñüåâ aka IgorA</p>
|
||||
|
||||
<hr>
|
||||
<p>Документация обновлялась последний раз 05.02.10.</p>
|
||||
<p>Äîêóìåíòàöèÿ îáíîâëÿëàñü ïîñëåäíèé ðàç 29.04.10.</p>
|
||||
</body>
|
||||
</html>
|
||||
@@ -36,16 +36,6 @@ pre{
|
||||
color: #004000;
|
||||
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
|
||||
{
|
||||
@@ -57,15 +47,12 @@ caption
|
||||
}
|
||||
table
|
||||
{
|
||||
font-size: 10px;
|
||||
border-collapse: collapse;
|
||||
border: #000000 1px solid;
|
||||
background-color: #c0e7fb;
|
||||
}
|
||||
table td
|
||||
{
|
||||
border: none;
|
||||
text-align: center;
|
||||
}
|
||||
table th
|
||||
{
|
||||
|
||||
@@ -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>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
; ìàêðîñ äëÿ ñèñòåìíîé áèáëèîòåêè box_lib.obj
|
||||
; ýëåìåíò TreeList äëÿ Kolibri OS
|
||||
; ôàéë ïîñëåäíèé ðàç èçìåíÿëñÿ 14.04.2010 IgorA
|
||||
; ôàéë ïîñëåäíèé ðàç èçìåíÿëñÿ 29.04.2010 IgorA
|
||||
; íà êîä ïðèìåíåíà GPL2 ëèöåíçèÿ
|
||||
|
||||
|
||||
@@ -1303,7 +1303,7 @@ tl_strlen:
|
||||
cmp byte[eax],0
|
||||
je @f
|
||||
inc eax
|
||||
loop @b
|
||||
jmp @b
|
||||
@@:
|
||||
sub eax,esi
|
||||
ret
|
||||
|
||||
Reference in New Issue
Block a user