55,7 → 55,6 |
|
call get_communication_area |
|
|
load_libraries l_libs_start,end_l_libs |
test eax,eax |
jnz button.exit |
279,6 → 278,8 |
jmp change_focus_area |
;--------------------------------------------------------------------- |
change_focus_area_press_Tab_key: |
cmp [open_dialog_type],1 |
jne still |
mov al,[Tab_key_block] |
test al,al |
jnz still |
288,6 → 289,8 |
jmp still |
;--------------------------------------------------------------------- |
change_focus_area_check_Tab_key: |
cmp [open_dialog_type],1 |
jne still |
xor eax,eax |
mov [Tab_key_block],al |
mov al,[Tab_key] |
331,33 → 334,54 |
call [edit_box_key] |
jmp still |
.13: |
cmp [open_dialog_type],2 ; Select dir |
je file_no_folder |
cmp [open_dialog_type],1 ; Save file |
jne .load_dir |
inc [open_dialog_type] |
; cmp [open_dialog_type],2 ; Select dir |
; je file_no_folder |
; cmp [open_dialog_type],1 ; Save file |
; jne user_selected_name_action ; load_dir |
; inc [open_dialog_type] |
jmp file_no_folder |
.load_dir: |
mov [file_browser_data_1.select_panel_counter],1 |
xor eax,eax |
mov [focus_pointer],al |
mcall 66, 1, 1 |
;.load_dir: |
; mov [file_browser_data_1.select_panel_counter],1 |
; xor eax,eax |
; mov [focus_pointer],al |
; mcall 66,1,1 |
|
xor eax,eax |
; xor eax,eax |
; mov esi,dir_pach |
; cld |
;@@: |
; lodsb |
; test al,al |
; jne @r |
; sub esi,2 |
; cmp [esi],byte '/' |
; jne @f |
; xor eax,eax |
; mov [esi],al |
;@@: |
; call load_next_dir.1 |
; jmp still |
;--------------------------------------------------------------------- |
user_selected_name_action: |
mov eax,[communication_area] |
test eax,eax |
jnz @f |
call control_minimal_window_size |
call draw_window |
ret |
@@: |
add eax,4 |
;copy_path user_selected_name,dir_pach,eax,0 |
mov esi,dir_pach |
cld |
@@: |
lodsb |
test al,al |
jne @r |
sub esi,2 |
cmp [esi],byte '/' |
jne @f |
xor eax,eax |
mov [esi],al |
@@: |
call load_next_dir.1 |
jmp still |
mov edi,eax |
call copy_dir_name |
mov [edi-1],byte '/' |
mov esi,user_selected_name |
call copy_dir_name |
|
mov eax,[communication_area] |
mov [eax],word 1 |
jmp button.exit |
;--------------------------------------------------------------------- |
select_disk: |
call check_alt |
510,9 → 534,9 |
cmp ah,6 |
je .reload_dir_1 |
cmp ah,4 |
je .open_dir_or_file |
cmp ah,3 |
je .exit |
cmp ah,3 |
je .open_dir_or_file |
cmp ah,2 |
je .exit_dir |
cmp ah, 1 |
545,8 → 569,13 |
.open_dir_or_file: |
cmp [open_dialog_type],2 ;Select dir |
je file_no_folder |
; cmp [open_dialog_type],1 ;Save file |
; je file_no_folder |
|
cmp [open_dialog_type],1 ;Save file |
jne @f |
mov al,[focus_pointer] |
test al,al |
jne file_no_folder |
@@: |
xor ebx,ebx |
jmp key.7 |
;--------------------------------------------------------------------- |
671,7 → 700,7 |
|
mov eax,file_browser_data_1.mouse_keys_delta |
cmp [eax],dword 3 |
jne .check_focus ;.scrollbar |
jne .check_focus ; scrollbar |
mov [eax],dword 0 |
call load_next_dir |
jmp still |
743,6 → 772,8 |
jmp .menu_bar_1 |
;--------------------------------------------------- |
.check_editboxes: |
cmp [open_dialog_type],1 |
jne .check_scroll_event |
mov eax,[edit1+44] |
and eax,10b |
push dword name_editboxes |
906,18 → 937,30 |
load_start_directory: |
mov eax,[communication_area] |
test eax,eax |
jz @f |
jz .1 |
movzx ebx,word [eax] |
test eax,eax |
jz @f |
jz .1 |
add eax,4 |
mov esi,eax |
jmp .1 |
push esi |
mov esi,[communication_area] |
add esi,4096-256 |
mov eax,[esi] |
test eax,eax |
jnz @f |
mov esi,example_name_temp |
@@: |
mov edi,user_selected_name |
call copy_dir_name |
pop esi |
jmp .2 |
.1: |
mov esi,start_pach |
.1: |
.2: |
mov edi,dir_pach |
call copy_dir_name |
|
call load_directory |
mov eax,[N_error] |
test eax,eax |
1026,7 → 1069,12 |
mov esi,dir_pach |
mov edi,file_name |
call copy_dir_name |
|
push ebx |
mov al,[focus_pointer] |
test al,al |
je @f |
mov ebx,user_selected_name |
@@: |
cmp [open_dialog_type],2 |
je @f |
mov esi,file_name |
1037,6 → 1085,7 |
jnz @f |
call control_minimal_window_size |
call draw_window |
pop ebx |
ret |
@@: |
mov edi,eax |
1043,6 → 1092,17 |
add edi,4 |
mov esi,file_name |
call copy_dir_name |
|
pop esi |
mov al,[focus_pointer] |
test al,al |
jz @f |
mov esi,user_selected_name |
@@: |
mov edi,[communication_area] |
add edi,4096-256 |
call copy_dir_name |
|
mov eax,[communication_area] |
mov [eax],word 1 |
jmp button.exit |
1266,8 → 1326,18 |
mcall 8,,,3 |
|
pusha |
|
shr ecx,16 |
mov bx,cx |
add ebx,6 shl 16+ 4 |
mcall 4,,0x90000000,message_cancel_button |
popa |
|
sub ebx,65 shl 16 |
mcall 8,,,4 |
|
shr ecx,16 |
mov bx,cx |
add ebx,12 shl 16+ 4 |
|
mov edx,[open_dialog_type] |
1281,18 → 1351,7 |
@@: |
|
mcall 4,,0x90000000 ;message_open_button |
popa |
|
|
sub ebx, 65 shl 16 |
mcall 8,,,4 |
|
shr ecx,16 |
mov bx,cx |
add ebx,6 shl 16+ 4 |
mcall 4,,0x90000000,message_cancel_button |
|
|
; mcall 47,0x80000,[file_browser_data_1.ini_file_start],<250, 0>,0x0 |
; mcall 4, <3, 420>, 0, fb_extension_start, 3 |
mcall 12,2 |
1358,42 → 1417,112 |
|
ret |
;--------------------------------------------------------------------- |
draw_dir_pach: |
mov esi,dir_pach |
draw_file_name: |
mov esi,user_selected_name |
cld |
@@: |
lodsb |
test al,al |
jne @r |
sub esi,dir_pach |
sub esi,user_selected_name |
mov eax,esi |
dec eax |
|
mov edi, edit1 |
mov [edi+48], eax ;ed_size |
mov [edi+52], eax ;ed_pos |
|
;-------------------------------------- |
mov eax,[file_browser_data_1.x] |
mov ebx,eax |
shr ebx,16 |
and eax,0xffff |
|
sub eax,200 |
mov [edi],eax |
add ebx,70 |
mov [edi+4],ebx |
|
mov eax,[file_browser_data_1.y] |
mov ebx,eax |
shr ebx,16 |
and eax,0xffff |
add eax,ebx |
add eax,5 |
mov [edi+8],eax |
|
push dword name_editboxes |
call [edit_box_draw] |
|
mov bx,[file_browser_data_1.start_x] |
add bx,5 |
shl ebx,16 |
mov bx,[file_browser_data_1.start_y] |
add bx,[file_browser_data_1.size_y] |
add bx,9 |
mcall 4,,0x80000000,message_file_name |
ret |
;--------------------------------------------------------------------- |
draw_dir_pach: |
mov eax,[file_browser_data_1.x] |
mov ebx,eax |
shr ebx,16 |
add ebx,3 |
and eax,0xffff |
sub eax,5 |
|
draw_dir_pach_1: |
mov [PathShow_data_1.area_size_x],ax |
mov [PathShow_data_1.start_x],bx |
;-------------------------------------- |
; top line |
mov ebx,[file_browser_data_1.x] |
mcall 13,,<7,15>,0xffffb0 |
mov bx,10 |
add ebx,4 shl 16 |
mcall 4,,0xC0000000,dir_pach,,0xffffb0 |
mcall 13,,<7,1>,0x0 |
; down line |
push ebx ecx |
mcall ,,<21,1>, |
pop ecx ebx |
; left line |
push ebx |
mov bx,1 |
mov cx,15 |
mcall |
pop ebx |
; right line |
mov ax,bx |
shr ebx,16 |
add bx,ax |
dec ebx |
shl ebx,16 |
mov bx,1 |
mcall 13 |
;-------------------------------------- |
mov ebx,[file_browser_data_1.x] |
sub ebx,2 |
add ebx,1 shl 16 |
mcall 13,,<8,13>,0xffffff |
;-------------------------------------- |
; prepare for PathShow |
push dword PathShow_data_1 |
call [PathShow_prepare] |
|
; draw for PathShow |
push dword PathShow_data_1 |
call [PathShow_draw] |
|
ret |
|
;draw_dir_pach_1: |
; mov ebx,[file_browser_data_1.x] |
; mcall 13,,<7,15>,0xffffb0 |
; mov bx,10 |
; add ebx,4 shl 16 |
; mcall 4,,0xC0000000,dir_pach,,0xffffb0 |
; ret |
;--------------------------------------------------------------------- |
draw_draw_file_browser1: |
call draw_dir_pach |
cmp [open_dialog_type],1 |
jne @f |
call draw_file_name |
@@: |
xor eax,eax |
inc eax |
mov [file_browser_data_1.all_redraw],eax |
1685,6 → 1814,8 |
ret |
;--------------------------------------------------------------------- |
check_filter: |
cmp [open_dialog_type],2 ; Select dir |
je .1 |
xor eax,eax |
mov al,[filter_flag] |
test eax,eax |
1696,6 → 1827,7 |
mov eax,[eax+4096] |
test eax,eax |
jz @f |
.1: |
call delete_unsupported_BDFE |
@@: |
ret |
2177,22 → 2309,22 |
edit_box_mouse dd aEdit_box_mouse |
;version_ed dd aVersion_ed |
|
check_box_draw dd aCheck_box_draw |
check_box_mouse dd aCheck_box_mouse |
;check_box_draw dd aCheck_box_draw |
;check_box_mouse dd aCheck_box_mouse |
;version_ch dd aVersion_ch |
|
option_box_draw dd aOption_box_draw |
option_box_mouse dd aOption_box_mouse |
;option_box_draw dd aOption_box_draw |
;option_box_mouse dd aOption_box_mouse |
;version_op dd aVersion_op |
|
scrollbar_ver_draw dd aScrollbar_ver_draw |
scrollbar_ver_mouse dd aScrollbar_ver_mouse |
scrollbar_hor_draw dd aScrollbar_hor_draw |
scrollbar_hor_mouse dd aScrollbar_hor_mouse |
;scrollbar_hor_draw dd aScrollbar_hor_draw |
;scrollbar_hor_mouse dd aScrollbar_hor_mouse |
;version_scrollbar dd aVersion_scrollbar |
|
dinamic_button_draw dd aDbutton_draw |
dinamic_button_mouse dd aDbutton_mouse |
;dinamic_button_draw dd aDbutton_draw |
;dinamic_button_mouse dd aDbutton_mouse |
;version_dbutton dd aVersion_dbutton |
|
menu_bar_draw dd aMenu_bar_draw |
2204,6 → 2336,10 |
FileBrowser_mouse dd aFileBrowser_mouse |
FileBrowser_key dd aFileBrowser_key |
;Version_FileBrowser dd aVersion_FileBrowser |
|
PathShow_prepare dd sz_PathShow_prepare |
PathShow_draw dd sz_PathShow_draw |
;Version_path_show dd szVersion_path_show |
dd 0 |
dd 0 |
|
2215,22 → 2351,22 |
aEdit_box_mouse db 'edit_box_mouse',0 |
;aVersion_ed db 'version_ed',0 |
|
aCheck_box_draw db 'check_box_draw',0 |
aCheck_box_mouse db 'check_box_mouse',0 |
;aCheck_box_draw db 'check_box_draw',0 |
;aCheck_box_mouse db 'check_box_mouse',0 |
;aVersion_ch db 'version_ch',0 |
|
aOption_box_draw db 'option_box_draw',0 |
aOption_box_mouse db 'option_box_mouse',0 |
;aOption_box_draw db 'option_box_draw',0 |
;aOption_box_mouse db 'option_box_mouse',0 |
;aVersion_op db 'version_op',0 |
|
aScrollbar_ver_draw db 'scrollbar_v_draw',0 |
aScrollbar_ver_mouse db 'scrollbar_v_mouse',0 |
aScrollbar_hor_draw db 'scrollbar_h_draw',0 |
aScrollbar_hor_mouse db 'scrollbar_h_mouse',0 |
;aScrollbar_hor_draw db 'scrollbar_h_draw',0 |
;aScrollbar_hor_mouse db 'scrollbar_h_mouse',0 |
;aVersion_scrollbar db 'version_scrollbar',0 |
|
aDbutton_draw db 'dbutton_draw',0 |
aDbutton_mouse db 'dbutton_mouse',0 |
;aDbutton_draw db 'dbutton_draw',0 |
;aDbutton_mouse db 'dbutton_mouse',0 |
;aVersion_dbutton db 'version_dbutton',0 |
|
aMenu_bar_draw db 'menu_bar_draw',0 |
2242,6 → 2378,10 |
aFileBrowser_mouse db 'FileBrowser_mouse',0 |
aFileBrowser_key db 'FileBrowser_key',0 |
;aVersion_FileBrowser db 'version_FileBrowser',0 |
|
sz_PathShow_prepare db 'PathShow_prepare',0 |
sz_PathShow_draw db 'PathShow_draw',0 |
;szVersion_path_show db 'version_PathShow',0 |
;--------------------------------------------------------------------- |
;--------------------------------------------------------------------- |
align 4 |
2260,6 → 2400,7 |
retrieved_devices_table_counter dd 0 |
communication_area dd 0 |
open_dialog_type dd 0 |
|
open_dialog_title_pointer: |
dd title_0 |
dd title_1 |
2413,6 → 2554,9 |
message_ExitDir_button: |
db '^',0 |
|
message_file_name: |
db 'File name:',0 |
|
message_0: |
db 'Open',0 |
message_1: |
2671,10 → 2815,24 |
.mouse_pos_old dd 0 ;+196 |
.marked_counter dd 0 ;+200 |
;--------------------------------------------------------------------- |
PathShow_data_1: |
.type dd 0 ;+0 |
.start_y dw 11 ;+4 |
.start_x dw 10 ;+6 |
.font_size_x dw 6 ;+8 ; 6 - for font 0, 8 - for font 1 |
.area_size_x dw 200 ;+10 |
.font_number dd 0 ;+12 ; 0 - monospace, 1 - variable |
.background_flag dd 0 ;+16 |
.font_color dd 0x0 ;+20 |
.background_color dd 0x0 ;+24 |
.text_pointer dd dir_pach ;+28 |
.work_area_pointer dd text_work_area ;+32 |
.temp_text_length dd 0 ;+36 |
;--------------------------------------------------------------------- |
; for EDITBOX |
align 4 |
name_editboxes: |
edit1 edit_box 200,10,7,0xffffff,0xbbddff,0,0,0,4095,dir_pach,mouse_dd,,0 |
edit1 edit_box 200,10,7,0xffffff,0xbbddff,0,0,0,4095,user_selected_name,mouse_dd,,0 |
name_editboxes_end: |
|
;mouse_flag: dd 0x0 |
2695,6 → 2853,9 |
.year_table: |
db ' ' |
;--------------------------------------------------------------------- |
example_name_temp: |
db 'temp1.asm',0 |
;--------------------------------------------------------------------- |
IM_END: |
menu_text_area_1_1: |
rb 256 |
2712,6 → 2873,9 |
name_temp_area: |
rb 256 |
;--------------------------------------------------------------------- |
user_selected_name: |
rb 256 |
;--------------------------------------------------------------------- |
param: |
rb 256 |
;--------------------------------------------------------------------- |
2724,6 → 2888,9 |
dir_pach: |
rb 4096 |
;--------------------------------------------------------------------- |
text_work_area: |
rb 1024 |
;--------------------------------------------------------------------- |
procinfo: |
process_info: |
rb 1024 |
2731,4 → 2898,3 |
file_info: |
rb 40 |
I_END: |
|