forked from KolibriOS/kolibrios
kol_f_edit:
1) add unpack code 2) fix when icon index -1 git-svn-id: svn://kolibrios.org@3475 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
3f2315327d
commit
b1640343a9
@ -14,12 +14,14 @@ include '../../proc32.inc'
|
||||
include '../../develop/libraries/box_lib/load_lib.mac'
|
||||
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
|
||||
include '../../dll.inc'
|
||||
include '../../system/desktop/trunk/kglobals.inc'
|
||||
include '../../system/desktop/trunk/unpacker.inc'
|
||||
include 'strlen.inc'
|
||||
include 'obj_codes.inc'
|
||||
|
||||
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc, dll.Load
|
||||
|
||||
hed db 'kol_f_edit 11.04.13',0
|
||||
hed db 'kol_f_edit 17.04.13',0
|
||||
|
||||
sizeof.TreeList equ 20 ;need for element 'tree_list'
|
||||
|
||||
@ -325,19 +327,8 @@ start:
|
||||
mov ted_syntax_file,eax
|
||||
|
||||
;¯à®¡ã¥¬ ®âªàëâì ä ©« á¨â ªá¨á
|
||||
mov ebx,run_file_70
|
||||
mov dword[ebx], 0
|
||||
mov dword[ebx+4], 0
|
||||
mov dword[ebx+8], 0
|
||||
mov dword[ebx+12], ecx
|
||||
mov dword[ebx+16], eax ;ted_syntax_file
|
||||
mov byte[ebx+20], 0
|
||||
m2m dword[ebx+21], file_name
|
||||
mcall 70
|
||||
cmp eax,0
|
||||
jne @f
|
||||
stdcall [ted_init_syntax_file],edi
|
||||
jmp .end_0
|
||||
call open_unpac_synt_file
|
||||
jmp .end_0
|
||||
@@:
|
||||
notify_window_run txt_not_syntax_file
|
||||
.end_0:
|
||||
@ -638,6 +629,10 @@ button:
|
||||
stdcall [buf2d_delete],buf_skin2
|
||||
stdcall [buf2d_delete],buf_skin3
|
||||
stdcall [ted_delete], tedit0
|
||||
cmp dword[unpac_mem],0
|
||||
je @f
|
||||
stdcall mem.Free,[unpac_mem]
|
||||
@@:
|
||||
mcall -1
|
||||
|
||||
align 4
|
||||
@ -868,6 +863,13 @@ push eax ebx ecx
|
||||
je @f
|
||||
xor ecx,ecx
|
||||
mov cx,word[eax+obj_opt.img-obj_opt] ;cx - ¨¤¥ªá £« ¢®© ¨ª®ª¨ ¤®¡ ¢«ï¥¬®£® ®¡ê¥ªâ
|
||||
|
||||
cmp ecx,count_main_icons ;¢ áâ àè¨å ¡¨â å ecx ¡ã¤ãâ 0, ¯®â®¬ã ®âà¨æ ⥫ìë¥ ç¨á« ⮦¥ ¯à®¢¥àïîâáï
|
||||
jl .end_0
|
||||
;¥á«¨ ¨ª®ª¨ ¥â, ¯® 㬮«ç ¨î ¡¥à¥¬ 0-î
|
||||
xor cx,cx
|
||||
.end_0:
|
||||
|
||||
shl ecx,16
|
||||
stdcall mem_clear, u_object,sizeof.object
|
||||
mov ebx,dword[eax]
|
||||
@ -888,6 +890,84 @@ align 4
|
||||
but_ctrl_s:
|
||||
ret
|
||||
|
||||
;®âªàë⨥ ¨ à ᯠª®¢ª ä ©« ¯®¤á¢¥âª¨ á¨â ªá¨á
|
||||
;input:
|
||||
; ted_syntax_file - ¡ãä¥à ¤«ï ®âªàë¢ ¥¬®£® ä ©« á¨â ªá¨á
|
||||
; ted_syntax_file_size - à §¬¥à ®âªàë¢ ¥¬®£® ä ©« á¨â ªá¨á
|
||||
;output:
|
||||
; ebx - ç¨á«® ¯à®ç¨â ëå ¡ ©â ¨§ ä ©«
|
||||
align 4
|
||||
open_unpac_synt_file:
|
||||
push eax edi esi
|
||||
mov edi, tedit0
|
||||
mov [run_file_70.Function], 0
|
||||
mov [run_file_70.Position], 0
|
||||
mov [run_file_70.Flags], 0
|
||||
mov ecx, ted_syntax_file_size
|
||||
mov dword[run_file_70.Count], ecx
|
||||
m2m dword[run_file_70.Buffer], ted_syntax_file
|
||||
mov byte[run_file_70+20], 0
|
||||
mov [run_file_70.FileName], file_name
|
||||
mcall 70, run_file_70
|
||||
cmp ebx,-1
|
||||
jne .end_0
|
||||
;¥á«¨ ¢®§¨ª«¨ ®è¨¡ª¨ ¯à¨ ®âªàë⨨ ä ©« á¨â ªá¨á
|
||||
mov byte[txt_not_syntax_file.err],'0'
|
||||
add byte[txt_not_syntax_file.err],al
|
||||
notify_window_run txt_not_syntax_file ;Can-t open color options file!
|
||||
jmp @f
|
||||
.end_0:
|
||||
|
||||
mov eax,ted_syntax_file
|
||||
cmp dword[eax],'KPCK'
|
||||
jne .end_unpack
|
||||
|
||||
mov ecx,dword[eax+4] ;ecx - à §¬¥à ä ©« á¨â ªá¨á ¯®á«¥ à ᯠª®¢ª¨
|
||||
cmp dword[unpac_mem],0
|
||||
jne .end_1
|
||||
;¯¥à¢® ç «ì®¥ ¢ë¤¥«¥¨¥ ¢à¥¬¥®© ¯ ¬ï⨠¤«ï à ᯠª®¢ª¨ ä ©«
|
||||
stdcall mem.Alloc,ecx
|
||||
mov [unpac_mem],eax
|
||||
mov [unpac_mem_size],ecx
|
||||
.end_1:
|
||||
cmp dword[unpac_mem_size],ecx
|
||||
jge .end_2
|
||||
;¥á«¨ ¤«ï à ᯠª®¢ ®£® ä ©« ¥ å¢ â ¥â ¢à¥¬¥®© ¯ ¬ïâ¨
|
||||
stdcall mem.ReAlloc,[unpac_mem],ecx ;§ ®¢® ¢ë¤¥«ï¥¬ ¢à¥¬¥ãî ¯ ¬ïâì
|
||||
mov [unpac_mem],eax
|
||||
mov [unpac_mem_size],ecx
|
||||
.end_2:
|
||||
|
||||
;à ᯠª®¢ª ä ©« ¢® ¢à¥¬¥ãî ¯ ¬ïâì
|
||||
stdcall unpack,ted_syntax_file,[unpac_mem]
|
||||
|
||||
cmp ted_syntax_file_size,ecx
|
||||
jge .end_3
|
||||
;¥á«¨ ¤«ï à ᯠª®¢ ®£® ä ©« ¥ å¢ â ¥â ¯ ¬ïâ¨
|
||||
stdcall mem.ReAlloc,ted_syntax_file,ecx ;§ ®¢® ¢ë¤¥«ï¥¬ ¯ ¬ïâì
|
||||
mov ted_syntax_file,eax
|
||||
mov ted_syntax_file_size,ecx
|
||||
.end_3:
|
||||
|
||||
;ª®¯¨à®¢ ¨¥ à ᯠª®¢ ®£® ä ©« ¨§ ¢à¥¬¥®© ¯ ¬ï⨠¢ ¯ ¬ïâì í«¥¬¥â
|
||||
mov edi,ted_syntax_file
|
||||
mov esi,[unpac_mem]
|
||||
cld
|
||||
rep movsb
|
||||
|
||||
.end_unpack:
|
||||
;¯à¨¬¥¥¨¥ ä ©« ¯®¤á¢¥âª¨
|
||||
stdcall [ted_init_syntax_file], tedit0
|
||||
@@:
|
||||
pop esi edi eax
|
||||
ret
|
||||
|
||||
align 4
|
||||
txt_not_syntax_file:
|
||||
db 'Žè¨¡ª ¯à¨ ®âªàë⨨ ä ©« á 梥⮢묨 áâனª ¬¨! (Š®¤ ®è¨¡ª¨ ='
|
||||
.err: db '?'
|
||||
db ')',0
|
||||
|
||||
align 4
|
||||
buf_fon: ;ä®®¢ë© ¡ãä¥à
|
||||
dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï
|
||||
@ -942,6 +1022,8 @@ txtErrIni1 db '
|
||||
err_opn db 0 ;१. ®âªàëâ¨ï ä ©« ¯à®íªâ
|
||||
err_ini0 db 0 ;१. ®âªàëâ¨ï ä ©« á ¨ª®ª ¬¨
|
||||
err_ini1 db 0 ;१. ®âªàëâ¨ï ä ©« á ®¯æ¨ï¬¨
|
||||
unpac_mem dd 0
|
||||
unpac_mem_size dd 0
|
||||
|
||||
edit1 edit_box 210, 10, 5, 0xffffff, 0xff80, 0xff, 0xff0000, 0x4080, 300, ed_text1, mouse_dd, 0, 7, 7
|
||||
|
||||
@ -1094,17 +1176,7 @@ rb 4+4
|
||||
.delta dw 0 ;+44
|
||||
.delta2 dw 0 ;+46
|
||||
.run_x:
|
||||
.r_size_x dw 0 ;+48
|
||||
.r_start_x dw 0 ;+50
|
||||
.run_y:
|
||||
.r_size_y dw 0 ;+52
|
||||
.r_start_y dw 0 ;+54
|
||||
.m_pos dd 0 ;+56
|
||||
.m_pos_2 dd 0 ;+60
|
||||
.m_keys dd 0 ;+64
|
||||
.run_size dd 0 ;+68
|
||||
.position2 dd 0 ;+72
|
||||
.work_size dd 0 ;+76
|
||||
rb 32
|
||||
.all_redraw dd 0 ;+80
|
||||
.ar_offset dd 1 ;+84
|
||||
;---------------------------------------------------------------------
|
||||
@ -1127,17 +1199,7 @@ rb 4+4
|
||||
.delta dw 0 ;+44
|
||||
.delta2 dw 0 ;+46
|
||||
.run_x:
|
||||
.r_size_x dw 0 ;+48
|
||||
.r_start_x dw 0 ;+50
|
||||
.run_y:
|
||||
.r_size_y dw 0 ;+52
|
||||
.r_start_y dw 0 ;+54
|
||||
.m_pos dd 0 ;+56
|
||||
.m_pos_2 dd 0 ;+60
|
||||
.m_keys dd 0 ;+64
|
||||
.run_size dd 0 ;+68
|
||||
.position2 dd 0 ;+72
|
||||
.work_size dd 0 ;+76
|
||||
rb 32
|
||||
.all_redraw dd 0 ;+80
|
||||
.ar_offset dd 1 ;+84
|
||||
|
||||
@ -1156,7 +1218,7 @@ rb 4+4
|
||||
.line_col dd 0 ;+36
|
||||
rb 4+2+2
|
||||
.run_x:
|
||||
rb 2+2+2+2+4+4+4+4+4+4
|
||||
rb 32
|
||||
.all_redraw dd 0 ;+80
|
||||
.ar_offset dd 1 ;+84
|
||||
|
||||
@ -1173,7 +1235,7 @@ rb 4+4
|
||||
.line_col dd 0 ;+36
|
||||
rb 4+2+2
|
||||
.run_x:
|
||||
rb 2+2+2+2+4+4+4+4+4+4
|
||||
rb 32
|
||||
.all_redraw dd 0 ;+80
|
||||
.ar_offset dd 1 ;+84
|
||||
|
||||
@ -1197,8 +1259,6 @@ foc_obj dd 0 ;
|
||||
obj_count_txt_props dd 0 ;ª®«¨ç¥á⢮ ¨á¯®«ì§ã¥¬ëå ⥪á⮢ëå ᢮©áâ¢
|
||||
obj_m_win dd 0 ;áâàãªâãà £« ¢®£® ®ª
|
||||
|
||||
txt_not_syntax_file db '<27>¥ ©¤¥ ä ©« ¤«ï ¯®¤á¢¥âª¨ á¨â ªá¨á .',0
|
||||
|
||||
;
|
||||
if 1 ;lang eq ru
|
||||
|
||||
@ -1508,7 +1568,9 @@ procinfo process_information
|
||||
run_file_70 FileInfoBlock
|
||||
open_b rb 560
|
||||
|
||||
IncludeIGlobals
|
||||
i_end:
|
||||
IncludeUGlobals
|
||||
buf_cmd_lin rb 1024
|
||||
file_name rb 1024 ;icon file path
|
||||
fp_obj_opt rb 1024 ;obj options file patch
|
||||
|
Loading…
Reference in New Issue
Block a user