add select word by double click

git-svn-id: svn://kolibrios.org@6239 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
IgorA
2016-02-16 20:19:26 +00:00
parent b28721dd10
commit d112b67c4c
2 changed files with 220 additions and 247 deletions

View File

@@ -1,13 +1,3 @@
struct FileInfoBlock
Function dd ?
Position dd ?
Flags dd ?
Count dd ?
Buffer dd ?
db ?
FileName dd ?
ends
struct symbol struct symbol
c db ? ; +0 <EFBFBD><EFBFBD><EFBFBD> c db ? ; +0 <EFBFBD><EFBFBD><EFBFBD>
col db ? ; +1 <EFBFBD> col db ? ; +1 <EFBFBD>
@@ -412,53 +402,47 @@ but_find_key_w:
;description: ;description:
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
align 4 align 4
proc but_sumb_invis, edit:dword proc but_sumb_invis uses edi, edit:dword
push edi mov edi,dword[edit]
mov edi,dword[edit]
xor ted_mode_invis,1 xor ted_mode_invis,1
call draw_but_toolbar call draw_but_toolbar
stdcall [ted_draw],edi stdcall [ted_draw],edi
pop edi ret
ret
endp endp
;description: ;description:
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>
align 4 align 4
proc but_k_words_show, edit:dword proc but_k_words_show uses edi, edit:dword
push edi mov edi,dword[edit]
mov edi,dword[edit]
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 [ted_text_colored] call [ted_text_colored]
@@: @@:
call draw_but_toolbar call draw_but_toolbar
stdcall [ted_draw],edi stdcall [ted_draw],edi
pop edi ret
ret
endp endp
;description: ;description:
; <EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᨭ⠪<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ; <EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᨭ⠪<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
align 4 align 4
proc but_synt_show, edit:dword proc but_synt_show uses edi, edit:dword
push edi mov edi,[edit]
mov edi,[edit]
cmp ted_panel_id,TED_PANEL_NULL cmp ted_panel_id,TED_PANEL_NULL
je @f je @f
mov ted_panel_id,TED_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,TED_PANEL_SYNTAX mov ted_panel_id,TED_PANEL_SYNTAX
mov ted_wnd_l,TED_PANEL_WIDTH mov ted_wnd_l,TED_PANEL_WIDTH
.e_if: .e_if:
call EvSize call EvSize
stdcall [ted_draw],edi stdcall [ted_draw],edi
pop edi ret
ret
endp endp

View File

