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 ¢à¥¬. 㤠«¥­¨ï td dd ? ;+14 ¢à¥¬. 㤠«¥­¨ï
ends 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 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: ;input:
; al = ª®¤ ®è¨¡ª¨ ; al = ª®¤ ®è¨¡ª¨
@ -19,7 +206,6 @@ ted_on_init_synt_err:
stdcall [mb_create],msgbox_3,thread ;message: Can-t open color options file! stdcall [mb_create],msgbox_3,thread ;message: Can-t open color options file!
ret ret
align 4 align 4
ted_but_new_file: ted_but_new_file:
push eax ebx push eax ebx
@ -249,8 +435,6 @@ align 4
ted_messages_after_open_file: ted_messages_after_open_file:
push ecx edi push ecx edi
cmp eax,0 cmp eax,0
je @f
cmp eax,6
je @f je @f
cmp ax,10 cmp ax,10
jl .zifra_0_9 jl .zifra_0_9
@ -445,7 +629,7 @@ endp
;description: ;description:
; ¢ë¤¥«¥­¨¥/áªàë⨥ ª«î祢ëå á«®¢ ; ¢ë¤¥«¥­¨¥/áªàë⨥ ª«î祢ëå á«®¢
align 4 align 4
proc but_k_words_show uses edi, edit:dword proc but_use_syntax uses edi, edit:dword
mov edi,dword[edit] mov edi,dword[edit]
xor ted_mode_color,1 xor ted_mode_color,1
@ -461,7 +645,7 @@ endp
;description: ;description:
; ¢ë§®¢/áªàë⨥ ¯ ­¥«¨ á ä ©« ¬¨ ᨭ⠪á¨á  ; ¢ë§®¢/áªàë⨥ ¯ ­¥«¨ á ä ©« ¬¨ ᨭ⠪á¨á 
align 4 align 4
proc but_synt_show uses edi, edit:dword proc but_choose_syntax uses edi, edit:dword
mov edi,[edit] mov edi,[edit]
cmp ted_panel_id,TED_PANEL_NULL 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 align 4
draw_but_toolbar: ;ôóíêöèÿ äëÿ ðèñîâàíèÿ ïàíåëè èíñòðóìåíòîâ draw_but_toolbar: ;ôóíêöèÿ äëÿ ðèñîâàíèÿ ïàíåëè èíñòðóìåíòîâ
pushad pushad
mov edi,tedit0 mov edi,tedit0
mov ecx,0x40000000 mov ecx,0x40000000+ID_BUT_NEW
mov edx,(5 shl 16)+25 mov edx,(5 shl 16)+25
bt word[panel_but],0 bt word[panel_but],0
jnc @f jnc @f
call draw_but_icon ;New call draw_but_icon ;New
@@: @@:
inc cx mov cx,ID_BUT_OPEN
bt word[panel_but+1],0 bt word[panel_but+1],0
jnc @f jnc @f
add edx,25 shl 16 add edx,25 shl 16
@ -22,7 +46,7 @@ draw_but_toolbar: ;
je @f je @f
and ecx,0xffff and ecx,0xffff
@@: @@:
inc cx mov cx,ID_BUT_SAVE
bt word[panel_but+2],0 bt word[panel_but+2],0
jnc @f jnc @f
add edx,25 shl 16 add edx,25 shl 16
@ -30,14 +54,14 @@ draw_but_toolbar: ;
@@: @@:
or ecx,0x40000000 or ecx,0x40000000
inc cx mov cx,ID_BUT_SAVE_AS
bt word[panel_but+3],0 bt word[panel_but+3],0
jnc @f jnc @f
add edx,25 shl 16 add edx,25 shl 16
call draw_but_icon ;Save as call draw_but_icon ;Save as
@@: @@:
inc cx mov cx,ID_BUT_SELECT
bt word[panel_but+4],0 bt word[panel_but+4],0
jnc @f jnc @f
add edx,30 shl 16 add edx,30 shl 16
@ -49,14 +73,14 @@ draw_but_toolbar: ;
jnz @f jnz @f
and ecx,0xffff and ecx,0xffff
@@: @@:
inc cx mov cx,ID_BUT_CUT
bt word[panel_but+5],0 bt word[panel_but+5],0
jnc @f jnc @f
add edx,25 shl 16 add edx,25 shl 16
call draw_but_icon ;Cut call draw_but_icon ;Cut
@@: @@:
inc cx mov cx,ID_BUT_COPY
bt word[panel_but+6],0 bt word[panel_but+6],0
jnc @f jnc @f
add edx,25 shl 16 add edx,25 shl 16
@ -68,7 +92,7 @@ draw_but_toolbar: ;
jne @f jne @f
and ecx,0xffff and ecx,0xffff
@@: @@:
inc cx mov cx,ID_BUT_PASTE
bt word[panel_but+7],0 bt word[panel_but+7],0
jnc @f jnc @f
add edx,25 shl 16 add edx,25 shl 16
@ -76,21 +100,21 @@ draw_but_toolbar: ;
@@: @@:
or ecx,0x40000000 or ecx,0x40000000
inc cx mov cx,ID_BUT_FIND
bt word[panel_but+8],0 bt word[panel_but+8],0
jnc @f jnc @f
add edx,25 shl 16 add edx,25 shl 16
call draw_but_icon ;Found call draw_but_icon ;Found
@@: @@:
inc cx mov cx,ID_BUT_REPLACE
bt word[panel_but+9],0 bt word[panel_but+9],0
jnc @f jnc @f
add edx,25 shl 16 add edx,25 shl 16
call draw_but_icon ;Replace call draw_but_icon ;Replace
@@: @@:
inc cx mov cx,ID_BUT_KEY_WORDS
bt word[panel_but+10],0 bt word[panel_but+10],0
jnc @f jnc @f
add edx,25 shl 16 add edx,25 shl 16
@ -102,21 +126,21 @@ draw_but_toolbar: ;
jnz @f jnz @f
and ecx,0xffff and ecx,0xffff
@@: @@:
inc cx mov cx,ID_BUT_UPPER
bt word[panel_but+11],0 bt word[panel_but+11],0
jnc @f jnc @f
add edx,30 shl 16 add edx,30 shl 16
call draw_but_icon ;Upper call draw_but_icon ;Upper
@@: @@:
inc cx mov cx,ID_BUT_LOWER
bt word[panel_but+12],0 bt word[panel_but+12],0
jnc @f jnc @f
add edx,25 shl 16 add edx,25 shl 16
call draw_but_icon ;Lower call draw_but_icon ;Lower
@@: @@:
inc cx mov cx,ID_BUT_REVERSE
bt word[panel_but+13],0 bt word[panel_but+13],0
jnc @f jnc @f
add edx,25 shl 16 add edx,25 shl 16
@ -129,7 +153,7 @@ draw_but_toolbar: ;
jg @f jg @f
and ecx,0xffff and ecx,0xffff
@@: @@:
inc cx mov cx,ID_BUT_UNDO
bt word[panel_but+14],0 bt word[panel_but+14],0
jnc @f jnc @f
add edx,30 shl 16 add edx,30 shl 16
@ -141,7 +165,7 @@ draw_but_toolbar: ;
jge @f jge @f
and ecx,0xffff and ecx,0xffff
@@: @@:
inc cx mov cx,ID_BUT_REDO
bt word[panel_but+15],0 bt word[panel_but+15],0
jnc @f jnc @f
add edx,25 shl 16 add edx,25 shl 16
@ -149,35 +173,35 @@ draw_but_toolbar: ;
@@: @@:
or ecx,0x40000000 or ecx,0x40000000
inc cx mov cx,ID_BUT_INVISIBLE
bt word[panel_but+16],0 bt word[panel_but+16],0
jnc @f jnc @f
add edx,30 shl 16 add edx,30 shl 16
call draw_but_icon ;Invisible on|off call draw_but_icon ;Invisible on|off
@@: @@:
inc cx mov cx,ID_BUT_SYNTAX_LIST
bt word[panel_but+17],0 bt word[panel_but+17],0
jnc @f jnc @f
add edx,25 shl 16 add edx,25 shl 16
call draw_but_icon ;Âûáîð ôàéëà ïîäñâåòêè call draw_but_icon ;Âûáîð ôàéëà ïîäñâåòêè
@@: @@:
inc cx mov cx,ID_BUT_SYNTAX_MODE
bt word[panel_but+18],0 bt word[panel_but+18],0
jnc @f jnc @f
add edx,25 shl 16 add edx,25 shl 16
call draw_but_icon ;Ïîäñâåòêà âêë|âûêë call draw_but_icon ;Ïîäñâåòêà âêë|âûêë
@@: @@:
inc cx mov cx,ID_BUT_CONVERT_1251_866
bt word[panel_but+19],0 bt word[panel_but+19],0
jnc @f jnc @f
add edx,30 shl 16 add edx,30 shl 16
call draw_but_icon ;cp 1251 -> 866 call draw_but_icon ;cp 1251 -> 866
@@: @@:
inc cx mov cx,ID_BUT_CONVERT_866_1251
bt word[panel_but+20],0 bt word[panel_but+20],0
jnc @f jnc @f
add edx,25 shl 16 add edx,25 shl 16
@ -204,7 +228,7 @@ proc draw_panel_find
mov cx,20 mov cx,20
mcall SF_DRAW_RECT,TED_PANEL_WIDTH,,[sc.work] 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 add ebx,ted_wnd_t
mov ecx,[sc.work_text] mov ecx,[sc.work_text]
or ecx,0x80000000 or ecx,0x80000000
@ -225,9 +249,9 @@ proc draw_panel_find
add cx,20+15+5 add cx,20+15+5
shl ecx,16 shl ecx,16
mov cx,20 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 add ebx,ted_wnd_t
mov ecx,[sc.work_text] mov ecx,[sc.work_text]
or ecx,0x80000000 or ecx,0x80000000
@ -345,7 +369,7 @@ EvSize:
;input: ;input:
; ecx = 0x4000____ ; ecx = 0x4000____
; cx = icon index ; cx = ID button
; edx = x*2^16+y ; edx = x*2^16+y
align 4 align 4
draw_but_icon: draw_but_icon:
@ -355,7 +379,6 @@ draw_but_icon:
push ecx edx esi push ecx edx esi
mov ebx,edx mov ebx,edx
mov edx,ecx mov edx,ecx
add edx,3
mov cx,bx mov cx,bx
shl ecx,16 shl ecx,16
mov cx,19 ;=20-1 mov cx,19 ;=20-1
@ -379,6 +402,7 @@ draw_but_icon:
add ebx,TOOLBAR_ICONS_SIZE ;ïåðåìåùàåìñÿ íà ñåðûå êíîïêè add ebx,TOOLBAR_ICONS_SIZE ;ïåðåìåùàåìñÿ íà ñåðûå êíîïêè
.gray: .gray:
push ecx push ecx
sub ecx,ID_BUT_0
and ecx,0xffff and ecx,0xffff
imul ecx,1200 imul ecx,1200
add ebx,ecx add ebx,ecx

