forked from KolibriOS/kolibrios
update:
1) 'kol_f_edit' 2) documentation 'info_checkbox.htm' git-svn-id: svn://kolibrios.org@1714 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
f19e882566
commit
210849b561
@ -164,7 +164,7 @@ push ebx
|
||||
cmp eax,0
|
||||
je .find_no
|
||||
|
||||
cmp byte[eax],C_ST
|
||||
cmp byte[eax],C_STR
|
||||
jne @f
|
||||
stdcall get_code_struct,eax ;îáðàáîòêà îáúåêòà
|
||||
stdcall dword[tl_node_poi_get_next_info], esi,tree2
|
||||
@ -181,31 +181,31 @@ push ebx
|
||||
stdcall [ted_text_add], tedit0,txt_ends,6,ted_opt_ed_move_cursor
|
||||
jmp .beg_iterat
|
||||
@@:
|
||||
cmp byte[eax],C_TT
|
||||
cmp byte[eax],C_TXT
|
||||
jne @f
|
||||
stdcall get_code_text,eax ;îáðàáîòêà îáúåêòà
|
||||
@@:
|
||||
cmp byte[eax],C_IN
|
||||
cmp byte[eax],C_INC
|
||||
jne @f
|
||||
stdcall get_code_incl,eax ;îáðàáîòêà îáúåêòà
|
||||
@@:
|
||||
cmp byte[eax],C_CO
|
||||
cmp byte[eax],C_COM
|
||||
jne @f
|
||||
stdcall get_code_comment,eax ;îáðàáîòêà îáúåêòà
|
||||
@@:
|
||||
cmp byte[eax],C_VR
|
||||
cmp byte[eax],C_VAR
|
||||
jne @f
|
||||
stdcall get_code_variable,eax,ebx ;îáðàáîòêà îáúåêòà
|
||||
@@:
|
||||
cmp byte[eax],C_WI
|
||||
cmp byte[eax],C_WND
|
||||
jne @f
|
||||
stdcall get_code_window,eax ;îáðàáîòêà îáúåêòà
|
||||
@@:
|
||||
cmp byte[eax],C_AC
|
||||
cmp byte[eax],C_ACO
|
||||
jne @f
|
||||
stdcall get_code_auto,eax ;îáðàáîòêà îáúåêòà
|
||||
@@:
|
||||
cmp byte[eax],C_KE ;êëàâèàòóðà
|
||||
cmp byte[eax],C_KEY ;êëàâèàòóðà
|
||||
jne @f
|
||||
stdcall get_code_key,eax ;îáðàáîòêà îáúåêòà
|
||||
@@:
|
||||
@ -298,7 +298,7 @@ proc get_code_auto_m
|
||||
cmp ebx,0
|
||||
je .find_no
|
||||
|
||||
cmp byte[ebx],C_ED
|
||||
cmp byte[ebx],C_EDB
|
||||
jne @f
|
||||
stdcall insert_text, txt_std_mouse_ed
|
||||
;insert_sp
|
||||
@ -307,7 +307,7 @@ proc get_code_auto_m
|
||||
stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor
|
||||
insert_nl
|
||||
@@:
|
||||
cmp byte[ebx],C_CB
|
||||
cmp byte[ebx],C_CHB
|
||||
jne @f
|
||||
stdcall insert_text, txt_std_mouse_cb
|
||||
;insert_sp
|
||||
@ -343,7 +343,7 @@ proc get_code_auto_data_el
|
||||
cmp ebx,0
|
||||
je .find_no
|
||||
|
||||
cmp byte[ebx],C_ED
|
||||
cmp byte[ebx],C_EDB
|
||||
jne @f
|
||||
;1,2,3,4,...,6,...8,...,10 - w,x,y,col_fon,...,col_frame,...,col_txt,...,txt
|
||||
stdcall insert_text_prop, ebx,0
|
||||
@ -362,7 +362,7 @@ proc get_code_auto_data_el
|
||||
stdcall insert_text, txt_txt
|
||||
|
||||
mov edx,fp_icon
|
||||
stdcall get_obj_id, ebx,edx
|
||||
stdcall get_obj_id_str, ebx,edx
|
||||
stdcall insert_text,edx
|
||||
|
||||
stdcall insert_text, txt_mouse_dd
|
||||
@ -396,11 +396,11 @@ proc get_code_auto_data_el
|
||||
.null_string:
|
||||
insert_nl
|
||||
@@:
|
||||
cmp byte[ebx],C_DT
|
||||
cmp byte[ebx],C_DTT
|
||||
jne @f
|
||||
stdcall insert_text, txt_txt
|
||||
mov edx,fp_icon
|
||||
stdcall get_obj_id, ebx,edx
|
||||
stdcall get_obj_id_str, ebx,edx
|
||||
stdcall insert_text,edx
|
||||
stdcall insert_text, txt_db
|
||||
stdcall insert_text_prop, ebx,0
|
||||
@ -440,7 +440,7 @@ proc get_code_auto_data_libs_param
|
||||
stdcall insert_text, txt_sys_dir
|
||||
;object code
|
||||
mov edx,fp_icon
|
||||
stdcall get_obj_id, ebx,edx
|
||||
stdcall get_obj_id_str, ebx,edx
|
||||
stdcall insert_text,edx
|
||||
stdcall insert_text,txt_db
|
||||
;stdcall insert_text, txt_str_beg
|
||||
@ -508,7 +508,7 @@ proc get_code_auto_data_libs_struc
|
||||
stdcall insert_text, txt_lib
|
||||
;object code
|
||||
mov edx,fp_icon
|
||||
stdcall get_obj_id, ebx,edx
|
||||
stdcall get_obj_id_str, ebx,edx
|
||||
stdcall insert_text,edx
|
||||
insert_sp
|
||||
stdcall insert_text, txt_ll
|
||||
@ -666,12 +666,12 @@ proc get_code_auto_data_dop
|
||||
cmp ebx,0
|
||||
je .find_no
|
||||
|
||||
cmp byte[ebx],C_ED
|
||||
cmp byte[ebx],C_EDB
|
||||
jne @f
|
||||
;1,2,3,4,...,6,...8,...,10 - w,x,y,col_fon,...,col_frame,...,col_txt,...,txt
|
||||
stdcall insert_text, txt_txt
|
||||
mov edx,fp_icon
|
||||
stdcall get_obj_id, ebx,edx
|
||||
stdcall get_obj_id_str, ebx,edx
|
||||
stdcall insert_text,edx
|
||||
|
||||
stdcall get_obj_text_col,ebx,10
|
||||
@ -690,7 +690,7 @@ proc get_code_auto_data_dop
|
||||
stdcall insert_text, txt_rb
|
||||
stdcall insert_text, txt_txt
|
||||
mov edx,fp_icon
|
||||
stdcall get_obj_id, ebx,edx
|
||||
stdcall get_obj_id_str, ebx,edx
|
||||
stdcall insert_text,edx
|
||||
|
||||
stdcall insert_text, txt_minus
|
||||
@ -717,7 +717,7 @@ proc get_code_auto_data_dop
|
||||
insert_0
|
||||
insert_nl
|
||||
@@:
|
||||
;cmp byte[ebx],C_CB
|
||||
;cmp byte[ebx],C_CHB
|
||||
;jne @f
|
||||
;@@:
|
||||
|
||||
@ -745,7 +745,7 @@ proc get_code_auto_but
|
||||
cmp ebx,0
|
||||
je .find_no
|
||||
|
||||
cmp byte[ebx],C_BU
|
||||
cmp byte[ebx],C_BUT
|
||||
jne @f
|
||||
insert_tab
|
||||
insert_cmp
|
||||
@ -797,7 +797,7 @@ proc get_code_a_but_fun
|
||||
cmp ebx,0
|
||||
je .find_no
|
||||
|
||||
cmp byte[ebx],C_BU
|
||||
cmp byte[ebx],C_BUT
|
||||
jne @f
|
||||
stdcall get_obj_text_col,ebx,6
|
||||
stdcall str_len,edx
|
||||
@ -851,7 +851,7 @@ proc get_code_funct_key
|
||||
cmp ebx,0
|
||||
je .find_no
|
||||
|
||||
cmp byte[ebx],C_ED
|
||||
cmp byte[ebx],C_EDB
|
||||
jne @f
|
||||
stdcall insert_text, txt_std_key_ed
|
||||
stdcall insert_text_prop,ebx,0
|
||||
@ -984,19 +984,19 @@ proc get_code_draw_obj
|
||||
cmp ebx,0
|
||||
je .find_no
|
||||
|
||||
cmp byte[ebx],C_ED
|
||||
cmp byte[ebx],C_EDB
|
||||
jne @f
|
||||
stdcall insert_text, txt_editb_draw
|
||||
stdcall insert_text_prop, ebx,0
|
||||
insert_nl
|
||||
@@:
|
||||
cmp byte[ebx],C_CB
|
||||
cmp byte[ebx],C_CHB
|
||||
jne @f
|
||||
stdcall insert_text, txt_cbox_draw
|
||||
stdcall insert_text_prop, ebx,0
|
||||
insert_nl
|
||||
@@:
|
||||
cmp byte[ebx],C_BU
|
||||
cmp byte[ebx],C_BUT
|
||||
jne @f
|
||||
insert_tab
|
||||
stdcall insert_text, txt_mov
|
||||
@ -1048,7 +1048,7 @@ proc get_code_draw_obj
|
||||
stdcall insert_text, txt_i_40
|
||||
insert_nl
|
||||
@@:
|
||||
cmp byte[ebx],C_RE
|
||||
cmp byte[ebx],C_REC
|
||||
jne @f
|
||||
insert_tab
|
||||
stdcall insert_text, txt_mov
|
||||
@ -1087,7 +1087,7 @@ proc get_code_draw_obj
|
||||
stdcall insert_text, txt_i_40
|
||||
insert_nl
|
||||
@@:
|
||||
cmp byte[ebx],C_DT ;ðèñîâàíèå òåêñòà ÷åðåç ñèñò. ô. 4
|
||||
cmp byte[ebx],C_DTT ;ðèñîâàíèå òåêñòà ÷åðåç ñèñò. ô. 4
|
||||
jne @f
|
||||
insert_tab
|
||||
stdcall insert_text, txt_mov
|
||||
@ -1120,7 +1120,7 @@ proc get_code_draw_obj
|
||||
insert_coma
|
||||
stdcall insert_text, txt_txt
|
||||
mov edx,fp_icon
|
||||
stdcall get_obj_id, ebx,edx
|
||||
stdcall get_obj_id_str, ebx,edx
|
||||
stdcall insert_text,edx
|
||||
insert_nl
|
||||
|
||||
@ -1295,8 +1295,11 @@ txt_key_2:
|
||||
db 9,'jmp still',13
|
||||
txt_key_3:
|
||||
|
||||
;ïîëó÷àåì ïîðÿäêîâûé íîìåð îáúåêòà îòíîñèòåëüíî ïàìÿòè ýëåìåíòà tree2
|
||||
;output:
|
||||
; txt_buf - ñòðîêà ñ íîìåðîì îáúåêòà
|
||||
align 4
|
||||
proc get_obj_id, p_obj:dword, txt_buf:dword
|
||||
proc get_obj_id_str, p_obj:dword, txt_buf:dword
|
||||
push eax ecx edx
|
||||
mov eax,dword[p_obj]
|
||||
sub eax,[tree2.data_info]
|
||||
@ -1312,6 +1315,22 @@ proc get_obj_id, p_obj:dword, txt_buf:dword
|
||||
ret
|
||||
endp
|
||||
|
||||
;ïîëó÷àåì ïîðÿäêîâûé íîìåð îáúåêòà îòíîñèòåëüíî ïàìÿòè ýëåìåíòà tree2
|
||||
;output:
|
||||
; eax - íîìåð îáúåêòà
|
||||
align 4
|
||||
proc get_obj_id, p_obj:dword
|
||||
push ecx edx
|
||||
mov eax,dword[p_obj]
|
||||
sub eax,[tree2.data_info]
|
||||
xor edx,edx
|
||||
xor ecx,ecx
|
||||
mov cx,word[tree2.info_size]
|
||||
div ecx
|
||||
pop edx ecx
|
||||
ret
|
||||
endp
|
||||
|
||||
;--- òåêñòîâûå ôóíêöèè ---
|
||||
|
||||
align 4
|
||||
|
@ -24,7 +24,7 @@ pushad
|
||||
@@:
|
||||
|
||||
xor edx,edx
|
||||
mov dl,C_WI
|
||||
mov dl,C_WND
|
||||
stdcall find_obj_in_file,edx ;eax - 㪠§ ⥫ì áâàãªâãàã ®ª
|
||||
cmp eax,0
|
||||
je .end_draw
|
||||
@ -81,15 +81,15 @@ pushad
|
||||
.end_skin:
|
||||
|
||||
xor edx,edx ;à¨á㥬 £à ä¨ç¥áª¨¥ í«¥¬¥âë
|
||||
mov dl,C_BU
|
||||
mov dl,C_BUT
|
||||
stdcall draw_arr_objects, edx,draw_obj_but
|
||||
mov dl,C_ED
|
||||
mov dl,C_EDB
|
||||
stdcall draw_arr_objects, edx,draw_obj_edit
|
||||
mov dl,C_CB
|
||||
mov dl,C_CHB
|
||||
stdcall draw_arr_objects, edx,draw_obj_check
|
||||
mov dl,C_DT
|
||||
mov dl,C_DTT
|
||||
stdcall draw_arr_objects, edx,draw_obj_text
|
||||
mov dl,C_RE
|
||||
mov dl,C_REC
|
||||
stdcall draw_arr_objects, edx,draw_obj_rect_f13
|
||||
|
||||
.end_draw:
|
||||
|
@ -1,91 +1,3 @@
|
||||
align 4
|
||||
draw_obj_info: ;®ª® ᮠ᢮©á⢠¬¨ ®¡ê¥ªâ
|
||||
mov eax,13 ;rect
|
||||
mov edx,WND_CAPT_COLOR
|
||||
mov ebx,[wndObjI.left]
|
||||
shl ebx,16
|
||||
add ebx,[wndObjI.width]
|
||||
mov ecx,[wndObjI.top]
|
||||
add ecx,[recMain.top]
|
||||
shl ecx,16
|
||||
add ecx,[wndObjI.height]
|
||||
sub ecx,[recMain.top]
|
||||
mov edx,0xffffff ;0x80ffffff
|
||||
int 0x40 ;¯àאַ㣮«ì¨ª ¤«ï ®ª
|
||||
|
||||
mov ecx,[wndObjI.top] ;draw caption
|
||||
shl ecx,16
|
||||
add ecx,[recMain.top]
|
||||
mov edx,WND_CAPT_COLOR
|
||||
int 0x40
|
||||
|
||||
mov edx,[foc_obj] ;¡¥à¥¬ 㪠§ â¥«ì ®¡ê¥ªâ
|
||||
cmp edx,0
|
||||
je .exit_fun
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
pushad
|
||||
;draw caption wndObjI
|
||||
mov eax,4 ;¯®¤¯¨áì - §¢ ¨¥ ®¡ê¥ªâ
|
||||
|
||||
mov bl,[edx]
|
||||
call find_obj_in_opt
|
||||
mov edx,edi
|
||||
|
||||
mov ebx,[wndObjI.left]
|
||||
add ebx,[recMain.left]
|
||||
add ebx,4
|
||||
shl ebx,16
|
||||
add ebx,[wndObjI.top]
|
||||
add ebx,4
|
||||
mov ecx,0xc0d000ff
|
||||
mov edi,WND_CAPT_COLOR
|
||||
add edx,obj_opt.info-obj_opt
|
||||
int 0x40
|
||||
|
||||
mov eax,8 ;ª®¯ª ¤«ï á®åà ¥¨ï ¨§¬¥¥¨©
|
||||
mov ebx,[wndObjI.left]
|
||||
add ebx,119
|
||||
shl ebx,16
|
||||
add ebx,18
|
||||
mov ecx,[wndObjI.top]
|
||||
add ecx,1
|
||||
shl ecx,16
|
||||
add ecx,18
|
||||
mov edx,10
|
||||
mov esi,0xd040
|
||||
int 0x40
|
||||
|
||||
ror ebx,16 ;¢ëç¨á«ï¥¬ ª®®à¤¨ âë ¤«ï ¨ª®ª¨
|
||||
ror ecx,16
|
||||
and ebx,0xffff
|
||||
and ecx,0xffff
|
||||
inc ebx
|
||||
inc ecx
|
||||
stdcall draw_icon, 17,ebx,ecx ;17 - save
|
||||
|
||||
mov edi,edit2
|
||||
.cycle:
|
||||
stdcall [edit_box_draw], edi ;à¨á㥬 ¯®«ï ᮠ᢮©á⢠¬¨ ®¡ê¥ªâ
|
||||
add edi,ed_struc_size
|
||||
cmp edi,prop_wnd_edits_end
|
||||
jl .cycle
|
||||
|
||||
popad
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
xor ebx,ebx ;®¬¥à ¯®«ï
|
||||
.draw_column:
|
||||
mov eax,ebx
|
||||
imul eax,[recMain.height]
|
||||
add eax,[recMain.top]
|
||||
add eax,[wndObjI.top]
|
||||
stdcall draw_icon_obj,[edx],ebx,eax
|
||||
|
||||
inc ebx
|
||||
cmp ebx,MAX_OPT_FIELDS
|
||||
jl .draw_column
|
||||
.exit_fun:
|
||||
ret
|
||||
|
||||
;¯®¤¨¬ ¥¬ ®¡ê¥ªâ ¢¢¥àå ¯® ᯨáªã
|
||||
align 4
|
||||
@ -134,20 +46,47 @@ align 4
|
||||
but_element_change:
|
||||
;foc_obj - 㪠§ â¥«ì ¯®á«¥¤¨© ¢ë¡à ë© ã§¥« ¢ tree2
|
||||
cmp dword[foc_obj],0
|
||||
je @f
|
||||
je .err_obj
|
||||
pushad
|
||||
;ãáâ ®¢ª ⥪á⮢ëå ᢮©áâ¢
|
||||
xor ebx,ebx
|
||||
mov edi,edit2
|
||||
.cycle:
|
||||
@@:
|
||||
call get_obj_win_param
|
||||
inc ebx
|
||||
add edi,ed_struc_size
|
||||
cmp edi,prop_wnd_edits_end
|
||||
jl .cycle
|
||||
jl @b
|
||||
|
||||
;ãáâ ®¢ª áá뫪¨ ®¡ê¥ªâ ⨯
|
||||
mov edx,dword[foc_obj]
|
||||
mov dword[edx+u_object.typid-u_object],0 ; á«ãç © ¥á«¨ ¨ç¥£® ¥ ¢ë¡à ®
|
||||
stdcall [tl_node_get_data],tree3
|
||||
pop eax
|
||||
cmp eax,0
|
||||
je @f
|
||||
mov eax,dword[eax] ;¡¥à¥¬ ¯®à浪®¢ë© ®¬¥à (¢ ¯ ¬ïâ¨) ¢ë¡à ®£® ®¡ê¥ªâ
|
||||
mov dword[edx+u_object.typid-u_object],eax
|
||||
@@:
|
||||
|
||||
;ãáâ ®¢ª «®£¨ç¥áª¨å ᢮©áâ¢
|
||||
mov edi,ch1.flags
|
||||
mov eax,1
|
||||
xor ebx,ebx
|
||||
@@:
|
||||
bt dword[edi],1 ;¯®ç¥¬ã ®® âãâ ¥ à ¡®â ¥â ï ¥ § î ... ???
|
||||
jnc .opt_no_sel
|
||||
or ebx,eax ; ª®¯«¥¨¥ ®â¬¥ç¥ëå ®¯æ¨©
|
||||
.opt_no_sel:
|
||||
shl eax,1
|
||||
add edi,ch_struc_size
|
||||
cmp edi,check_boxes_end
|
||||
jl @b
|
||||
mov dword[edx+u_object.modif-u_object],ebx
|
||||
popad
|
||||
@@:
|
||||
.err_obj:
|
||||
call draw_constructor ;®¡®¢«ï¥¬ ®ª® ª®áâàãªâ®à
|
||||
call draw_window
|
||||
;call draw_window
|
||||
ret
|
||||
|
||||
;input:
|
||||
@ -259,7 +198,7 @@ pop ebx
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc draw_icon_obj, o_type:dword,n_col:dword, coord_y:dword
|
||||
proc draw_obj_icon, o_type:dword,n_col:dword, coord_y:dword
|
||||
pushad
|
||||
xor ebx,ebx
|
||||
mov bl,byte[o_type]
|
||||
@ -283,8 +222,7 @@ proc draw_icon_obj, o_type:dword,n_col:dword, coord_y:dword
|
||||
|
||||
mov eax,7
|
||||
mov ecx,0x100010 ;ecx - size:16*16
|
||||
mov edx,[wndObjI.left]
|
||||
add edx,3 ;®âáâ㯠®â «¥¢®£® ªà ï à ¬ª¨ ¤® ¨ª®ª¨
|
||||
mov edx,3 ;®âáâ㯠®â «¥¢®£® ªà ï à ¬ª¨ ¤® ¨ª®ª¨
|
||||
shl edx,16
|
||||
add edx,[coord_y]
|
||||
int 0x40
|
||||
@ -293,6 +231,54 @@ proc draw_icon_obj, o_type:dword,n_col:dword, coord_y:dword
|
||||
ret
|
||||
endp
|
||||
|
||||
;¢ë¢®¤ ⥪áâ á ¯®¤¯¨áìî
|
||||
align 4
|
||||
proc draw_obj_caption, o_type:dword,n_col:dword, coord_y:dword
|
||||
pushad
|
||||
stdcall get_obj_text_len_col, [foc_obj], [n_col] ;eax - ¤«¨ ¯®«ï
|
||||
cmp eax,1
|
||||
jl .no_draw
|
||||
|
||||
xor ebx,ebx
|
||||
mov bl,byte[o_type]
|
||||
call find_obj_in_opt
|
||||
|
||||
mov edx,edi
|
||||
add edx,obj_opt.caption-obj_opt
|
||||
|
||||
mov eax,[n_col]
|
||||
mov ebx,150
|
||||
shl ebx,16
|
||||
add ebx,dword[coord_y]
|
||||
add ebx,3
|
||||
mov ecx,0 ;text color
|
||||
|
||||
mov esi,edx
|
||||
.beg_found:
|
||||
cmp byte[esi],0
|
||||
je .end_found
|
||||
cmp byte[esi],'*'
|
||||
je @f
|
||||
inc esi
|
||||
jmp .beg_found
|
||||
@@:
|
||||
cmp eax,0
|
||||
je .end_found
|
||||
dec eax
|
||||
inc esi
|
||||
mov edx,esi ;¯¥à¥ª«îç ¥¬ ç «® áâப¨ á«¥¤. ¯®¤¯¨áì
|
||||
jmp .beg_found
|
||||
.end_found:
|
||||
cmp esi,edx
|
||||
jle .no_draw
|
||||
sub esi,edx ;esi = text len
|
||||
mov eax,4
|
||||
int 0x40
|
||||
.no_draw:
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc draw_icon, ind:dword,coord_x:dword,coord_y:dword
|
||||
pushad
|
||||
|
342
programs/develop/kol_f_edit/ced_wnd_prop.inc
Normal file
342
programs/develop/kol_f_edit/ced_wnd_prop.inc
Normal file
@ -0,0 +1,342 @@
|
||||
;
|
||||
; ¢ í⮬ ä ©«¥ ᮡà ë äãªæ¨¨ ã¦ë¥ ¤«ï ᮧ¤ ¨ï ¨
|
||||
; à ¡®âë ®ª ᮠ᢮©á⢠¬¨ ®¡ê¥ªâ
|
||||
;
|
||||
|
||||
prop_edits_top equ 25
|
||||
prop_edits_height equ 18
|
||||
prop_wnd_width equ 520 ;è¨à¨ ®ª ᮠ᢮©á⢠¬¨ ®¡ê¥ªâ
|
||||
|
||||
prop_wnd_run db 0 ;¯¥à¥¬¥ ï á«¥¤ïé ï § ⥬ çâ®-¡ë ¥ § ¯ã᪠âì ¡®«ìè¥ 1-£® ®ª ᮠ᢮©á⢠¬¨ ®¤®¢à¥¬¥®
|
||||
|
||||
;¤ ®¥ ®ª® (¯à®æ¥áá) ¢ë§ë¢ ¥âìáï äãªæ¨¥© on_file_object_select
|
||||
align 4
|
||||
prop_start:
|
||||
pushad
|
||||
mcall 40,0x27 ;¬ ᪠®¦¨¤ ¥¬ëå ᮡë⨩
|
||||
|
||||
; áâனª ⥪á⮢ëå ¯®«¥©
|
||||
xor ebx,ebx
|
||||
mov edi,edit2
|
||||
@@:
|
||||
stdcall set_obj_win_param, ebx,edi
|
||||
inc ebx
|
||||
add edi,ed_struc_size
|
||||
cmp edi,prop_wnd_edits_end
|
||||
jl @b
|
||||
|
||||
; áâனª ᯨ᪠®¡ê¥ªâ®¢, ®¯à¥¤¥«ïîé¨å â¨¯ë ¯¥à¥¬¥ëå
|
||||
stdcall dword[tl_data_init], tree3
|
||||
cmp byte[err_ini0],1
|
||||
je @f
|
||||
mov dword[tree3.data_img],bmp_icon
|
||||
@@:
|
||||
mov eax,dword[icon_tl_sys]
|
||||
mov dword[tree3.data_img_sys],eax
|
||||
|
||||
mov edx,[foc_obj]
|
||||
cmp byte[edx],C_VAR
|
||||
jne .sel_end
|
||||
|
||||
stdcall [tl_node_poi_get_info], 0,tree2
|
||||
pop edx
|
||||
@@:
|
||||
cmp edx,0
|
||||
je @f
|
||||
stdcall [tl_node_poi_get_data], edx,tree2
|
||||
pop esi ;¯®«ãç ¥¬ ¤ ë¥ ã§«
|
||||
;------ ¤®¡ ¢«¥¨¥ ®¡ê¥ªâ ¢ ᯨ᮪ -------------------------------------------
|
||||
mov ebx,[foc_obj]
|
||||
cmp ebx,esi
|
||||
je .add_end ;¨§¡¥£ ¥¬ 横«¨ç¥áª®© áá뫪¨
|
||||
mov bl,[esi]
|
||||
cmp bl,C_TDF
|
||||
je .add_beg
|
||||
cmp bl,C_STR
|
||||
je .add_beg
|
||||
jmp .add_end
|
||||
.add_beg:
|
||||
stdcall get_obj_id,esi
|
||||
mov edi,u_object
|
||||
mov dword[edi],eax
|
||||
add edi,4
|
||||
inc esi ;¯¥à¥å®¤¨¬ ¨¬ï ®¡ê¥ªâ
|
||||
mov ecx,MAX_LEN_OBJ_TXT
|
||||
cld
|
||||
rep movsb
|
||||
|
||||
call find_obj_in_opt ;edi = pointer to ObjOpt struct
|
||||
mov cx,word[edi+obj_opt.img-obj_opt]
|
||||
cmp cx,0
|
||||
jge .zero
|
||||
xor cx,cx ;çâ®-¡ë ¥ £«î稫® á ®âà¨æ ⥫ìë¬ ¨¤¥ªá®¬
|
||||
.zero:
|
||||
shl ecx,16 ;¢ ecx ¨¤¥ªá ¨ª®ª¨
|
||||
|
||||
stdcall dword[tl_node_add], u_object, ecx, tree3 ;áâàãªâãà u_object ¢ ¤ ®¬ á«ãç ¥ ¥ ᮡ«î¤ ¥âáï, ® 㦠¯à®áâ® ª ª ¯ ¬ïâì ¤«ï ¢áâ ¢ª¨
|
||||
stdcall dword[tl_cur_next], tree3 ;¯¥à¥®á¨¬ ªãàá®à ¢¨§, çâ®-¡ë ¥ ¯®¬¥ï«áï ¯®à冷ª
|
||||
.add_end:
|
||||
;-------
|
||||
stdcall [tl_node_poi_get_next_info], edx,tree2
|
||||
pop edx ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã
|
||||
jmp @b
|
||||
@@:
|
||||
|
||||
;áâ ¢¨¬ ªãàá®à ã¦ãî ¯®§¨æ¨î
|
||||
mov edx,[foc_obj] ;¡¥à¥¬ 㪠§ â¥«ì ®¡ê¥ªâ
|
||||
cmp edx,0
|
||||
je .sel_end
|
||||
mov edx,dword[edx+u_object.typid-u_object]
|
||||
stdcall [tl_cur_beg],tree3
|
||||
@@:
|
||||
stdcall [tl_node_get_data],tree3
|
||||
pop eax
|
||||
cmp eax,0
|
||||
je .sel_end
|
||||
cmp dword[eax],edx
|
||||
je .sel_end ;¥á«¨ 諨 㪠§ ⥫ì
|
||||
stdcall [tl_cur_next],tree3
|
||||
jmp @b
|
||||
.sel_end:
|
||||
|
||||
;ç¨á⪠¯®¤¯¨á¥©
|
||||
mov dword[ch1.text],ch_text
|
||||
mov dword[ch2.text],ch_text
|
||||
mov dword[ch3.text],ch_text
|
||||
mov dword[ch4.text],ch_text
|
||||
|
||||
;ãáâ ®¢ª ®¢ëå ¯®¤¯¨á¥©
|
||||
mov esi,[foc_obj] ;¡¥à¥¬ 㪠§ â¥«ì ®¡ê¥ªâ
|
||||
mov bl,byte[esi]
|
||||
call find_obj_in_opt
|
||||
mov edi,dword[edi+obj_opt.bit_prop-obj_opt]
|
||||
cmp edi,0
|
||||
je .no_bit_capts ;¥á«¨ 1-¥ ¡¨â®¢®¥ ᢮©á⢮ ¯ãá⮥, â® ¢ 横« ¥ § 室¨¬
|
||||
mov edx,ch1.text
|
||||
xor al,al ;0 - ᨬ¢®« ª®æ áâப¨
|
||||
add edi,obj_opt
|
||||
@@:
|
||||
mov [edx],edi ;§ ¯¨áë¢ ¥¬ ⥪áâ ¢ check_box
|
||||
xor ecx,ecx
|
||||
dec ecx ;ecx - ç¨á«® ¯à®á¬ âਢ ¥¬ëå ¡ ©â
|
||||
cld
|
||||
repne scasb ;¨é¥¬ ª®¥æ áâப¨ (al=0)
|
||||
cmp byte[edi],0
|
||||
je .no_bit_capts ;¥á«¨ á«¥¤ãî饩 áâப¨ ¥â ¢ë室 ¨§ 横«
|
||||
|
||||
add edx,ch_struc_size
|
||||
cmp edx,check_boxes_end
|
||||
jl @b
|
||||
.no_bit_capts:
|
||||
|
||||
;ãáâ ®¢ª ä« ¦ª®¢
|
||||
mov esi,[foc_obj] ;¡¥à¥¬ 㪠§ â¥«ì ®¡ê¥ªâ
|
||||
mov edx,ch1.flags
|
||||
xor eax,eax
|
||||
@@:
|
||||
bt dword[esi+u_object.modif-u_object],eax
|
||||
jc .flag_set
|
||||
btr dword[edx],1 ;ᨬ ¥¬ £ «®çªã
|
||||
jmp .end_set
|
||||
.flag_set:
|
||||
bts dword[edx],1 ;áâ ¢¨¬ £ «®çªã (ch_flag_en = 10b = 2^1)
|
||||
.end_set:
|
||||
|
||||
inc eax
|
||||
add edx,ch_struc_size
|
||||
cmp edx,check_boxes_end
|
||||
jl @b
|
||||
|
||||
init_checkboxes2 check_boxes,check_boxes_end
|
||||
check_boxes_set_sys_color2 check_boxes,check_boxes_end,sc
|
||||
popad
|
||||
|
||||
align 4
|
||||
prop_red_win:
|
||||
pushad
|
||||
mcall 12,1
|
||||
|
||||
xor eax,eax
|
||||
mov edi,hed
|
||||
mov edx,[foc_obj] ;¡¥à¥¬ 㪠§ â¥«ì ®¡ê¥ªâ
|
||||
cmp edx,0
|
||||
je @f
|
||||
mov bl,[edx]
|
||||
call find_obj_in_opt
|
||||
add edi,obj_opt.info-obj_opt ;edi - ¯®¤¯¨áì ( §¢ ¨¥ ®¡ê¥ªâ )
|
||||
@@:
|
||||
mov ebx,30*65536+prop_wnd_width
|
||||
mov ecx,50*65536+250
|
||||
mov edx,0xffffd0
|
||||
or edx,0x33000000
|
||||
int 0x40
|
||||
|
||||
mov edx,[foc_obj] ;¡¥à¥¬ 㪠§ â¥«ì ®¡ê¥ªâ
|
||||
cmp edx,0
|
||||
je .exit_fun
|
||||
|
||||
mov eax,8 ;ª®¯ª ¤«ï á®åà ¥¨ï ¨§¬¥¥¨©
|
||||
mov ebx,prop_wnd_width-18-20
|
||||
shl ebx,16
|
||||
add ebx,18
|
||||
mov ecx,3
|
||||
shl ecx,16
|
||||
add ecx,18
|
||||
mov edx,10
|
||||
mov esi,0xd040
|
||||
int 0x40
|
||||
|
||||
ror ebx,16 ;¢ëç¨á«ï¥¬ ª®®à¤¨ âë ¤«ï ¨ª®ª¨
|
||||
ror ecx,16
|
||||
and ebx,0xffff
|
||||
and ecx,0xffff
|
||||
inc ebx
|
||||
inc ecx
|
||||
stdcall draw_icon, 17,ebx,ecx ;17 - save
|
||||
|
||||
mov edi,edit2
|
||||
.cycle:
|
||||
stdcall [edit_box_draw], edi ;à¨á㥬 ¯®«ï ᮠ᢮©á⢠¬¨ ®¡ê¥ªâ
|
||||
add edi,ed_struc_size
|
||||
cmp edi,prop_wnd_edits_end
|
||||
jl .cycle
|
||||
|
||||
cmp [err_ini0],1
|
||||
je .exit_fun
|
||||
cmp [err_ini1],1
|
||||
je .exit_fun
|
||||
|
||||
mov edx,[foc_obj] ;¡¥à¥¬ 㪠§ â¥«ì ®¡ê¥ªâ
|
||||
xor ebx,ebx ;®¬¥à ¯®«ï
|
||||
.draw_column:
|
||||
mov eax,ebx
|
||||
imul eax,prop_edits_height
|
||||
add eax,prop_edits_top
|
||||
stdcall draw_obj_icon,[edx],ebx,eax
|
||||
stdcall draw_obj_caption,[edx],ebx,eax
|
||||
|
||||
inc ebx
|
||||
cmp ebx,MAX_OPT_FIELDS
|
||||
jl .draw_column
|
||||
|
||||
cmp byte[edx],C_VAR
|
||||
jne .no_tree
|
||||
mov dword[w_scr_t3.all_redraw],1
|
||||
stdcall [tl_draw], tree3
|
||||
.no_tree:
|
||||
|
||||
checkboxes_draw2 check_boxes,check_boxes_end
|
||||
|
||||
.exit_fun:
|
||||
mcall 12,2
|
||||
popad
|
||||
|
||||
align 4
|
||||
prop_still:
|
||||
pushad
|
||||
mcall 10
|
||||
|
||||
cmp al,1 ;¨§¬. ¯®«®¦¥¨¥ ®ª
|
||||
jz prop_red_win
|
||||
cmp al,2
|
||||
jne @f
|
||||
call prop_key
|
||||
@@:
|
||||
cmp al,3
|
||||
jz prop_button
|
||||
cmp al,6
|
||||
jne @f
|
||||
call prop_mouse
|
||||
@@:
|
||||
popad
|
||||
jmp prop_still
|
||||
|
||||
align 4
|
||||
prop_key:
|
||||
push eax edi
|
||||
mcall 2
|
||||
mov edi,edit2
|
||||
.cycle:
|
||||
stdcall [edit_box_key], edi
|
||||
add edi,ed_struc_size
|
||||
cmp edi,prop_wnd_edits_end
|
||||
jl .cycle
|
||||
|
||||
mov edi,[foc_obj]
|
||||
cmp byte[edi],C_VAR
|
||||
jne @f
|
||||
stdcall [tl_key], tree3
|
||||
@@:
|
||||
pop edi eax
|
||||
ret
|
||||
|
||||
align 4
|
||||
prop_mouse:
|
||||
push edi
|
||||
mov edi,edit2
|
||||
.cycle:
|
||||
stdcall [edit_box_mouse], edi
|
||||
add edi,ed_struc_size
|
||||
cmp edi,prop_wnd_edits_end
|
||||
jl .cycle
|
||||
|
||||
mov edi,[foc_obj]
|
||||
cmp byte[edi],C_VAR
|
||||
jne @f
|
||||
stdcall [tl_mouse], tree3
|
||||
@@:
|
||||
|
||||
checkboxes_mouse2 check_boxes,check_boxes_end
|
||||
|
||||
pop edi
|
||||
ret
|
||||
|
||||
align 4
|
||||
prop_button:
|
||||
mcall 17 ;¯®«ãç¨âì ª®¤ ¦ ⮩ ª®¯ª¨
|
||||
|
||||
cmp ah,10
|
||||
jne @f
|
||||
call but_element_change
|
||||
mov ah,1 ;¤«ï § ªàëâ¨ï ®ª
|
||||
@@:
|
||||
|
||||
cmp ah,1
|
||||
jne prop_still
|
||||
.exit:
|
||||
mov dword[tree3.data_img],0 ;ç¨á⨬ 㪠§ ⥫¨ ¨ª®ª¨ çâ®-¡ë ¨å ¥ 㤠«¨« ¤¥áâàãªâ®à
|
||||
mov dword[tree3.data_img_sys],0 ;â. ª. ®¨ ¥é¥ ¨á¯®«ì§ãîâìáï ¢ ¤à㣨å í«¥¬¥â å
|
||||
stdcall dword[tl_data_clear], tree3
|
||||
mov byte[prop_wnd_run],0 ;®¡ã«ï¥¬ áç¥â稪 ®ª®
|
||||
mcall -1 ;¢ë室 ¨§ ¯à®£à ¬¬ë
|
||||
|
||||
;¤¥à¥¢® á ®¡ê¥ªâ ¬¨ ¢ ¯®«ì§®¢ ⥫ì᪮¬ ä ©«¥
|
||||
tree3 tree_list sizeof.object,(MAX_CED_OBJECTS shr 2)+2, tl_key_no_edit+tl_list_box_mode,\
|
||||
16,16, 0xffffff,0xb0d0ff,0xd000ff, 320,30,165,125, 0,4,MAX_LEN_OBJ_TXT, el_focus,\
|
||||
w_scr_t3,0
|
||||
|
||||
align 4
|
||||
w_scr_t3:
|
||||
.size_x dw 16 ;+0
|
||||
rb 2+2+2
|
||||
.btn_high dd 15 ;+8
|
||||
.type dd 1 ;+12
|
||||
.max_area dd 100 ;+16
|
||||
rb 4+4
|
||||
.bckg_col dd 0xeeeeee ;+28
|
||||
.frnt_col dd 0xbbddff ;+32
|
||||
.line_col dd 0 ;+36
|
||||
rb 4+2+2
|
||||
.run_x:
|
||||
rb 2+2+2+2+4+4+4+4+4+4
|
||||
.all_redraw dd 0 ;+80
|
||||
.ar_offset dd 1 ;+84
|
||||
|
||||
check_boxes:
|
||||
ch1 check_box2 (320 shl 16+11),(160 shl 16 +11),5,0xffffff,0,0x80000000,ch_text,ch_flag_en+ch_flag_middle
|
||||
ch2 check_box2 (320 shl 16+11),(175 shl 16 +11),5,0xffffff,0,0x80000000,ch_text,ch_flag_en+ch_flag_middle
|
||||
ch3 check_box2 (320 shl 16+11),(190 shl 16 +11),5,0xffffff,0,0x80000000,ch_text,ch_flag_en+ch_flag_middle
|
||||
ch4 check_box2 (320 shl 16+11),(205 shl 16 +11),5,0xffffff,0,0x80000000,ch_text,ch_flag_en+ch_flag_middle
|
||||
check_boxes_end:
|
||||
|
||||
ch_text db 0
|
@ -16,10 +16,11 @@ include '../../develop/libraries/box_lib/trunk/box_lib.mac'
|
||||
include 'mem.inc'
|
||||
include 'dll.inc'
|
||||
include 'strlen.inc'
|
||||
include 'obj_codes.inc'
|
||||
|
||||
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc, dll.Load
|
||||
|
||||
hed db 'kol_f_edit 29.11.10',0
|
||||
hed db 'kol_f_edit 08.12.10',0
|
||||
|
||||
sizeof.TreeList equ 20 ;need for element 'tree_list'
|
||||
|
||||
@ -33,39 +34,38 @@ buf2d_size_lt equ dword[edi+4] ;
|
||||
buf2d_color equ dword[edi+16] ;梥â ä® ¡ãä¥à
|
||||
buf2d_bits equ byte[edi+20] ;ª®«¨ç¥á⢮ ¡¨â ¢ 1-© â®çª¥ ¨§®¡à ¦¥¨ï
|
||||
|
||||
MAX_LEN_OBJ_TXT equ 200
|
||||
|
||||
MAX_CED_OBJECTS equ 200
|
||||
MAX_OPT_FIELDS equ 11
|
||||
MAX_OBJ_TYPES equ 18
|
||||
MAX_OBJ_TYPES equ 18 ;¬ ªá¨¬ «ì®¥ ç¨á«® ®¡ê¥ªâ®¢
|
||||
MAX_OBJ_CAPTIONS equ 1000 ;à §¬¥à ¤®¯®«¨â¥«ìëå ¯®¤¯¨á¥© ¯®¤¯¨á¥©
|
||||
WND_CAPT_COLOR equ 0xb0d0ff
|
||||
BUF_SIZE equ 1000
|
||||
|
||||
C_TD equ 't' ;typedef
|
||||
C_AC equ 'a' ; ¢â®¬ â¨ç¥áª¨¥ ª®¤ë (auto code)
|
||||
C_ST equ 's' ;struct
|
||||
C_IN equ '#' ;include
|
||||
C_TT equ 'd' ;¡«®ª ª®¤ (¤ ëå)
|
||||
C_VR equ '-' ;¯¥à¥¬¥ ï
|
||||
C_CO equ ';' ;ª®¬¬¥â ਩
|
||||
C_WI equ 'w' ;®ª®
|
||||
C_CB equ 'c' ;CheckBox
|
||||
C_OP equ 'o' ;OptionBox
|
||||
C_ED equ 'e' ;EditBox
|
||||
C_BU equ 'b' ;Button
|
||||
C_DT equ 'x' ;à¨á®¢ âì ⥪áâ
|
||||
C_RE equ 'r' ;à¨á®¢ âì ¯àאַ㣮«ì¨ª
|
||||
C_KE equ 'k' ;ª« ¢¨ âãà
|
||||
C_LIB equ 'l'
|
||||
C_IFN equ 'f'
|
||||
|
||||
;modif
|
||||
CPP_MOD_ACM equ 2 ;ᮡëâ¨ï ¬ëè¨
|
||||
BIT_MOD_ACM equ 1 ;ᮡëâ¨ï ¬ëè¨
|
||||
CPP_MOD_ACI equ 4 ; ¢ª«î票ï
|
||||
BIT_MOD_ACI equ 2 ; ¢ª«î票ï
|
||||
CPP_MOD_ACD equ 8 ;¤ ë¥ ®¡ê¥ªâ®¢
|
||||
BIT_MOD_ACD equ 3 ;¤ ë¥ ®¡ê¥ªâ®¢
|
||||
CPP_MOD_ABU equ 16 ;á¢ï§ë¢ ¨¥ ª®¯®ª
|
||||
BIT_MOD_ABU equ 4 ;á¢ï§ë¢ ¨¥ ª®¯®ª
|
||||
|
||||
CPP_MOD_WI_CA equ 16 ; áâ¨«ì ®ª ¯®¤¯¨áì
|
||||
CPP_MOD_WI_AO equ 32 ; áâ¨«ì ®ª ª®®à¤¨ âë ®â®á¨â¥«ì® ª«¨¥â᪮© ®¡« áâ¨
|
||||
CPP_MOD_WI_RD equ 64 ; áâ¨«ì ®ª ¯¥à¥à¨á®¢ª ®ª
|
||||
CPP_MOD_WI_GR equ 128 ; áâ¨«ì ®ª £à ¤¨¥â
|
||||
CPP_MOD_CHE equ 512 ; ch_flag_en - ¢ë¡à CheckBox
|
||||
CPP_MOD_TXT_ASCII_0 equ 1 ; ⥪áâ § ª 稢. 0
|
||||
CPP_MOD_TXT_TRAN equ 4 ; ⥪á⠯஧à çë©
|
||||
CPP_MOD_TXT_CHAR2 equ 2 ; ⥪áâ 2-¬ èà¨ä⮬
|
||||
CPP_MOD_EDIT_FOC equ 1 ; EditBox ¢ 䮪ãá¥
|
||||
CPP_MOD_EDIT_FIO equ 2 ;
|
||||
CPP_MOD_RE_GR equ 1 ; £à ¤¨¥âë© ¯àאַ㣮«ì¨ª
|
||||
CPP_MOD_BUT_NFON equ 1 ; á⨫ì Button ¥ à¨á®¢ âì ª®¯ªã
|
||||
CPP_MOD_BUT_NBORD equ 2 ; á⨫ì Button ¥ à¨á®¢ âì £à ¨æã
|
||||
|
||||
macro load_image_file path,buf,size ;¬ ªà®á ¤«ï § £à㧪¨ ¨§®¡à ¦¥¨©
|
||||
{
|
||||
copy_path path,sys_path,fp_icon,0x0 ;ä®à¬¨à㥬 ¯®«ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ® ¢ ®¤®© ¯ ¯ª¥ á ¯à®£à ¬¬®©
|
||||
@ -116,13 +116,14 @@ struct object
|
||||
ends
|
||||
|
||||
struct ObjOpt
|
||||
c db ?
|
||||
db ?
|
||||
bl_type db ?
|
||||
graph db ?
|
||||
info rb 30
|
||||
caption rb 200
|
||||
Col rw MAX_OPT_FIELDS
|
||||
img rw MAX_OPT_FIELDS ;¨¤¥ªáë ª à⨮ª (¢ ä ©«¥ 'icon.bmp')
|
||||
bit_prop dd 0 ;¡¨â®¢ë¥ ᢮©áâ¢
|
||||
ends
|
||||
|
||||
SKIN_H equ 22
|
||||
@ -151,6 +152,7 @@ icon_font_s1 dd 0 ;㪠
|
||||
fn_syntax db 'asm.syn',0 ;¨¬ï § £à㦠¥¬®£® ä ©« á¨â ªá¨á
|
||||
|
||||
include 'ced_wnd_m.inc'
|
||||
include 'ced_wnd_prop.inc' ;ä ©« á äãªæ¨ï¬¨ ®ª ᢮©á⢠®¡ê¥ªâ
|
||||
include 'ced_constr.inc' ;ä ©« á äãªæ¨ï¬¨ ®ª ª®áâàãªâ®à
|
||||
include 'ced_code_g.inc' ;ä ©« á äãªæ¨ï¬¨ £¥¥à¨à®¢ ¨ï ª®¤®¢
|
||||
|
||||
@ -180,17 +182,15 @@ start:
|
||||
mcall -1 ;exit not correct
|
||||
@@:
|
||||
|
||||
mov eax,[wndObjI.top]
|
||||
add eax,[recMain.top]
|
||||
inc eax
|
||||
mov ebx,[wndObjI.left]
|
||||
add ebx,16+6 ;è¨à¨ ¨ª®ª¨ + ®âáâã¯ë
|
||||
;§ ¤ ¨¥ à §¬¥à®¢ ¯®«¥© ᮠ᢮©á⢠¬¨
|
||||
mov eax,prop_edits_top
|
||||
mov ebx,16+6 ;è¨à¨ ¨ª®ª¨ + ®âáâã¯ë
|
||||
mov edi,edit2
|
||||
@@:
|
||||
mov ed_top,eax ;®âáâ㯠ᢥàåã
|
||||
mov ed_left,ebx ;®âáâ㯠᫥¢
|
||||
add edi,ed_struc_size
|
||||
add eax,[recMain.height]
|
||||
add eax,prop_edits_height
|
||||
cmp edi,prop_wnd_edits_end
|
||||
jl @b
|
||||
|
||||
@ -226,8 +226,9 @@ start:
|
||||
load_image_file fn_icon_tl_sys, icon_tl_sys,TREE_ICON_SYS16_BMP_SIZE
|
||||
;¥á«¨ ¨§®¡à ¦¥¨¥ ¥ ®âªàë«®áì, â® ¢ icon_tl_sys ¡ã¤ãâ
|
||||
;¥ ¨¨æ¨ «¨§¨à®¢ ë¥ ¤ ë¥, ® ®è¨¡ª¨ ¥ ¡ã¤¥â, â. ª. ¡ãä¥à 㦮£® à §¬¥à
|
||||
m2m dword[tree1.data_img_sys],dword[icon_tl_sys]
|
||||
m2m dword[tree2.data_img_sys],dword[icon_tl_sys]
|
||||
mov eax,dword[icon_tl_sys]
|
||||
mov dword[tree1.data_img_sys],eax
|
||||
mov dword[tree2.data_img_sys],eax
|
||||
|
||||
;1-© ä ©« ᪨
|
||||
load_image_file fn_skin_1, icon_font_s1,IMAGE_FILE_SKIN1_SIZE
|
||||
@ -254,7 +255,7 @@ start:
|
||||
;load options file
|
||||
mov eax,70
|
||||
mov [run_file_70.Position], 0
|
||||
mov [run_file_70.Count], sizeof.ObjOpt*MAX_OBJ_TYPES
|
||||
mov [run_file_70.Count], sizeof.ObjOpt*MAX_OBJ_TYPES+MAX_OBJ_CAPTIONS
|
||||
mov [run_file_70.Buffer], obj_opt
|
||||
mov [run_file_70.FileName], fp_obj_opt
|
||||
mov ebx,run_file_70
|
||||
@ -271,7 +272,7 @@ start:
|
||||
cmp bl,0
|
||||
je @f
|
||||
;xor ecx,ecx ;¢ ecx ¡ã¤¥â ¨¤¥ªá ¨ª®ª¨
|
||||
mov cx,word[eax+sizeof.ObjOpt-2*MAX_OPT_FIELDS]
|
||||
mov cx,word[eax+obj_opt.img-obj_opt]
|
||||
cmp cx,0
|
||||
jge .zero
|
||||
xor cx,cx ;çâ®-¡ë ¥ £«î稫® á ®âà¨æ ⥫ìë¬ ¨¤¥ªá®¬
|
||||
@ -454,21 +455,15 @@ pushad
|
||||
int 0x40
|
||||
@@:
|
||||
|
||||
cmp [err_ini0],1
|
||||
je err_init_icon
|
||||
cmp [err_ini1],1
|
||||
je err_init_icon
|
||||
call draw_obj_info ;®ª® । ªâ¨à®¢ ¨ï ¢ë¡à ®£® ®¡ê¥ªâ
|
||||
err_init_icon:
|
||||
|
||||
stdcall [edit_box_draw], dword edit1
|
||||
stdcall [edit_box_draw], dword edit_sav
|
||||
stdcall [tl_draw],dword tree1
|
||||
|
||||
mov dword[w_scr_t1.all_redraw],1
|
||||
stdcall [scrollbar_ver_draw],dword w_scr_t1
|
||||
stdcall [tl_draw],dword tree2
|
||||
;stdcall [scrollbar_ver_draw],dword w_scr_t1
|
||||
stdcall [tl_draw],dword tree1
|
||||
mov dword[w_scr_t2.all_redraw],1
|
||||
stdcall [scrollbar_ver_draw],dword w_scr_t2
|
||||
;stdcall [scrollbar_ver_draw],dword w_scr_t2
|
||||
stdcall [tl_draw],dword tree2
|
||||
|
||||
cmp byte[show_mode],0 ;ãá«®¢¨¥ ¢¨¤¨¬®á⨠®ª ª®áâàãªâ®à
|
||||
jne @f
|
||||
@ -485,14 +480,6 @@ popad
|
||||
align 4
|
||||
mouse:
|
||||
stdcall [edit_box_mouse], dword edit1
|
||||
push edi
|
||||
mov edi,edit2
|
||||
.cycle:
|
||||
stdcall [edit_box_mouse], edi
|
||||
add edi,ed_struc_size
|
||||
cmp edi,prop_wnd_edits_end
|
||||
jl .cycle
|
||||
pop edi
|
||||
stdcall [edit_box_mouse], dword edit_sav
|
||||
stdcall [tl_mouse], dword tree1
|
||||
stdcall [tl_mouse], dword tree2
|
||||
@ -507,27 +494,10 @@ align 4
|
||||
key:
|
||||
mcall 2
|
||||
stdcall [edit_box_key], dword edit1
|
||||
push edi
|
||||
mov edi,edit2
|
||||
.cycle:
|
||||
stdcall [edit_box_key], edi
|
||||
add edi,ed_struc_size
|
||||
cmp edi,prop_wnd_edits_end
|
||||
jl .cycle
|
||||
pop edi
|
||||
stdcall [edit_box_key], dword edit_sav
|
||||
stdcall [tl_key], dword tree1
|
||||
stdcall [tl_key], dword tree2
|
||||
|
||||
; cmp ah,178 ;Up
|
||||
; jne @f
|
||||
; cmp [cur_y],0
|
||||
; je @f
|
||||
; dec [cur_y]
|
||||
; call get_obj_pos
|
||||
; call draw_window
|
||||
; @@:
|
||||
|
||||
jmp still
|
||||
|
||||
align 4
|
||||
@ -541,10 +511,10 @@ button:
|
||||
jne @f
|
||||
call but_save_proj
|
||||
@@:
|
||||
cmp ah,10
|
||||
jne @f
|
||||
call but_element_change
|
||||
@@:
|
||||
;cmp ah,10
|
||||
;jne @f
|
||||
;call but_element_change
|
||||
;@@:
|
||||
cmp ah,11
|
||||
jne @f
|
||||
call but_show_constructor
|
||||
@ -653,7 +623,7 @@ but_open_proj:
|
||||
|
||||
call find_obj_in_opt ;edi = pointer to ObjOpt struct
|
||||
|
||||
mov cx,word[edi+sizeof.ObjOpt-2*MAX_OPT_FIELDS]
|
||||
mov cx,word[edi+obj_opt.img-obj_opt]
|
||||
cmp cx,0
|
||||
jge .zero
|
||||
xor cx,cx ;çâ®-¡ë ¥ £«î稫® á ®âà¨æ ⥫ìë¬ ¨¤¥ªá®¬
|
||||
@ -743,6 +713,8 @@ but_save_proj:
|
||||
ret
|
||||
|
||||
;¡¥à¥â ®¬¥à ¯® ¯®à浪㠯® 㪠§ ⥫î áâàãªâãàã ®¡ê¥ªâ
|
||||
;output:
|
||||
; eax - ®¬¥à ®¡ê¥ªâ
|
||||
align 4
|
||||
proc get_obj_npp, p_obj_str:dword
|
||||
mov eax,2
|
||||
@ -820,22 +792,19 @@ ted_save_err_msg:
|
||||
;äãªæ¨ï ®¡à â ï ª ¤ ®© but_element_change
|
||||
align 4
|
||||
on_file_object_select:
|
||||
stdcall [tl_node_get_data], tree2
|
||||
pop dword[foc_obj]
|
||||
cmp dword[foc_obj],0
|
||||
je @f
|
||||
push ebx edi
|
||||
xor ebx,ebx
|
||||
mov edi,edit2
|
||||
.cycle:
|
||||
stdcall set_obj_win_param, ebx,edi
|
||||
inc ebx
|
||||
add edi,ed_struc_size
|
||||
cmp edi,prop_wnd_edits_end
|
||||
jl .cycle
|
||||
pop edi ebx
|
||||
cmp byte[prop_wnd_run],0
|
||||
jne @f
|
||||
mov byte[prop_wnd_run],1
|
||||
stdcall [tl_node_get_data], tree2
|
||||
pop dword[foc_obj]
|
||||
cmp dword[foc_obj],0
|
||||
je @f
|
||||
pushad
|
||||
;¢á¥ ¤¥©áâ¢¨ï ¯® áâனª¥ í«¥¬¥â®¢ ã¯à ¢«¥¨ï ¢ë¯®«ïîâáï ¢ ®ª¥ ᮠ᢮©á⢠¬¨
|
||||
mcall 51,1,prop_start,prop_thread
|
||||
popad
|
||||
@@:
|
||||
call draw_window
|
||||
;call draw_window
|
||||
ret
|
||||
|
||||
align 4
|
||||
@ -944,9 +913,9 @@ buf_skin3:
|
||||
show_mode db 0 ;०¨¬ ¤«ï ¯®ª § ®¯à¥¤¥«¥®£® ®ª
|
||||
txtErrOpen db '<27>¥ ©¤¥ ä ©«, ¯à®¢¥àì⥠¯à ¢¨«ì®áâì ¨¬¥¨',0
|
||||
txtErrIni1 db '<27>¥ ®âªàë«áï ä ©« á ®¯æ¨ï¬¨',0
|
||||
err_opn db 0
|
||||
err_ini0 db 0 ;???
|
||||
err_ini1 db 0
|
||||
err_opn db 0 ;१. ®âªàëâ¨ï ä ©« ¯à®íªâ
|
||||
err_ini0 db 0 ;१. ®âªàëâ¨ï ä ©« á ¨ª®ª ¬¨
|
||||
err_ini1 db 0 ;१. ®âªàëâ¨ï ä ©« á ®¯æ¨ï¬¨
|
||||
|
||||
edit1 edit_box 210, 10, 5, 0xffffff, 0xff80, 0xff, 0xff0000, 0x4080, 300, ed_text1, mouse_dd, 0, 7, 7
|
||||
|
||||
@ -987,7 +956,7 @@ mouse_dd dd ?
|
||||
el_focus dd tree1
|
||||
;¤¥à¥¢® ᮠᯨ᪮¬ ¢®§¬®¦ëå ⨯®¢ ®¡ê¥ªâ®¢
|
||||
tree1 tree_list sizeof.ObjOpt,20+2, tl_key_no_edit+tl_draw_par_line+tl_list_box_mode,\
|
||||
16,16, 0xffffff,0xb0d0ff,0xd000ff, 5,50,125,100, 0,3,0, el_focus,\
|
||||
16,16, 0xffffff,0xb0d0ff,0xd000ff, 5,50,125,280, 0,3,0, el_focus,\
|
||||
w_scr_t1,on_add_object
|
||||
;¤¥à¥¢® á ®¡ê¥ªâ ¬¨ ¢ ¯®«ì§®¢ ⥫ì᪮¬ ä ©«¥
|
||||
tree2 tree_list sizeof.object,MAX_CED_OBJECTS+2, tl_draw_par_line,\
|
||||
@ -1187,15 +1156,13 @@ sc system_colors
|
||||
|
||||
image_data dd 0 ;¯ ¬ïâì ¤«ï ¯à¥®¡à §®¢ ¨ï ª à⨪¨ äãªæ¨ï¬¨ libimg
|
||||
|
||||
recMain BOX 3,20,16,18 ;ª®®à¤¨ âë: 1,2 - ®âáâã¯ë; 3,4 - à §¬¥à
|
||||
ced_info object 0 ;on start == 0
|
||||
rb sizeof.object*(MAX_CED_OBJECTS-1)
|
||||
|
||||
wndObjI BOX 5,155,125+16,175
|
||||
text_buffer db BUF_SIZE dup(0)
|
||||
fn_obj_opt db 'ob_o.opt',0
|
||||
obj_opt ObjOpt
|
||||
rb sizeof.ObjOpt*(MAX_OBJ_TYPES-1)
|
||||
rb sizeof.ObjOpt*(MAX_OBJ_TYPES-1)+MAX_OBJ_CAPTIONS
|
||||
db 0 ;eof options
|
||||
|
||||
cur_x dd 0
|
||||
@ -1308,6 +1275,10 @@ import_box_lib:
|
||||
edit_box_mouse dd aEdit_box_mouse
|
||||
edit_box_set_text dd aEdit_box_set_text
|
||||
|
||||
init_checkbox dd aInit_checkbox
|
||||
check_box_draw dd aCheck_box_draw
|
||||
check_box_mouse dd aCheck_box_mouse
|
||||
|
||||
scrollbar_ver_draw dd aScrollbar_ver_draw
|
||||
scrollbar_hor_draw dd aScrollbar_hor_draw
|
||||
|
||||
@ -1370,6 +1341,10 @@ dd 0,0
|
||||
aEdit_box_mouse db 'edit_box_mouse',0
|
||||
aEdit_box_set_text db 'edit_box_set_text',0
|
||||
|
||||
aInit_checkbox db 'init_checkbox2',0
|
||||
aCheck_box_draw db 'check_box_draw2',0
|
||||
aCheck_box_mouse db 'check_box_mouse2',0
|
||||
|
||||
aScrollbar_ver_draw db 'scrollbar_v_draw',0
|
||||
aScrollbar_hor_draw db 'scrollbar_h_draw',0
|
||||
|
||||
@ -1508,6 +1483,8 @@ i_end:
|
||||
fp_icon rb 1024 ;icon file path
|
||||
fp_obj_opt rb 1024 ;obj options file patch
|
||||
rb 1024
|
||||
prop_thread:
|
||||
rb 1024
|
||||
thread: ;¢¢¥àåã ¤®ç¥à¨© á⥪ ¤«ï ®ª á®®¡é¥¨ï
|
||||
rb 1024
|
||||
stacktop: ;¢¢¥àåã á⥪ ®á®¢®© ¯à®£à ¬¬ë
|
||||
|
@ -1,26 +1,8 @@
|
||||
;lang equ ru
|
||||
|
||||
MAX_LEN_OBJ_TXT equ 200
|
||||
include 'obj_codes.inc'
|
||||
|
||||
C_TD equ 't' ;typedef
|
||||
C_AC equ 'a' ; ¢â®¬ â¨ç¥áª¨¥ ª®¤ë (auto code)
|
||||
C_ST equ 's' ;struct
|
||||
C_IN equ '#' ;include
|
||||
C_TT equ 'd' ;¡«®ª ª®¤ (¤ ëå)
|
||||
C_VR equ '-' ;¯¥à¥¬¥ ï
|
||||
C_CO equ ';' ;ª®¬¬¥â ਩
|
||||
C_WI equ 'w' ;®ª®
|
||||
C_CB equ 'c' ;CheckBox
|
||||
C_OP equ 'o' ;OptionBox
|
||||
C_ED equ 'e' ;EditBox
|
||||
C_BU equ 'b' ;Button
|
||||
C_DT equ 'x' ;à¨á®¢ âì ⥪áâ
|
||||
C_RE equ 'r' ;à¨á®¢ âì ¯àאַ㣮«ì¨ª
|
||||
C_KE equ 'k' ;ª« ¢¨ âãà
|
||||
C_LIB equ 'l'
|
||||
C_IFN equ 'f'
|
||||
|
||||
macro ObjOpt c,bl_type,graph,info,caption,Col,img
|
||||
macro ObjOpt c,bl_type,graph,info,caption,Col,img,bit_prop
|
||||
{
|
||||
db c
|
||||
db bl_type
|
||||
@ -30,43 +12,49 @@ rb @b+30-$
|
||||
@@: db caption
|
||||
rb @b+MAX_LEN_OBJ_TXT-$
|
||||
dw Col
|
||||
dw img
|
||||
dw img ;¨¤¥ªáë ª à⨮ª (¢ ä ©«¥ 'icon.bmp')
|
||||
dd bit_prop+0
|
||||
}
|
||||
|
||||
ObjOpt C_TD, 0,0,'’¨¯ ¤ ®£®','',\
|
||||
ObjOpt C_TDF, 0,0,'’¨¯ ¤ ®£®','',\
|
||||
< 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>,\
|
||||
< 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1>
|
||||
ObjOpt C_VR, 0,0,'<27>¥à¥¬¥ ï','¨¬ï ¯¥à¥¬¥®©*§ 票¥ ¯® 㬮«ç ¨î*ª®¬¬¥â ਩',\
|
||||
ObjOpt C_VAR, 0,0,'<27>¥à¥¬¥ ï','¨¬ï ¯¥à¥¬¥®©*§ 票¥ ¯® 㬮«ç ¨î*ª®¬¬¥â ਩',\
|
||||
<40, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0>,\
|
||||
< 0, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1>
|
||||
ObjOpt C_ST, 1,0,'‘âàãªâãà ','¨¬ï áâàãªâãàë*¯ à ¬¥âàë ¤«ï ¬ ªà®á ',\
|
||||
ObjOpt C_STR, 1,0,'‘âàãªâãà ','¨¬ï áâàãªâãàë*¯ à ¬¥âàë ¤«ï ¬ ªà®á ',\
|
||||
<40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>,\
|
||||
< 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1>
|
||||
ObjOpt C_AC, 1,0,'€¢â® ª®¤','',\
|
||||
ObjOpt C_ACO, 1,0,'€¢â® ª®¤','',\
|
||||
<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>,\
|
||||
<2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1>
|
||||
ObjOpt C_BU, 1,1,'Š®¯ª ','¨¤¥â¨ä¨ª â®à*®âáâ㯠᫥¢ *®âáâ㯠ᢥàåã*è¨à¨ *¢ëá®â *梥â*¨¬ï ¬¥âª¨ ¯à¨ ¦ ⨨',\
|
||||
<2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1>,\
|
||||
txt_bit_auto
|
||||
ObjOpt C_BUT, 1,1,'Š®¯ª ','¨¤¥â¨ä¨ª â®à*®âáâ㯠᫥¢ *®âáâ㯠ᢥàåã*è¨à¨ *¢ëá®â *梥â*¨¬ï ¬¥âª¨ ¯à¨ ¦ ⨨',\
|
||||
<20, 40, 60, 80,100,120, 0, 0, 0, 0, 0>,\
|
||||
<29, 15, 16, 26, 27, 25, -1, -1, -1, -1,-1>
|
||||
ObjOpt C_ED, 1,1,'’¥ªá⮢®¥ ¯®«¥','***®âáâ㯠ᢥàåã*梥â ä® *梥⠢뤥«¥¨ï ¯à¨ 㤥ন¢ ¨¨ shift ¨«¨ ¬ë誮©*梥â à ¬ª¨*¯à¨ ¥ ªâ¨¢®¬ ¡®ªá¥ 梥â à ¬ª¨*梥â ⥪áâ *¬ ªá¨¬ «ì ï ¤«¨ ⥪áâ * ç «ìë© â¥ªáâ',\
|
||||
<29, 15, 16, 26, 27, 25, -1, -1, -1, -1,-1>,\
|
||||
txt_bit_but
|
||||
ObjOpt C_EDB, 1,1,'’¥ªá⮢®¥ ¯®«¥','***®âáâ㯠ᢥàåã*梥â ä® *梥⠢뤥«¥¨ï ¯à¨ 㤥ন¢ ¨¨ shift ¨«¨ ¬ë誮©*梥â à ¬ª¨*¯à¨ ¥ ªâ¨¢®¬ ¡®ªá¥ 梥â à ¬ª¨*梥â ⥪áâ *¬ ªá¨¬ «ì ï ¤«¨ ⥪áâ * ç «ìë© â¥ªáâ',\
|
||||
<30, 40, 50, 60, 80,100,120,140,160,170, 0>,\
|
||||
<10, 26, 15, 16, 25, 25, 25, 25, 25, -1, 4>
|
||||
ObjOpt C_OP, 1,1,'<27> ¤¨® ª®¯ª ','¨¬ï*®âáâ㯠᫥¢ *®âáâ㯠ᢥàåã*梥â ä® ¢ãâà¨*梥â à ¬ª¨ ¨ ¢ãâà. £ «®çª¨*梥â ⥪áâ *¯®¤¯¨áì*®âáâ㯠¤® ¤¯¨á¨*à §¬¥à ª¢ ¤à â ',\
|
||||
<10, 26, 15, 16, 25, 25, 25, 25, 25, -1, 4>,\
|
||||
txt_bit_edit
|
||||
ObjOpt C_OPT, 1,1,'<27> ¤¨® ª®¯ª ','¨¬ï*®âáâ㯠᫥¢ *®âáâ㯠ᢥàåã*梥â ä® ¢ãâà¨*梥â à ¬ª¨ ¨ ¢ãâà. £ «®çª¨*梥â ⥪áâ *¯®¤¯¨áì*®âáâ㯠¤® ¤¯¨á¨*à §¬¥à ª¢ ¤à â ',\
|
||||
<40, 50, 60, 80,100,120,180,190, 0, 0, 0>,\
|
||||
< 9, 15, 16, 25, 25, 25, 4, 26, 27, -1, -1>
|
||||
ObjOpt C_CB, 1,1,'”« ¦®ª','***¯®¤¯¨áì*梥â ä® ¢ãâà¨*梥â à ¬ª¨ ¨ ¢ãâà. £ «®çª¨*梥â ⥪áâ *®âáâ㯠¤® ¤¯¨á¨*à §¬¥à ª¢ ¤à â ',\
|
||||
ObjOpt C_CHB, 1,1,'”« ¦®ª','***¯®¤¯¨áì*梥â ä® ¢ãâà¨*梥â à ¬ª¨ ¨ ¢ãâà. £ «®çª¨*梥â ⥪áâ *®âáâ㯠¤® ¤¯¨á¨*à §¬¥à ª¢ ¤à â ',\
|
||||
<40, 50, 60,120,140,160,180,190, 0, 0, 0>,\
|
||||
< 8, 15, 16, 4, 25, 25, 25, 26, 27, -1, -1>
|
||||
ObjOpt C_TT, 1,0,'asm ª®¤','',\
|
||||
< 8, 15, 16, 4, 25, 25, 25, 26, 27, -1, -1>,\
|
||||
txt_bit_che
|
||||
ObjOpt C_TXT, 1,0,'asm ª®¤','',\
|
||||
< 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>,\
|
||||
<11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1>
|
||||
ObjOpt C_WI, 1,1,'Žª®','**®âáâ㯠᫥¢ *®âáâ㯠ᢥàåã*è¨à¨ *¢ëá®â *梥⠪«¨¥â᪮© ®¡« áâ¨*梥⠧ £®«®¢ª (¥á«¨ ¥áâì)',\
|
||||
ObjOpt C_WND, 1,1,'Žª®','**®âáâ㯠᫥¢ *®âáâ㯠ᢥàåã*è¨à¨ *¢ëá®â *梥⠪«¨¥â᪮© ®¡« áâ¨*梥⠧ £®«®¢ª (¥á«¨ ¥áâì)',\
|
||||
<98,100,110,120,130,150,170, 0, 0, 0, 0>,\
|
||||
<12, -1, 15, 16, 26, 27, 25, 25, -1, -1, -1>
|
||||
ObjOpt C_CO, 1,0,'Š®¬¬¥â ਩','áâப ª®¬¬¥â à¨ï',\
|
||||
<12, -1, 15, 16, 26, 27, 25, 25, -1, -1, -1>,\
|
||||
txt_bit_wnd
|
||||
ObjOpt C_COM, 1,0,'Š®¬¬¥â ਩','áâப ª®¬¬¥â à¨ï',\
|
||||
< 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>,\
|
||||
< 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1>
|
||||
ObjOpt C_IN, 1,0,'‚ª«î票¥ ä ©« ','¨¬ï ä ©« *ª®¬¬¥â ਩',\
|
||||
ObjOpt C_INC, 1,0,'‚ª«î票¥ ä ©« ','¨¬ï ä ©« *ª®¬¬¥â ਩',\
|
||||
<100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>,\
|
||||
< 6, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1>
|
||||
ObjOpt C_LIB, 1,0,'ˆ¬¯®àâ ¡¨¡«¨®â¥ª¨','¨¬ï ¡¨¡«.*á¨áâ. ¤¨à.*¬¥âª ¨¬¯®àâ *¯à¨áâ ¢ª *®è¨¡ª ¥ ©¤¥ *®è¨¡ª ¥ ¬®£ã ®âªàëâì',\
|
||||
@ -75,18 +63,44 @@ ObjOpt C_LIB, 1,0,'
|
||||
ObjOpt C_IFN, 1,0,'”ãªæ¨ï ¨§ ¡¨¡«¨®â¥ª¨','¯à®£à ¬®¥ ¨¬ï äãªæ¨¨*¨¬¯®àâ¨à㥬®¥ ¨¬ï äãªæ¨¨',\
|
||||
<100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>,\
|
||||
<21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1>
|
||||
ObjOpt C_DT, 1,1,'<27>¨á®¢ ¨¥ ⥪áâ ','***梥â ⥪áâ *梥â ä® (¥á«¨ ¥áâì)',\
|
||||
ObjOpt C_DTT, 1,1,'<27>¨á®¢ ¨¥ ⥪áâ ','⥪á⮢ ï áâப *ª®®à¤¨ â ¯® x*ª®®à¤¨ â ¯® y*梥â ⥪áâ *梥â ä® (¥á«¨ ¥áâì)',\
|
||||
<40, 50, 60, 80, 0, 0, 0, 0, 0, 0, 0>,\
|
||||
< 4, 15, 16, 25, 25, -1, -1, -1, -1, -1, -1>
|
||||
ObjOpt C_RE, 1,1,'<27>àאַ㣮«ì¨ª','梥â*®âáâ㯠᫥¢ *®âáâ㯠ᢥàåã*è¨à¨ *¢ëá®â ',\
|
||||
< 4, 15, 16, 25, 25, -1, -1, -1, -1, -1, -1>,\
|
||||
txt_bit_caption
|
||||
ObjOpt C_REC, 1,1,'<27>àאַ㣮«ì¨ª','梥â*®âáâ㯠᫥¢ *®âáâ㯠ᢥàåã*è¨à¨ *¢ëá®â ',\
|
||||
<20, 40, 60, 80, 0, 0, 0, 0, 0, 0, 0>,\
|
||||
<25, 15, 16, 26, 27, -1, -1, -1, -1, -1, -1>
|
||||
ObjOpt C_KE, 1,0,'‘®¡ë⨥ ª« ¢¨ âãàã','',\
|
||||
ObjOpt C_KEY, 1,0,'‘®¡ë⨥ ª« ¢¨ âãàã','',\
|
||||
< 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>,\
|
||||
<28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1>
|
||||
ObjOpt 0x0d, 1,0, '-','',\
|
||||
<20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>,\
|
||||
<-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1>
|
||||
|
||||
dd 0 ;à §¤¥«¨â¥«ì
|
||||
|
||||
; §¢ ¨ï ¡¨â®¢ëå ᢮©áâ¢
|
||||
txt_bit_auto db '¯®¤ª«î票ï ä ©«®¢',0
|
||||
db 'ᮡëâ¨ï ®â ¬ëè¨',0
|
||||
db 'ª®¤ë í«¥¬¥â®¢',0
|
||||
db ' ¦ â¨ï ª®¯ª¨',0
|
||||
db 0
|
||||
txt_bit_wnd db '¯®¤¯¨áì ®ª ',0
|
||||
db '®ª® ¥ § ªà 訢 ¥â ª«¨¥âáªãî ®¡«.',0
|
||||
db 'ª®®à¤. ®â®á¨â¥«ì® ª«¨¥â᪮© ®¡«.',0
|
||||
db '£à ¤¨¥â ï § «¨¢ª à ¡. ®¡«.',0
|
||||
db 0
|
||||
txt_bit_edit db '¢ 䮪ãá¥',0
|
||||
db 'æ¨äàë ®â 0-9',0
|
||||
db 0
|
||||
txt_bit_che db 'check_box ¢ë¡à ',0
|
||||
db 0
|
||||
txt_bit_but db '¥ à¨á®¢ âì ª®¯ªã',0
|
||||
db '¥ à¨á®¢ âì £à ¨æ㠯ਠ¦ ⨨',0
|
||||
db 0
|
||||
txt_bit_caption db 'áâப ASCII § ª ç. 0',0
|
||||
db '§ «¨¢ª ä® ',0
|
||||
db '2-© èà¨äâ',0
|
||||
db 0
|
||||
|
||||
|
||||
|
23
programs/develop/kol_f_edit/obj_codes.inc
Normal file
23
programs/develop/kol_f_edit/obj_codes.inc
Normal file
@ -0,0 +1,23 @@
|
||||
;
|
||||
; ¢ í⮬ ä ©«¥ ᮡà ë ª®¤ë ®¡ê¥ªâ®¢
|
||||
;
|
||||
|
||||
C_TDF equ 't' ;typedef
|
||||
C_ACO equ 'a' ; ¢â®¬ â¨ç¥áª¨¥ ª®¤ë (auto code)
|
||||
C_STR equ 's' ;struct
|
||||
C_INC equ '#' ;include
|
||||
C_TXT equ 'd' ;¡«®ª ª®¤ (¤ ëå)
|
||||
C_VAR equ '-' ;¯¥à¥¬¥ ï
|
||||
C_COM equ ';' ;ª®¬¬¥â ਩
|
||||
C_WND equ 'w' ;®ª®
|
||||
C_CHB equ 'c' ;CheckBox
|
||||
C_OPT equ 'o' ;OptionBox
|
||||
C_EDB equ 'e' ;EditBox
|
||||
C_BUT equ 'b' ;Button
|
||||
C_DTT equ 'x' ;à¨á®¢ âì ⥪áâ
|
||||
C_REC equ 'r' ;à¨á®¢ âì ¯àאַ㣮«ì¨ª
|
||||
C_KEY equ 'k' ;ª« ¢¨ âãà
|
||||
C_LIB equ 'l' ;¡¨¡«¨®â¥ª
|
||||
C_IFN equ 'f' ;¡¨¡«¨®â¥ç ï ¯®¤ª«îç ¥¬ ï äãªæ¨ï
|
||||
|
||||
MAX_LEN_OBJ_TXT equ 200
|
@ -55,6 +55,7 @@
|
||||
<p>Âåðñèÿ ýëåìåíòà</p>
|
||||
|
||||
<h1><a name="struc_checkbox2">Ñòðóêòóðà checkbox2</a></h1>
|
||||
<p>Размер структуры checkbox2 указан внутри файла <i>box_lib.mac</i> в параметре <b>ch_struc_size</b>.</p>
|
||||
<pre>struc check_box2 left_s,top_s,ch_text_margin,color,border_color,text_color,text,flags
|
||||
{ ;ñòðóêòóðà ïàðàìåòðîâ äëÿ ÷åê áîêñà
|
||||
.left_s: dd left_s ;+0 ïîëîæåíèå ïî õ dw + ðàçìåð dw
|
||||
@ -68,19 +69,22 @@
|
||||
.size_of_str: dd 0x0 ;äëèííà ñòðîêè, âû÷èñëÿåòñÿ ïðè èíèöèàëèçàöèè êîìïîíåíòà
|
||||
}
|
||||
</pre>
|
||||
<p><b>left_s</b> - отступ слева + длинна в формате (положение по x * 65536 +длинна по х).</p>
|
||||
<p><b>top</b> - отступ сверху + длинна по y (положение по y* 65536 +длинна по y).</p>
|
||||
<p><b>left_s</b> - отступ слева + ширина (в формате: положение по x * 65536 + длинна по х).</p>
|
||||
<p><b>top_s</b> - отступ сверху + высота (в формате: положение по y * 65536 + длинна по y).</p>
|
||||
<p><b>ch_text_margin</b> - ðàññòîÿíèå îò ïðÿìîóãîëüíèêà ÷åê áîêñà äî íàäïèñè.</p>
|
||||
<p><b>color</b> - öâåò âíóòðè ÷åêáîêñà.</p>
|
||||
|
||||
<h1><a name="checkbox_styles">Ñòèëè ýëåìåíòà</a></h1>
|
||||
|
||||
<pre>
|
||||
ch_flag_en = 10b ;флаг установленного чек бокса.
|
||||
ch_flag_top = 0x0 ;флаг расположения текста вверху т.е. 3-й бит
|
||||
ch_flag_middle = 100b ;флаг расположения текста в центре т.е. 4-й бит.
|
||||
ch_flag_bottom = 1000b ;флаг расположения текста в низу т.е. по умолчанию принимается значение внизу т.е. отсуствие 3-го и 4-го бита
|
||||
</pre>
|
||||
<h2>ch_flag_en = 10b</h2>
|
||||
<p>Флаг установленного чек бокса.</p>
|
||||
<h2>ch_flag_top = 0x0</h2>
|
||||
<p>Флаг расположения текста вверху т.е. 3-й бит.</p>
|
||||
<h2>ch_flag_middle = 100b</h2>
|
||||
<p>Флаг расположения текста в центре т.е. 4-й бит.</p>
|
||||
<h2>ch_flag_bottom = 1000b</h2>
|
||||
<p>Флаг расположения текста в низу т.е. по умолчанию принимается значение внизу т.е. отсуствие 3-го и 4-го бита</p>
|
||||
|
||||
|
||||
|
||||
<h1><a name="version1">Checkbox version 1</a></h1>
|
||||
@ -122,6 +126,6 @@ ch_flag_bottom = 1000b ;
|
||||
<p>Ôëàæîê âûáðàí.</p>
|
||||
|
||||
<hr>
|
||||
<p>Документация обновлялась последний раз 10.01.10.</p>
|
||||
<p>Документация обновлялась последний раз 08.12.10.</p>
|
||||
</body>
|
||||
</html>
|
@ -1,6 +1,6 @@
|
||||
; макрос для системной библиотеки box_lib.obj
|
||||
; элемент TreeList для Kolibri OS
|
||||
; ôàéë ïîñëåäíèé ðàç èçìåíÿëñÿ 09.06.2010 IgorA
|
||||
; ôàéë ïîñëåäíèé ðàç èçìåíÿëñÿ 01.12.2010 IgorA
|
||||
; на код применена GPL2 лицензия
|
||||
|
||||
|
||||
@ -918,87 +918,87 @@ tl_get_display_cur_pos: ;
|
||||
; esi = coord of bottom border
|
||||
align 4
|
||||
tl_draw_node: ;рисует узел с: картинкой, подписью, иконкой открытия/закрытия и линиями к родит. узлу
|
||||
push eax ebx ecx edx esi
|
||||
push eax ebx ecx edx esi
|
||||
|
||||
mov ebx,1 ;1 - ìåñòî ïîä êóðñîð è ïîä çíàê +,-
|
||||
bt tl_style,2 ;tl_list_box_mode
|
||||
jc @f
|
||||
inc ebx ;+1 - ìåñòî ïîä çíàê +,-
|
||||
@@:
|
||||
add bl,byte[edx+2];get level
|
||||
imul bx,tl_img_cx
|
||||
add ebx,tl_box_left
|
||||
mov ebx,1 ;1 - ìåñòî ïîä êóðñîð
|
||||
bt tl_style,2 ;tl_list_box_mode
|
||||
jc @f
|
||||
inc ebx ;+1 - ìåñòî ïîä çíàê +,-
|
||||
add bl,byte[edx+2] ;äîáàâëÿåì óðîâåíü ýëåìåíòà äëÿ åãî ó÷åòà â ëåâîì îòñòóïå èêîíêè
|
||||
@@:
|
||||
imul bx,tl_img_cx
|
||||
add ebx,tl_box_left
|
||||
|
||||
shl ebx,16
|
||||
mov bx,tl_img_cx
|
||||
xor ecx,ecx
|
||||
mov cx,tl_img_cy
|
||||
imul ecx,eax
|
||||
add ecx,tl_box_top
|
||||
add cx,tl_capt_cy
|
||||
shl ebx,16
|
||||
mov bx,tl_img_cx
|
||||
xor ecx,ecx
|
||||
mov cx,tl_img_cy
|
||||
imul ecx,eax
|
||||
add ecx,tl_box_top
|
||||
add cx,tl_capt_cy
|
||||
|
||||
;crop image if on the border
|
||||
cmp esi,ecx ;åñëè óçåë âíèçó è åãî âîîáùå íå âèäíî
|
||||
jl .end_draw
|
||||
;crop image if on the border
|
||||
cmp esi,ecx ;åñëè óçåë âíèçó è åãî âîîáùå íå âèäíî
|
||||
jl .end_draw
|
||||
|
||||
sub esi,ecx
|
||||
shl ecx,16
|
||||
mov cx,tl_img_cy
|
||||
cmp si,tl_img_cy
|
||||
jge @f
|
||||
mov cx,si ;åñëè óçåë âèäåí ÷àñòè÷íî (ïîïàë íà íèæíþþ ãðàíèöó)
|
||||
jmp .crop ;ïðîïóñêàåì ðèñîâàíèå íàäïèñè, êîòîðàÿ ñêîðåå âñåãî òîæå âûëåçåò çà íèæíþþ ãðàíèöó
|
||||
@@:
|
||||
call tl_draw_node_caption
|
||||
.crop:
|
||||
mov esi,ecx ;save ecx
|
||||
sub esi,ecx
|
||||
shl ecx,16
|
||||
mov cx,tl_img_cy
|
||||
cmp si,tl_img_cy
|
||||
jge @f
|
||||
mov cx,si ;åñëè óçåë âèäåí ÷àñòè÷íî (ïîïàë íà íèæíþþ ãðàíèöó)
|
||||
jmp .crop ;ïðîïóñêàåì ðèñîâàíèå íàäïèñè, êîòîðàÿ ñêîðåå âñåãî òîæå âûëåçåò çà íèæíþþ ãðàíèöó
|
||||
@@:
|
||||
call tl_draw_node_caption
|
||||
.crop:
|
||||
mov esi,ecx ;save ecx
|
||||
|
||||
cmp tl_data_img,0
|
||||
jne .draw_img_n
|
||||
push edx
|
||||
mov edx,tl_col_txt
|
||||
mov eax,13
|
||||
int 0x40 ;draw node rect
|
||||
pop edx
|
||||
jmp @f
|
||||
.draw_img_n:
|
||||
push ebx edx esi
|
||||
xor esi,esi
|
||||
mov si,word[edx] ;get icon type
|
||||
mov edx,ebx
|
||||
ror ecx,16
|
||||
mov dx,cx
|
||||
mov cx,bx
|
||||
ror ecx,16
|
||||
mov ebx,3 ;rgb = 3 bytes
|
||||
imul bx,tl_img_cx
|
||||
imul bx,tl_img_cy
|
||||
imul ebx,esi ;esi = icon index
|
||||
add ebx,tl_data_img
|
||||
cmp tl_data_img,0
|
||||
jne .draw_img_n
|
||||
push edx
|
||||
mov edx,tl_col_txt
|
||||
mov eax,13
|
||||
int 0x40 ;draw node rect
|
||||
pop edx
|
||||
jmp @f
|
||||
.draw_img_n:
|
||||
push ebx edx esi
|
||||
xor esi,esi
|
||||
mov si,word[edx] ;get icon type
|
||||
mov edx,ebx
|
||||
ror ecx,16
|
||||
mov dx,cx
|
||||
mov cx,bx
|
||||
ror ecx,16
|
||||
mov ebx,3 ;rgb = 3 bytes
|
||||
imul bx,tl_img_cx
|
||||
imul bx,tl_img_cy
|
||||
imul ebx,esi ;esi = icon index
|
||||
add ebx,tl_data_img
|
||||
|
||||
mov eax,7
|
||||
int 0x40 ;draw node icon '-'
|
||||
pop esi edx ebx
|
||||
@@:
|
||||
mov eax,7
|
||||
int 0x40 ;draw node icon '-'
|
||||
pop esi edx ebx
|
||||
@@:
|
||||
|
||||
mov al,byte[edx+2] ;draw minus '-'
|
||||
mov ecx,tl_data_nodes
|
||||
add ecx,sizeof.TreeList
|
||||
mov al,byte[edx+2] ;draw minus '-'
|
||||
mov ecx,tl_data_nodes
|
||||
add ecx,sizeof.TreeList
|
||||
|
||||
mov ah,10 ;get icon index '+' or '-' ?
|
||||
cmp byte[edx+3],1
|
||||
jne .close
|
||||
dec ah
|
||||
.close:
|
||||
mov ah,10 ;get icon index '+' or '-' ?
|
||||
cmp byte[edx+3],1
|
||||
jne .close
|
||||
dec ah
|
||||
.close:
|
||||
|
||||
call tl_draw_node_icon_opn_clo ;ðèñîâàíèå èêîíêè îòêðûòîãî èëè çàêðûòîãî óçëà
|
||||
bt tl_style,1
|
||||
jae .end_draw
|
||||
call tl_draw_node_icon_par_lin ;ðèñîâàíèå ëèíèè ê ðîäèòåëüñêîìó ýëåìåíòó
|
||||
call tl_draw_node_icon_par_lin_up ;ðèñîâàíèå âåðòèêàëüíîé ëèíèè ê ðîäèòåëüñêîìó ýëåìåíòó
|
||||
.end_draw:
|
||||
pop esi edx ecx ebx eax
|
||||
ret
|
||||
call tl_draw_node_icon_opn_clo ;ðèñîâàíèå èêîíêè îòêðûòîãî èëè çàêðûòîãî óçëà
|
||||
bt tl_style,1
|
||||
jae .end_draw
|
||||
call tl_draw_node_icon_par_lin ;ðèñîâàíèå ëèíèè ê ðîäèòåëüñêîìó ýëåìåíòó
|
||||
call tl_draw_node_icon_par_lin_up ;ðèñîâàíèå âåðòèêàëüíîé ëèíèè ê ðîäèòåëüñêîìó ýëåìåíòó
|
||||
.end_draw:
|
||||
pop esi edx ecx ebx eax
|
||||
ret
|
||||
|
||||
;input:
|
||||
; ecx = pointer to 1 node struct
|
||||
|
Loading…
Reference in New Issue
Block a user