fix r 7571, clean code

git-svn-id: svn://kolibrios.org@7573 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
IgorA 2019-01-11 10:59:40 +00:00
parent 9ce2c44d5b
commit dfca233dff
4 changed files with 343 additions and 330 deletions

View File

@ -7,8 +7,195 @@ struct symbol
td dd ? ;+14 ¢à¥¬. 㤠«¥­¨ï
ends
ID_BUT_0 equ 3 ;¬¨­¨¬ «ì­ë© ID ª­®¯ª¨ ­  ¯ ­¥«¨
ID_BUT_NEW equ 3
ID_BUT_OPEN equ 4
ID_BUT_SAVE equ 5
ID_BUT_SAVE_AS equ 6
ID_BUT_SELECT equ 7
ID_BUT_CUT equ 8
ID_BUT_COPY equ 9
ID_BUT_PASTE equ 10
ID_BUT_FIND equ 11
ID_BUT_REPLACE equ 12
ID_BUT_KEY_WORDS equ 13
ID_BUT_UPPER equ 14
ID_BUT_LOWER equ 15
ID_BUT_REVERSE equ 16
ID_BUT_UNDO equ 17
ID_BUT_REDO equ 18
ID_BUT_INVISIBLE equ 19
ID_BUT_SYNTAX_LIST equ 20
ID_BUT_SYNTAX_MODE equ 21
ID_BUT_CONVERT_1251_866 equ 22
ID_BUT_CONVERT_866_1251 equ 23
macro ini_panel b_key,b_id
{
stdcall [ini_get_int],file_name,ini_sec_window,b_key,1
mov byte[panel_but+b_id-ID_BUT_0],al
}
bmp_icon dd 0
align 16
button:
mcall SF_GET_BUTTON
cmp ah,ID_BUT_NEW
jne @f
call ted_but_new_file
jmp still
@@:
cmp ah,ID_BUT_OPEN
jne @f
call ted_but_open_file
jmp still
@@:
cmp ah,ID_BUT_SAVE
jne @f
xor eax,eax
call ted_but_save_file ;á®åà ­¥­¨¥ ¡¥§ ¤¨ «®£ 
jmp still
@@:
cmp ah,ID_BUT_SAVE_AS
jne @f
xor eax,eax
inc eax
call ted_but_save_file ;á®åà ­¥­¨¥ á ¤¨ «®£®¬
jmp still
@@:
cmp ah,ID_BUT_SELECT
jne @f
stdcall [ted_but_select_word], tedit0
jmp still
@@:
cmp ah,ID_BUT_CUT
jne @f
stdcall [ted_but_cut], tedit0
jmp still
@@:
cmp ah,ID_BUT_COPY
jne @f
stdcall [ted_but_copy], tedit0
jmp still
@@:
cmp ah,ID_BUT_PASTE
jne @f
stdcall [ted_but_paste], tedit0
jmp still
@@:
cmp ah,ID_BUT_FIND
jne @f
call ted_but_find
jmp still
@@:
cmp ah,ID_BUT_REPLACE
jne @f
call but_replace
jmp still
@@:
cmp ah,ID_BUT_KEY_WORDS
jne @f
call but_find_key_w
jmp still
@@:
cmp ah,ID_BUT_UPPER
jne @f
stdcall [ted_but_sumb_upper], tedit0
jmp still
@@:
cmp ah,ID_BUT_LOWER
jne @f
stdcall [ted_but_sumb_lover], tedit0
jmp still
@@:
cmp ah,ID_BUT_REVERSE
jne @f
stdcall [ted_but_reverse], tedit0
jmp still
@@:
cmp ah,ID_BUT_UNDO
jne @f
stdcall [ted_but_undo], tedit0
jmp still
@@:
cmp ah,ID_BUT_REDO
jne @f
stdcall [ted_but_redo], tedit0
jmp still
@@:
cmp ah,ID_BUT_INVISIBLE
jne @f
stdcall but_sumb_invis, tedit0
jmp still
@@:
cmp ah,ID_BUT_SYNTAX_LIST
jne @f
stdcall but_use_syntax, tedit0
jmp still
@@:
cmp ah,ID_BUT_SYNTAX_MODE
jne @f
stdcall but_choose_syntax, tedit0
jmp still
@@:
cmp ah,ID_BUT_CONVERT_1251_866
jne @f
stdcall [ted_but_convert_by_table],tedit0,tbl_1251_866
jmp still
@@:
cmp ah,ID_BUT_CONVERT_866_1251
jne @f
stdcall [ted_but_convert_by_table],tedit0,tbl_866_1251
jmp still
@@:
cmp ah,200
jne @f
stdcall ted_but_open_syntax, tedit0
jmp still
@@:
cmp ah,201
jne @f
stdcall [ted_but_find_next], tedit0
jmp still
@@:
cmp ah,1
je .exit
cmp ah,199
je .exit
jmp still
.exit:
cmp dword[wnd_k_words_run],0
je @f
push ebx ecx
mcall SF_SYSTEM, SSF_TERMINATE_THREAD_ID,[wnd_k_words_run]
pop ecx ebx
test eax,eax
jnz still
@@:
cmp dword[exit_code],1
je @f
stdcall [ted_can_save], tedit0
cmp al,1
jne @f
stdcall [mb_create],msgbox_2,thread ;message: save buf in file?
stdcall [mb_setfunctions],msgbox_2E_funct
jmp still
@@:
stdcall mem.Free,[bmp_icon]
cmp dword[unpac_mem],0
je @f
stdcall mem.Free,[unpac_mem]
@@:
stdcall [ted_delete], tedit0
stdcall [tl_data_clear], tree1
mcall SF_TERMINATE_PROCESS ;¢ë室 ¨§ ¯à®£à ¬¬ë
;input:
; al = ª®¤ ®è¨¡ª¨
@ -19,7 +206,6 @@ ted_on_init_synt_err:
stdcall [mb_create],msgbox_3,thread ;message: Can-t open color options file!
ret
align 4
ted_but_new_file:
push eax ebx
@ -249,8 +435,6 @@ align 4
ted_messages_after_open_file:
push ecx edi
cmp eax,0
je @f
cmp eax,6
je @f
cmp ax,10
jl .zifra_0_9
@ -445,7 +629,7 @@ endp
;description:
; ¢ë¤¥«¥­¨¥/áªàë⨥ ª«î祢ëå á«®¢
align 4
proc but_k_words_show uses edi, edit:dword
proc but_use_syntax uses edi, edit:dword
mov edi,dword[edit]
xor ted_mode_color,1
@ -461,7 +645,7 @@ endp
;description:
; ¢ë§®¢/áªàë⨥ ¯ ­¥«¨ á ä ©« ¬¨ ᨭ⠪á¨á 
align 4
proc but_synt_show uses edi, edit:dword
proc but_choose_syntax uses edi, edit:dword
mov edi,[edit]
cmp ted_panel_id,TED_PANEL_NULL