View File

@ -9,7 +9,7 @@ MAX_COLOR_WORD_LEN equ 40
maxChars equ 100002 ;(ª®««¨ç¥á⢮ ᨬ¢®«®¢ ¢ ­®¢®¬ ¤®ªã¬¥­â¥ + 2) maxChars equ 100002 ;(ª®««¨ç¥á⢮ ᨬ¢®«®¢ ¢ ­®¢®¬ ¤®ªã¬¥­â¥ + 2)
BUF_SIZE equ 4096 ;buffer for copy|paste BUF_SIZE equ 4096 ;buffer for copy|paste
maxSyntaxFileSize equ 410000 maxSyntaxFileSize equ 410000
TOOLBAR_ICONS_SIZE equ 1200*20 TOOLBAR_ICONS_SIZE equ 1200*21
include '../../proc32.inc' include '../../proc32.inc'
include '../../macros.inc' include '../../macros.inc'
@ -21,10 +21,10 @@ include '../../system/skincfg/trunk/unpacker.inc'
include 'lang.inc' include 'lang.inc'
include 't_data.inc' include 't_data.inc'
include 't_button.inc'
include 't_menu.inc' include 't_menu.inc'
include 'strlen.inc' include 'strlen.inc'
include 't_draw.inc' ;draw main window functions include 't_draw.inc' ;draw main window functions
include 't_button.inc' ;text work functions
include 'wnd_k_words.inc' 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
@ -71,80 +71,9 @@ mov ebp,lib0
; OpenDialog initialisation ; OpenDialog initialisation
stdcall [OpenDialog_Init],OpenDialog_data stdcall [OpenDialog_Init],OpenDialog_data
; kmenu initialisation ; kmenu initialisation
stdcall [kmenu_init], sc call tedit_menu_init
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
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 ; init toolbar file
include_image_file 'te_icon.png', bmp_icon,,,6 ;6 ¤«ï á¥àëå ª­®¯®ª include_image_file 'te_icon.png', bmp_icon,,,6 ;6 ¤«ï á¥àëå ª­®¯®ª
mov eax,[bmp_icon] 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 include_image_file '..\..\media\log_el\trunk\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
;---------------------------------------------------------------------
; ¢­¥¤à塞 ä ©« á ¨ª®­ª ¬¨ 㧫®¢ ; ¢­¥¤à塞 ä ©« á ¨ª®­ª ¬¨ 㧫®¢
include_image_file 'tl_nod_16.png', icon_tl_sys include_image_file 'tl_nod_16.png', icon_tl_sys
mov eax,dword[icon_tl_sys] mov eax,dword[icon_tl_sys]
@ -211,48 +139,27 @@ mov ebp,lib0
shl eax,24 shl eax,24
mov dword[tedit0.font_size],eax mov dword[tedit0.font_size],eax
;ª­®¯ª¨ ­  ¯ ­¥«¨ ;ª­®¯ª¨ ­  ¯ ­¥«¨
stdcall [ini_get_int],file_name,ini_sec_window,key_but_new,1 ini_panel key_but_new, ID_BUT_NEW
mov byte[panel_but],al ini_panel key_but_open, ID_BUT_OPEN
stdcall [ini_get_int],file_name,ini_sec_window,key_but_open,1 ini_panel key_but_save, ID_BUT_SAVE
mov byte[panel_but+1],al ini_panel key_but_save_as,ID_BUT_SAVE_AS
stdcall [ini_get_int],file_name,ini_sec_window,key_but_save,1 ini_panel key_but_select, ID_BUT_SELECT
mov byte[panel_but+2],al ini_panel key_but_cut, ID_BUT_CUT
stdcall [ini_get_int],file_name,ini_sec_window,key_but_save_as,1 ini_panel key_but_copy, ID_BUT_COPY
mov byte[panel_but+3],al ini_panel key_but_paste, ID_BUT_PASTE
stdcall [ini_get_int],file_name,ini_sec_window,key_but_select,1 ini_panel key_but_find, ID_BUT_FIND
mov byte[panel_but+4],al ini_panel key_but_replace,ID_BUT_REPLACE
stdcall [ini_get_int],file_name,ini_sec_window,key_but_cut,1 ini_panel key_but_key_words,ID_BUT_KEY_WORDS
mov byte[panel_but+5],al ini_panel key_but_upper, ID_BUT_UPPER
stdcall [ini_get_int],file_name,ini_sec_window,key_but_copy,1 ini_panel key_but_lower, ID_BUT_LOWER
mov byte[panel_but+6],al ini_panel key_but_reverse,ID_BUT_REVERSE
stdcall [ini_get_int],file_name,ini_sec_window,key_but_paste,1 ini_panel key_but_undo, ID_BUT_UNDO
mov byte[panel_but+7],al ini_panel key_but_redo, ID_BUT_REDO
stdcall [ini_get_int],file_name,ini_sec_window,key_but_find,1 ini_panel key_but_invisible,ID_BUT_INVISIBLE
mov byte[panel_but+8],al ini_panel key_but_syntax_list,ID_BUT_SYNTAX_LIST
stdcall [ini_get_int],file_name,ini_sec_window,key_but_replace,1 ini_panel key_but_syntax_mode,ID_BUT_SYNTAX_MODE
mov byte[panel_but+9],al ini_panel key_but_convert_1251_866,ID_BUT_CONVERT_1251_866
stdcall [ini_get_int],file_name,ini_sec_window,key_but_key_words,1 ini_panel key_but_convert_866_1251,ID_BUT_CONVERT_866_1251
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
;ä ©«®¢ë¥ à áè¨à¥­¨ï ;ä ©«®¢ë¥ à áè¨à¥­¨ï
xor edx,edx xor edx,edx
mov ebx,synt_auto_open mov ebx,synt_auto_open
@ -307,28 +214,6 @@ still:
@@: @@:
jmp 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 align 16
mouse: mouse:
stdcall [kmainmenu_dispatch_cursorevent], [main_menu] stdcall [kmainmenu_dispatch_cursorevent], [main_menu]
@ -422,164 +307,7 @@ key:
stdcall [ted_key], tedit0, conv_tabl,esi stdcall [ted_key], tedit0, conv_tabl,esi
jmp still jmp still
align 16 align 4
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 ;¢ë室 ¨§ ¯à®£à ¬¬ë
edit2 edit_box TED_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
unpac_mem dd 0 unpac_mem dd 0

View File

@ -63,6 +63,7 @@ sz_main_menu_Encoding_866to1251 db 'CP866 ',0x1A,' CP1251', 0
end if end if
align 4
main_menu dd 0 main_menu dd 0
main_menu_file dd 0 main_menu_file dd 0
main_menu_changes dd 0 main_menu_changes dd 0
@ -73,4 +74,80 @@ main_menu_encoding dd 0
KMENUITEM_NORMAL equ 0 KMENUITEM_NORMAL equ 0
KMENUITEM_SUBMENU equ 1 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