@@ -14,11 +14,9 @@ maxSyntaxFileSize equ 410000
TOOLBAR_ICONS_SIZE equ 1200*20 TOOLBAR_ICONS_SIZE equ 1200*20
include '../../proc32.inc' include '../../proc32.inc'
;include '../../config.inc'
include '../../macros.inc' include '../../macros.inc'
include '../../dll.inc'
include '../../KOSfuncs.inc' include '../../KOSfuncs.inc'
include '../../develop/libraries/box_lib/load_lib.mac' include '../../load_img.inc'
include '../../develop/libraries/box_lib/trunk/box_lib.mac' include '../../develop/libraries/box_lib/trunk/box_lib.mac'
include '../../system/skincfg/trunk/kglobals.inc' include '../../system/skincfg/trunk/kglobals.inc'
include '../../system/skincfg/trunk/unpacker.inc' include '../../system/skincfg/trunk/unpacker.inc'
@@ -33,50 +31,6 @@ include 'wnd_k_words.inc'
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load @use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20> <20><EFBFBD><EFBFBD><ECA7AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> libimg.obj
;<3B><><EFBFBD> <20><EFBFBD><EFBFBD><ECA7AE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20><><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD>:
; - run_file_70 FileInfoBlock
; - image_data dd 0
macro load_image_file path,buf,size
{
;path - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><E0AEAA><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0AC>
if path eqtype '' ;<3B><EFBFBD><E0AEA2><20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><E0AEAA> <20><><EFBFBD><E0A0AC><EFBFBD> path
jmp @f
local .path_str
.path_str db path ;<3B><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD>
db 0
@@:
;32 - <20><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><E2A5AC><EFBFBD> <20><>
copy_path .path_str,[32],file_name,0
else
copy_path path,[32],file_name,0 ;<3B><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><E4A0A9> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD>, <20><><EFBFBD>ࠧ㬥<E0A0A7><E3ACA5><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD>
end if
stdcall mem.Alloc, dword size ;<3B><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD>
mov [buf],eax
mov [run_file_70.Function], SSF_READ_FILE
mov [run_file_70.Position], 0
mov [run_file_70.Flags], 0
mov [run_file_70.Count], dword size
m2m [run_file_70.Buffer], eax
mov byte[run_file_70+20], 0
mov [run_file_70.FileName], file_name
mcall SF_FILE,run_file_70 ;<3B><><EFBFBD><EFBFBD><EFBFBD><E3A6A0><> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD>
cmp ebx,0xffffffff
je @f
;<3B><><EFBFBD><E0A5A4><20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20> <20><><EFBFBD><E0A5A2><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> image_data
stdcall dword[img_decode], dword[buf],ebx,0
mov dword[image_data],eax
;<3B><EFBFBD>ࠧ㥬 <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20> <20><><EFBFBD><E0ACA0> rgb
stdcall dword[img_to_rgb2], dword[image_data],dword[buf]
;㤠<><20><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> image_data
stdcall dword[img_destroy], dword[image_data]
@@:
}
image_data dd 0 ;㪠<><E3AAA0><EFBFBD> <20><> <20><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD> <20><EFBFBD> <20><EFBFBD><EFBFBD><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD>
icon_tl_sys dd 0 ;㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E0A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> icon_tl_sys dd 0 ;㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E0A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
align 4 align 4
@@ -190,18 +144,18 @@ mov ebp,lib0
stdcall [ksubmenu_add], [main_menu], eax stdcall [ksubmenu_add], [main_menu], eax
; init toolbar file ; init toolbar file
load_image_file 'te_icon.png', bmp_icon,TOOLBAR_ICONS_SIZE*2 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 2 <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> load_image_file 'te_icon.png', bmp_icon,,,6 ;6 <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mov eax,[bmp_icon] mov eax,[bmp_icon]
add eax,TOOLBAR_ICONS_SIZE add eax,TOOLBAR_ICONS_SIZE
stdcall img_to_gray, [bmp_icon],eax,(TOOLBAR_ICONS_SIZE)/3 stdcall img_to_gray, [bmp_icon],eax,(TOOLBAR_ICONS_SIZE)/3
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
; <20><><EFBFBD><> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> ; <20><><EFBFBD><> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>
load_image_file 'tl_sys_16.png', icon_tl_sys,54+3*256*13 load_image_file 'tl_sys_16.png', icon_tl_sys
mov eax,dword[icon_tl_sys] mov eax,dword[icon_tl_sys]
mov dword[tree1.data_img_sys],eax mov dword[tree1.data_img_sys],eax
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
; <20><><EFBFBD><> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E3A7AB> ; <20><><EFBFBD><> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E3A7AB>
load_image_file 'tl_nod_16.png', icon_tl_sys,54+3*256*2 load_image_file 'tl_nod_16.png', icon_tl_sys
mov eax,dword[icon_tl_sys] mov eax,dword[icon_tl_sys]
mov dword[tree1.data_img],eax mov dword[tree1.data_img],eax
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
@@ -282,11 +236,11 @@ mov ebp,lib0
align 4 align 16
red_win: red_win:
call draw_window call draw_window
align 4 align 16
still: still:
mcall SF_WAIT_EVENT mcall SF_WAIT_EVENT
cmp dword[exit_code],1 cmp dword[exit_code],1
@@ -304,7 +258,7 @@ still:
@@: @@:
jmp still jmp still
align 4 align 16
draw_window: draw_window:
mcall SF_REDRAW,SSF_BEGIN_DRAW mcall SF_REDRAW,SSF_BEGIN_DRAW
@@ -326,25 +280,39 @@ draw_window:
mcall SF_REDRAW,SSF_END_DRAW mcall SF_REDRAW,SSF_END_DRAW
ret ret
align 4 align 16
mouse: mouse:
stdcall [kmainmenu_dispatch_cursorevent], [main_menu] stdcall [kmainmenu_dispatch_cursorevent], [main_menu]
stdcall [ted_mouse], tedit0
mcall SF_MOUSE_GET,SSF_WINDOW_POSITION
cmp word[tedit0.wnd.top],ax
jg .no_edit
shr eax,16
cmp word[tedit0.wnd.left],ax
jg .no_edit
mcall SF_MOUSE_GET,SSF_BUTTON_EXT
bt eax,24 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E9A5AB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
jnc @f
stdcall [ted_but_select_word], tedit0
jmp still
@@:
stdcall [ted_mouse], tedit0
.no_edit:
cmp byte[tedit0.panel_id],TED_PANEL_FIND ;if not panel cmp byte[tedit0.panel_id],TED_PANEL_FIND ;if not panel
jne @f jne @f
stdcall [edit_box_mouse], dword edit2 stdcall [edit_box_mouse], edit2
@@: @@:
cmp byte[tedit0.panel_id],TED_PANEL_SYNTAX ;if not panel cmp byte[tedit0.panel_id],TED_PANEL_SYNTAX ;if not panel
jne .mouse_end jne @f
stdcall [tl_mouse], tree1 stdcall [tl_mouse], tree1
.mouse_end: @@:
jmp still jmp still
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
;output: ;output:
; ah = symbol ; ah = symbol
align 4 align 16
proc KeyConvertToASCII uses ebx, table:dword proc KeyConvertToASCII uses ebx, table:dword
mov ebx,dword[table] ;convert scan to ascii mov ebx,dword[table] ;convert scan to ascii
ror ax,8 ror ax,8
@@ -354,158 +322,179 @@ proc KeyConvertToASCII uses ebx, table:dword
ret ret
endp endp
align 4 align 16
key: key:
mcall SF_KEYBOARD,SSF_GET_CONTROL_KEYS ;66.3 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mcall SF_KEYBOARD,SSF_GET_CONTROL_KEYS ;66.3 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
xor esi,esi 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 esi,KM_SHIFT or esi,KM_SHIFT
@@: @@:
test al,0x0c ;[Ctrl] test al,0x0c ;[Ctrl]
jz @f jz @f
or esi,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 esi,KM_ALT or esi,KM_ALT
@@: @@:
test al,0x80 ;[NumLock] test al,0x80 ;[NumLock]
jz @f jz @f
or esi,KM_NUMLOCK or esi,KM_NUMLOCK
@@: @@:
mcall SF_SYSTEM_GET,SSF_KEYBOARD_LAYOUT,,conv_tabl ;26.2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E1AAAB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mcall SF_SYSTEM_GET,SSF_KEYBOARD_LAYOUT,,conv_tabl ;26.2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E1AAAB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mcall SF_GET_KEY mcall SF_GET_KEY
stdcall [tl_key], tree1 stdcall [tl_key], tree1
test word [edit2.flags],10b;ed_focus ; <20><20><> <20><><E4AEAA><EFBFBD>, <20><><EFBFBD><E5AEA4> test word [edit2.flags],10b;ed_focus ; <20><20><> <20><><E4AEAA><EFBFBD>, <20><><EFBFBD><E5AEA4>
je @f je @f
cmp ah,0x80 ;if key up cmp ah,0x80 ;if key up
ja still ja still
cmp ah,42 ;[Shift] (left) cmp ah,42 ;[Shift] (left)
je still je still
cmp ah,54 ;[Shift] (right) cmp ah,54 ;[Shift] (right)
je still je still
cmp ah,56 ;[Alt] cmp ah,56 ;[Alt]
je still je still
cmp ah,29 ;[Ctrl] cmp ah,29 ;[Ctrl]
je still je still
cmp ah,69 ;[Pause Break] cmp ah,69 ;[Pause Break]
je still je still
stdcall KeyConvertToASCII, dword conv_tabl stdcall KeyConvertToASCII, dword conv_tabl
stdcall [edit_box_key], dword edit2 stdcall [edit_box_key], dword edit2
jmp still jmp still
@@: @@:
stdcall [ted_key], tedit0, conv_tabl,esi stdcall [ted_key], tedit0, conv_tabl,esi
jmp still jmp still
align 4 align 16
button: 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
call ted_but_save_file
jmp still
@@:
cmp ah,6
jne @f
stdcall [ted_but_select_word], tedit0
jmp still
@@:
cmp ah,7
jne @f
stdcall [ted_but_cut], tedit0
jmp still
@@:
cmp ah,8
jne @f
stdcall [ted_but_copy], tedit0
jmp still
@@:
cmp ah,9
jne @f
stdcall [ted_but_paste], tedit0
jmp still
@@:
cmp ah,10
jne @f
call ted_but_find
jmp still
@@:
cmp ah,11
jne @f
call but_replace
jmp still
@@:
cmp ah,12
jne @f
call but_find_key_w
jmp still
@@:
cmp ah,13
jne @f
stdcall [ted_but_sumb_upper], tedit0
jmp still
@@:
cmp ah,14
jne @f
stdcall [ted_but_sumb_lover], tedit0
jmp still
@@:
cmp ah,15
jne @f
stdcall [ted_but_reverse], tedit0
jmp still
@@:
cmp ah,16
jne @f
stdcall [ted_but_undo], tedit0
jmp still
@@:
cmp ah,17
jne @f
stdcall [ted_but_redo], tedit0
jmp still
@@:
cmp ah,18
jne @f
stdcall but_sumb_invis, tedit0
jmp still
@@:
cmp ah,19
jne @f
stdcall but_k_words_show, tedit0
jmp still
@@:
cmp ah,20
jne @f
stdcall but_synt_show, tedit0
jmp still
@@:
cmp ah,21
jne @f
stdcall [ted_but_convert_by_table],tedit0,tbl_1251_866
jmp still
@@:
cmp ah,22
jne @f
stdcall [ted_but_convert_by_table],tedit0,tbl_866_1251
jmp still
@@:
mcall SF_GET_BUTTON cmp ah,200
cmp ah,3 jne @f
jne @f stdcall ted_but_open_syntax, tedit0
call ted_but_new_file jmp still
@@: @@:
cmp ah,4 cmp ah,201
jne @f jne @f
call ted_but_open_file stdcall [ted_but_find_next], tedit0
@@: jmp still
cmp ah,5 @@:
jne @f
call ted_but_save_file
@@:
cmp ah,6
jne @f
stdcall [ted_but_select_word], tedit0
@@:
cmp ah,7
jne @f
stdcall [ted_but_cut], tedit0
@@:
cmp ah,8
jne @f
stdcall [ted_but_copy], tedit0
@@:
cmp ah,9
jne @f
stdcall [ted_but_paste], tedit0
@@:
cmp ah,10
jne @f
call ted_but_find
@@:
cmp ah,11
jne @f
call but_replace
@@:
cmp ah,12
jne @f
call but_find_key_w
@@:
cmp ah,13
jne @f
stdcall [ted_but_sumb_upper], tedit0
@@:
cmp ah,14
jne @f
stdcall [ted_but_sumb_lover], tedit0
@@:
cmp ah,15
jne @f
stdcall [ted_but_reverse], tedit0
@@:
cmp ah,16
jne @f
stdcall [ted_but_undo], tedit0
@@:
cmp ah,17
jne @f
stdcall [ted_but_redo], tedit0
@@:
cmp ah,18
jne @f
stdcall but_sumb_invis, tedit0
@@:
cmp ah,19
jne @f
stdcall but_k_words_show, tedit0
@@:
cmp ah,20
jne @f
stdcall but_synt_show, tedit0
@@:
cmp ah,21
jne @f
stdcall [ted_but_convert_by_table],tedit0,tbl_1251_866
@@:
cmp ah,22
jne @f
stdcall [ted_but_convert_by_table],tedit0,tbl_866_1251
@@:
cmp ah,200 cmp ah,1
jne @f je .exit
stdcall ted_but_open_syntax, tedit0
@@:
cmp ah,201
jne @f
stdcall [ted_but_find_next], tedit0
@@:
cmp ah,1 cmp ah,199
je .exit je .exit
cmp ah,199
je .exit
jmp still jmp still
.exit: .exit:
cmp dword[exit_code],1 cmp dword[exit_code],1
je @f je @f