View File

@ -1,16 +1,40 @@
align 16
draw_window:
mcall SF_REDRAW,SSF_BEGIN_DRAW
mov edx,[sc.work]
or edx,0x73000000
mcall SF_CREATE_WINDOW,dword[wnd_s_pos],dword[wnd_s_pos+4],,,hed
mcall SF_THREAD_INFO,procinfo,-1
mov edi,tedit0 ;çíà÷åíèå edi íóæíî äëÿ EvSize è ted_wnd_t
call EvSize
movzx ebx,word[procinfo.client_box.width]
inc bx
mcall SF_DRAW_RECT,,ted_wnd_t ;âåðõíèé ïðÿìîóãîëüíèê, äëÿ î÷èñòêè âåðõíåé ïàíåëè
call draw_but_toolbar
stdcall [kmainmenu_draw], [main_menu]
stdcall [ted_draw], tedit0
mcall SF_REDRAW,SSF_END_DRAW
ret
align 4
draw_but_toolbar: ;ôóíêöèÿ äëÿ ðèñîâàíèÿ ïàíåëè èíñòðóìåíòîâ
pushad
mov edi,tedit0
mov ecx,0x40000000
mov ecx,0x40000000+ID_BUT_NEW
mov edx,(5 shl 16)+25
bt word[panel_but],0
jnc @f
call draw_but_icon ;New
@@:
inc cx
mov cx,ID_BUT_OPEN
bt word[panel_but+1],0
jnc @f
add edx,25 shl 16
@ -22,7 +46,7 @@ draw_but_toolbar: ;
je @f
and ecx,0xffff
@@:
inc cx
mov cx,ID_BUT_SAVE
bt word[panel_but+2],0
jnc @f
add edx,25 shl 16
@ -30,14 +54,14 @@ draw_but_toolbar: ;
@@:
or ecx,0x40000000
inc cx
mov cx,ID_BUT_SAVE_AS
bt word[panel_but+3],0
jnc @f
add edx,25 shl 16
call draw_but_icon ;Save as
@@:
inc cx
mov cx,ID_BUT_SELECT
bt word[panel_but+4],0
jnc @f
add edx,30 shl 16
@ -49,14 +73,14 @@ draw_but_toolbar: ;
jnz @f
and ecx,0xffff
@@:
inc cx
mov cx,ID_BUT_CUT
bt word[panel_but+5],0
jnc @f
add edx,25 shl 16
call draw_but_icon ;Cut
@@:
inc cx
mov cx,ID_BUT_COPY
bt word[panel_but+6],0
jnc @f
add edx,25 shl 16
@ -68,7 +92,7 @@ draw_but_toolbar: ;
jne @f
and ecx,0xffff
@@:
inc cx
mov cx,ID_BUT_PASTE
bt word[panel_but+7],0
jnc @f
add edx,25 shl 16
@ -76,21 +100,21 @@ draw_but_toolbar: ;
@@:
or ecx,0x40000000
inc cx
mov cx,ID_BUT_FIND
bt word[panel_but+8],0
jnc @f
add edx,25 shl 16
call draw_but_icon ;Found
@@:
inc cx
mov cx,ID_BUT_REPLACE
bt word[panel_but+9],0
jnc @f
add edx,25 shl 16
call draw_but_icon ;Replace
@@:
inc cx
mov cx,ID_BUT_KEY_WORDS
bt word[panel_but+10],0
jnc @f
add edx,25 shl 16
@ -102,21 +126,21 @@ draw_but_toolbar: ;
jnz @f
and ecx,0xffff
@@:
inc cx
mov cx,ID_BUT_UPPER
bt word[panel_but+11],0
jnc @f
add edx,30 shl 16
call draw_but_icon ;Upper
@@:
inc cx
mov cx,ID_BUT_LOWER
bt word[panel_but+12],0
jnc @f
add edx,25 shl 16
call draw_but_icon ;Lower
@@:
inc cx
mov cx,ID_BUT_REVERSE
bt word[panel_but+13],0
jnc @f
add edx,25 shl 16
@ -129,7 +153,7 @@ draw_but_toolbar: ;
jg @f
and ecx,0xffff
@@:
inc cx
mov cx,ID_BUT_UNDO
bt word[panel_but+14],0
jnc @f
add edx,30 shl 16
@ -141,7 +165,7 @@ draw_but_toolbar: ;
jge @f
and ecx,0xffff
@@:
inc cx
mov cx,ID_BUT_REDO
bt word[panel_but+15],0
jnc @f
add edx,25 shl 16
@ -149,35 +173,35 @@ draw_but_toolbar: ;
@@:
or ecx,0x40000000
inc cx
mov cx,ID_BUT_INVISIBLE
bt word[panel_but+16],0
jnc @f
add edx,30 shl 16
call draw_but_icon ;Invisible on|off
@@:
inc cx
mov cx,ID_BUT_SYNTAX_LIST
bt word[panel_but+17],0
jnc @f
add edx,25 shl 16
call draw_but_icon ;Âûáîð ôàéëà ïîäñâåòêè
@@:
inc cx
mov cx,ID_BUT_SYNTAX_MODE
bt word[panel_but+18],0
jnc @f
add edx,25 shl 16
call draw_but_icon ;Ïîäñâåòêà âêë|âûêë
@@:
inc cx
mov cx,ID_BUT_CONVERT_1251_866
bt word[panel_but+19],0
jnc @f
add edx,30 shl 16
call draw_but_icon ;cp 1251 -> 866
@@:
inc cx
mov cx,ID_BUT_CONVERT_866_1251
bt word[panel_but+20],0
jnc @f
add edx,25 shl 16
@ -204,7 +228,7 @@ proc draw_panel_find
mov cx,20
mcall SF_DRAW_RECT,TED_PANEL_WIDTH,,[sc.work]
mov ebx,30*65536+25
mov ebx,(30 shl 16)+25
add ebx,ted_wnd_t
mov ecx,[sc.work_text]
or ecx,0x80000000
@ -225,9 +249,9 @@ proc draw_panel_find
add cx,20+15+5
shl ecx,16
mov cx,20
mcall SF_DEFINE_BUTTON,5*65536+85,,201,[sc.work_button] ;201 - button id
mcall SF_DEFINE_BUTTON,(5 shl 16)+85,,201,[sc.work_button] ;201 - button id
mov ebx,15*65536+(20+15+10)
mov ebx,(15 shl 16)+(20+15+10)
add ebx,ted_wnd_t
mov ecx,[sc.work_text]
or ecx,0x80000000
@ -345,7 +369,7 @@ EvSize:
;input:
; ecx = 0x4000____
; cx = icon index
; cx = ID button
; edx = x*2^16+y
align 4
draw_but_icon:
@ -355,7 +379,6 @@ draw_but_icon:
push ecx edx esi
mov ebx,edx
mov edx,ecx
add edx,3
mov cx,bx
shl ecx,16
mov cx,19 ;=20-1
@ -379,6 +402,7 @@ draw_but_icon:
add ebx,TOOLBAR_ICONS_SIZE ;ïåðåìåùàåìñÿ íà ñåðûå êíîïêè
.gray:
push ecx
sub ecx,ID_BUT_0
and ecx,0xffff
imul ecx,1200
add ebx,ecx

View File

@ -9,7 +9,7 @@ MAX_COLOR_WORD_LEN equ 40
maxChars equ 100002 ;(ª®««¨ç¥á⢮ ᨬ¢®«®¢ ¢ ­®¢®¬ ¤®ªã¬¥­â¥ + 2)
BUF_SIZE equ 4096 ;buffer for copy|paste
maxSyntaxFileSize equ 410000
TOOLBAR_ICONS_SIZE equ 1200*20
TOOLBAR_ICONS_SIZE equ 1200*21
include '../../proc32.inc'
include '../../macros.inc'
@ -21,10 +21,10 @@ include '../../system/skincfg/trunk/unpacker.inc'
include 'lang.inc'
include 't_data.inc'
include 't_button.inc'
include 't_menu.inc'
include 'strlen.inc'
include 't_draw.inc' ;draw main window functions
include 't_button.inc' ;text work functions
include 'wnd_k_words.inc'
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
@ -71,80 +71,9 @@ mov ebp,lib0
; OpenDialog initialisation
stdcall [OpenDialog_Init],OpenDialog_data
; kmenu initialisation
stdcall [kmenu_init], sc
stdcall [ksubmenu_new]
mov [main_menu], eax
stdcall [ksubmenu_new]
mov [main_menu_file], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_File_New, 3
stdcall [ksubmenu_add], [main_menu_file], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_File_Open, 4
stdcall [ksubmenu_add], [main_menu_file], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_File_Save, 5
stdcall [ksubmenu_add], [main_menu_file], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_File_Save_As, 6
stdcall [ksubmenu_add], [main_menu_file], eax
stdcall [kmenuitem_new], KMENUITEM_SEPARATOR, 0, 0
stdcall [ksubmenu_add], [main_menu_file], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_File_Exit, 199
stdcall [ksubmenu_add], [main_menu_file], eax
stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_File, [main_menu_file]
stdcall [ksubmenu_add], [main_menu], eax
; kmenu initialisation
call tedit_menu_init
stdcall [ksubmenu_new]
mov [main_menu_changes], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Changes_Undo, 16
stdcall [ksubmenu_add], [main_menu_changes], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Changes_Redo, 17
stdcall [ksubmenu_add], [main_menu_changes], eax
stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_Changes, [main_menu_changes]
stdcall [ksubmenu_add], [main_menu], eax
stdcall [ksubmenu_new]
mov [main_menu_buf], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Buf_Cut, 7
stdcall [ksubmenu_add], [main_menu_buf], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Buf_Copy, 8
stdcall [ksubmenu_add], [main_menu_buf], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Buf_Paste, 9
stdcall [ksubmenu_add], [main_menu_buf], eax
stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_Buf, [main_menu_buf]
stdcall [ksubmenu_add], [main_menu], eax
stdcall [ksubmenu_new]
mov [main_menu_search], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Search_Text, 10
stdcall [ksubmenu_add], [main_menu_search], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Search_Keywords, 12
stdcall [ksubmenu_add], [main_menu_search], eax
stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_Search, [main_menu_search]
stdcall [ksubmenu_add], [main_menu], eax
stdcall [ksubmenu_new]
mov [main_menu_view], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Veiw_UseSyntax, 19
stdcall [ksubmenu_add], [main_menu_view], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Veiw_ChooseSyntax, 20
stdcall [ksubmenu_add], [main_menu_view], eax
stdcall [kmenuitem_new], KMENUITEM_SEPARATOR, 0, 0
stdcall [ksubmenu_add], [main_menu_view], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Veiw_LineBreak, 18
stdcall [ksubmenu_add], [main_menu_view], eax
stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_View, [main_menu_view]
stdcall [ksubmenu_add], [main_menu], eax
stdcall [ksubmenu_new]
mov [main_menu_encoding], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Encoding_1251to866, 21
stdcall [ksubmenu_add], [main_menu_encoding], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Encoding_866to1251, 22
stdcall [ksubmenu_add], [main_menu_encoding], eax
stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_Encoding, [main_menu_encoding]
stdcall [ksubmenu_add], [main_menu], eax
; init toolbar file
include_image_file 'te_icon.png', bmp_icon,,,6 ;6 ¤«ï á¥àëå ª­®¯®ª
mov eax,[bmp_icon]
@ -155,7 +84,6 @@ mov ebp,lib0
include_image_file '..\..\media\log_el\trunk\tl_sys_16.png', icon_tl_sys
mov eax,dword[icon_tl_sys]
mov dword[tree1.data_img_sys],eax
;---------------------------------------------------------------------
; ¢­¥¤à塞 ä ©« á ¨ª®­ª ¬¨ 㧫®¢
include_image_file 'tl_nod_16.png', icon_tl_sys
mov eax,dword[icon_tl_sys]
@ -211,48 +139,27 @@ mov ebp,lib0
shl eax,24
mov dword[tedit0.font_size],eax
;ª­®¯ª¨ ­  ¯ ­¥«¨
stdcall [ini_get_int],file_name,ini_sec_window,key_but_new,1
mov byte[panel_but],al
stdcall [ini_get_int],file_name,ini_sec_window,key_but_open,1
mov byte[panel_but+1],al
stdcall [ini_get_int],file_name,ini_sec_window,key_but_save,1
mov byte[panel_but+2],al
stdcall [ini_get_int],file_name,ini_sec_window,key_but_save_as,1
mov byte[panel_but+3],al
stdcall [ini_get_int],file_name,ini_sec_window,key_but_select,1
mov byte[panel_but+4],al
stdcall [ini_get_int],file_name,ini_sec_window,key_but_cut,1
mov byte[panel_but+5],al
stdcall [ini_get_int],file_name,ini_sec_window,key_but_copy,1
mov byte[panel_but+6],al
stdcall [ini_get_int],file_name,ini_sec_window,key_but_paste,1
mov byte[panel_but+7],al
stdcall [ini_get_int],file_name,ini_sec_window,key_but_find,1
mov byte[panel_but+8],al
stdcall [ini_get_int],file_name,ini_sec_window,key_but_replace,1
mov byte[panel_but+9],al
stdcall [ini_get_int],file_name,ini_sec_window,key_but_key_words,1
mov byte[panel_but+10],al
stdcall [ini_get_int],file_name,ini_sec_window,key_but_upper,1
mov byte[panel_but+11],al
stdcall [ini_get_int],file_name,ini_sec_window,key_but_lower,1
mov byte[panel_but+12],al
stdcall [ini_get_int],file_name,ini_sec_window,key_but_reverse,1
mov byte[panel_but+13],al
stdcall [ini_get_int],file_name,ini_sec_window,key_but_undo,1
mov byte[panel_but+14],al
stdcall [ini_get_int],file_name,ini_sec_window,key_but_redo,1
mov byte[panel_but+15],al
stdcall [ini_get_int],file_name,ini_sec_window,key_but_invisible,1
mov byte[panel_but+16],al
stdcall [ini_get_int],file_name,ini_sec_window,key_but_syntax_list,1
mov byte[panel_but+17],al
stdcall [ini_get_int],file_name,ini_sec_window,key_but_syntax_mode,1
mov byte[panel_but+18],al
stdcall [ini_get_int],file_name,ini_sec_window,key_but_convert_1251_866,1
mov byte[panel_but+19],al
stdcall [ini_get_int],file_name,ini_sec_window,key_but_convert_866_1251,1
mov byte[panel_but+20],al
ini_panel key_but_new, ID_BUT_NEW
ini_panel key_but_open, ID_BUT_OPEN
ini_panel key_but_save, ID_BUT_SAVE
ini_panel key_but_save_as,ID_BUT_SAVE_AS
ini_panel key_but_select, ID_BUT_SELECT
ini_panel key_but_cut, ID_BUT_CUT
ini_panel key_but_copy, ID_BUT_COPY
ini_panel key_but_paste, ID_BUT_PASTE
ini_panel key_but_find, ID_BUT_FIND
ini_panel key_but_replace,ID_BUT_REPLACE
ini_panel key_but_key_words,ID_BUT_KEY_WORDS
ini_panel key_but_upper, ID_BUT_UPPER
ini_panel key_but_lower, ID_BUT_LOWER
ini_panel key_but_reverse,ID_BUT_REVERSE
ini_panel key_but_undo, ID_BUT_UNDO
ini_panel key_but_redo, ID_BUT_REDO
ini_panel key_but_invisible,ID_BUT_INVISIBLE
ini_panel key_but_syntax_list,ID_BUT_SYNTAX_LIST
ini_panel key_but_syntax_mode,ID_BUT_SYNTAX_MODE
ini_panel key_but_convert_1251_866,ID_BUT_CONVERT_1251_866
ini_panel key_but_convert_866_1251,ID_BUT_CONVERT_866_1251
;ä ©«®¢ë¥ à áè¨à¥­¨ï
xor edx,edx
mov ebx,synt_auto_open
@ -307,28 +214,6 @@ still:
@@:
jmp still
align 16
draw_window:
mcall SF_REDRAW,SSF_BEGIN_DRAW
mov edx,[sc.work]
or edx,0x73000000
mcall SF_CREATE_WINDOW,dword[wnd_s_pos],dword[wnd_s_pos+4],,,hed
mcall SF_THREAD_INFO,procinfo,-1
mov edi,tedit0 ;§­ ç¥­¨¥ edi ­ã¦­® ¤«ï EvSize ¨ ted_wnd_t
call EvSize
movzx ebx,word[procinfo.client_box.width]
inc bx
mcall SF_DRAW_RECT,,ted_wnd_t ;¢¥àå­¨© ¯àאַ㣮«ì­¨ª, ¤«ï ®ç¨á⪨ ¢¥àå­¥© ¯ ­¥«¨
call draw_but_toolbar
stdcall [kmainmenu_draw], [main_menu]
stdcall [ted_draw], tedit0
mcall SF_REDRAW,SSF_END_DRAW
ret
align 16
mouse:
stdcall [kmainmenu_dispatch_cursorevent], [main_menu]
@ -422,164 +307,7 @@ key:
stdcall [ted_key], tedit0, conv_tabl,esi
jmp still
align 16
button:
mcall SF_GET_BUTTON
cmp ah,3
jne @f
call ted_but_new_file
jmp still
@@:
cmp ah,4
jne @f
call ted_but_open_file
jmp still
@@:
cmp ah,5
jne @f
xor eax,eax
call ted_but_save_file ;á®åà ­¥­¨¥ ¡¥§ ¤¨ «®£ 
jmp still
@@:
cmp ah,6
jne @f
xor eax,eax
inc eax
call ted_but_save_file ;á®åà ­¥­¨¥ á ¤¨ «®£®¬
jmp still
@@:
cmp ah,7
jne @f
stdcall [ted_but_select_word], tedit0
jmp still
@@:
cmp ah,8
jne @f
stdcall [ted_but_cut], tedit0
jmp still
@@:
cmp ah,9
jne @f
stdcall [ted_but_copy], tedit0
jmp still
@@:
cmp ah,10
jne @f
stdcall [ted_but_paste], tedit0
jmp still
@@:
cmp ah,11
jne @f
call ted_but_find
jmp still
@@:
cmp ah,12
jne @f
call but_replace
jmp still
@@:
cmp ah,13
jne @f
call but_find_key_w
jmp still
@@:
cmp ah,14
jne @f
stdcall [ted_but_sumb_upper], tedit0
jmp still
@@:
cmp ah,15
jne @f
stdcall [ted_but_sumb_lover], tedit0
jmp still
@@:
cmp ah,16
jne @f
stdcall [ted_but_reverse], tedit0
jmp still
@@:
cmp ah,17
jne @f
stdcall [ted_but_undo], tedit0
jmp still
@@:
cmp ah,18
jne @f
stdcall [ted_but_redo], tedit0
jmp still
@@:
cmp ah,19
jne @f
stdcall but_sumb_invis, tedit0
jmp still
@@:
cmp ah,20
jne @f
stdcall but_k_words_show, tedit0
jmp still
@@:
cmp ah,21
jne @f
stdcall but_synt_show, tedit0
jmp still
@@:
cmp ah,22
jne @f
stdcall [ted_but_convert_by_table],tedit0,tbl_1251_866
jmp still
@@:
cmp ah,23
jne @f
stdcall [ted_but_convert_by_table],tedit0,tbl_866_1251
jmp still
@@:
cmp ah,200
jne @f
stdcall ted_but_open_syntax, tedit0
jmp still
@@:
cmp ah,201
jne @f
stdcall [ted_but_find_next], tedit0
jmp still
@@:
cmp ah,1
je .exit
cmp ah,199
je .exit
jmp still
.exit:
cmp dword[wnd_k_words_run],0
je @f
push ebx ecx
mcall SF_SYSTEM, SSF_TERMINATE_THREAD_ID,[wnd_k_words_run]
pop ecx ebx
test eax,eax
jnz still
@@:
cmp dword[exit_code],1
je @f
stdcall [ted_can_save], tedit0
cmp al,1
jne @f
stdcall [mb_create],msgbox_2,thread ;message: save buf in file?
stdcall [mb_setfunctions],msgbox_2E_funct
jmp still
@@:
stdcall mem.Free,[bmp_icon]
cmp dword[unpac_mem],0
je @f
stdcall mem.Free,[unpac_mem]
@@:
stdcall [ted_delete], tedit0
stdcall [tl_data_clear], tree1
mcall SF_TERMINATE_PROCESS ;¢ë室 ¨§ ¯à®£à ¬¬ë
align 4
edit2 edit_box TED_PANEL_WIDTH-1, 0, 20, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 300, buf_find, mouse_dd, 0
unpac_mem dd 0

View File

@ -63,6 +63,7 @@ sz_main_menu_Encoding_866to1251 db 'CP866 ',0x1A,' CP1251', 0
end if
align 4
main_menu dd 0
main_menu_file dd 0
main_menu_changes dd 0
@ -73,4 +74,80 @@ main_menu_encoding dd 0
KMENUITEM_NORMAL equ 0
KMENUITEM_SUBMENU equ 1
KMENUITEM_SEPARATOR equ 2
KMENUITEM_SEPARATOR equ 2
align 16
tedit_menu_init:
stdcall [kmenu_init], sc
stdcall [ksubmenu_new]
mov [main_menu], eax
stdcall [ksubmenu_new]
mov [main_menu_file], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_File_New, ID_BUT_NEW
stdcall [ksubmenu_add], [main_menu_file], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_File_Open, ID_BUT_OPEN
stdcall [ksubmenu_add], [main_menu_file], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_File_Save, ID_BUT_SAVE
stdcall [ksubmenu_add], [main_menu_file], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_File_Save_As, ID_BUT_SAVE_AS
stdcall [ksubmenu_add], [main_menu_file], eax
stdcall [kmenuitem_new], KMENUITEM_SEPARATOR, 0, 0
stdcall [ksubmenu_add], [main_menu_file], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_File_Exit, 199
stdcall [ksubmenu_add], [main_menu_file], eax
stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_File, [main_menu_file]
stdcall [ksubmenu_add], [main_menu], eax
stdcall [ksubmenu_new]
mov [main_menu_changes], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Changes_Undo, ID_BUT_UNDO
stdcall [ksubmenu_add], [main_menu_changes], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Changes_Redo, ID_BUT_REDO
stdcall [ksubmenu_add], [main_menu_changes], eax
stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_Changes, [main_menu_changes]
stdcall [ksubmenu_add], [main_menu], eax
stdcall [ksubmenu_new]
mov [main_menu_buf], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Buf_Cut, ID_BUT_CUT
stdcall [ksubmenu_add], [main_menu_buf], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Buf_Copy, ID_BUT_COPY
stdcall [ksubmenu_add], [main_menu_buf], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Buf_Paste, ID_BUT_PASTE
stdcall [ksubmenu_add], [main_menu_buf], eax
stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_Buf, [main_menu_buf]
stdcall [ksubmenu_add], [main_menu], eax
stdcall [ksubmenu_new]
mov [main_menu_search], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Search_Text, ID_BUT_FIND
stdcall [ksubmenu_add], [main_menu_search], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Search_Keywords, ID_BUT_KEY_WORDS
stdcall [ksubmenu_add], [main_menu_search], eax
stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_Search, [main_menu_search]
stdcall [ksubmenu_add], [main_menu], eax
stdcall [ksubmenu_new]
mov [main_menu_view], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Veiw_UseSyntax, ID_BUT_SYNTAX_LIST
stdcall [ksubmenu_add], [main_menu_view], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Veiw_ChooseSyntax, ID_BUT_SYNTAX_MODE
stdcall [ksubmenu_add], [main_menu_view], eax
stdcall [kmenuitem_new], KMENUITEM_SEPARATOR, 0, 0
stdcall [ksubmenu_add], [main_menu_view], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Veiw_LineBreak, ID_BUT_INVISIBLE
stdcall [ksubmenu_add], [main_menu_view], eax
stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_View, [main_menu_view]
stdcall [ksubmenu_add], [main_menu], eax
stdcall [ksubmenu_new]
mov [main_menu_encoding], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Encoding_1251to866, ID_BUT_CONVERT_1251_866
stdcall [ksubmenu_add], [main_menu_encoding], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Encoding_866to1251, ID_BUT_CONVERT_866_1251
stdcall [ksubmenu_add], [main_menu_encoding], eax
stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_Encoding, [main_menu_encoding]
stdcall [ksubmenu_add], [main_menu], eax
ret