Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 1713 → Rev 1714

/programs/develop/kol_f_edit/ced_code_g.inc
164,7 → 164,7
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
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
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
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
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
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
.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
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
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
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
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
insert_0
insert_nl
@@:
;cmp byte[ebx],C_CB
;cmp byte[ebx],C_CHB
;jne @f
;@@:
 
745,7 → 745,7
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
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
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
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
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
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
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
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
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
/programs/develop/kol_f_edit/ced_constr.inc
24,7 → 24,7
@@:
 
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
.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:
/programs/develop/kol_f_edit/ced_wnd_m.inc
1,92 → 1,4
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
but_obj_move_up:
134,20 → 46,47
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
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
 
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,7 → 231,55
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
mov ecx,[ind]
/programs/develop/kol_f_edit/ced_wnd_prop.inc
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
/programs/develop/kol_f_edit/kol_f_edit.asm
16,10 → 16,11
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_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,7 → 116,7
ends
 
struct ObjOpt
c db ?
db ?
bl_type db ?
graph db ?
info rb 30
123,6 → 123,7
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
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
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
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
;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
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
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
 
mov dword[w_scr_t1.all_redraw],1
;stdcall [scrollbar_ver_draw],dword w_scr_t1
stdcall [tl_draw],dword tree1
mov dword[w_scr_t1.all_redraw],1
stdcall [scrollbar_ver_draw],dword w_scr_t1
mov dword[w_scr_t2.all_redraw],1
;stdcall [scrollbar_ver_draw],dword w_scr_t2
stdcall [tl_draw],dword tree2
mov dword[w_scr_t2.all_redraw],1
stdcall [scrollbar_ver_draw],dword w_scr_t2
 
cmp byte[show_mode],0 ;ãá«®¢¨¥ ¢¨¤¨¬®á⨠®ª­  ª®­áâàãªâ®à 
jne @f
485,14 → 480,6
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
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
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
 
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
ret
 
;¡¥à¥â ­®¬¥à ¯® ¯®à浪㠯® 㪠§ â¥«î ­  áâàãªâãàã ®¡ê¥ªâ 
;output:
; eax - ­®¬¥à ®¡ê¥ªâ 
align 4
proc get_obj_npp, p_obj_str:dword
mov eax,2
820,22 → 792,19
;äã­ªæ¨ï ®¡à â­ ï ª ¤ ­­®© but_element_change
align 4
on_file_object_select:
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
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
pushad
;¢á¥ ¤¥©áâ¢¨ï ¯® ­ áâனª¥ í«¥¬¥­â®¢ ã¯à ¢«¥­¨ï ¢ë¯®«­ïîâáï ¢ ®ª­¥ ᮠ᢮©á⢠¬¨
mcall 51,1,prop_start,prop_thread
popad
@@:
call draw_window
;call draw_window
ret
 
align 4
944,9 → 913,9
show_mode db 0 ;०¨¬ ¤«ï ¯®ª §  ®¯à¥¤¥«¥­­®£® ®ª­ 
txtErrOpen db '¥ ­ ©¤¥­ ä ©«, ¯à®¢¥àì⥠¯à ¢¨«ì­®áâì ¨¬¥­¨',0
txtErrIni1 db '¥ ®âªàë«áï ä ©« á ®¯æ¨ï¬¨',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
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
 
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
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
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
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: ;¢¢¥àåã á⥪ ®á­®¢­®© ¯à®£à ¬¬ë
/programs/develop/kol_f_edit/ob_o.asm
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
@@: 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,'¥à¥¬¥­­ ï','¨¬ï ¯¥à¥¬¥­­®©*§­ ç¥­¨¥ ¯® 㬮«ç ­¨î*ª®¬¬¥­â à¨©',\
ObjOpt C_VAR, 0,0,'¥à¥¬¥­­ ï','¨¬ï ¯¥à¥¬¥­­®©*§­ ç¥­¨¥ ¯® 㬮«ç ­¨î*ª®¬¬¥­â à¨©',\
<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,' ¤¨® ª­®¯ª ','¨¬ï*®âáâ㯠᫥¢ *®âáâ㯠ᢥàåã*梥â ä®­  ¢­ãâà¨*梥â à ¬ª¨ ¨ ¢­ãâà. £ «®çª¨*梥â ⥪áâ *¯®¤¯¨áì*®âáâ㯠¤® ­ ¤¯¨á¨*à §¬¥à ª¢ ¤à â ',\
<10, 26, 15, 16, 25, 25, 25, 25, 25, -1, 4>,\
txt_bit_edit
ObjOpt C_OPT, 1,1,' ¤¨® ª­®¯ª ','¨¬ï*®âáâ㯠᫥¢ *®âáâ㯠ᢥàåã*梥â ä®­  ¢­ãâà¨*梥â à ¬ª¨ ¨ ¢­ãâà. £ «®çª¨*梥â ⥪áâ *¯®¤¯¨áì*®âáâ㯠¤® ­ ¤¯¨á¨*à §¬¥à ª¢ ¤à â ',\
<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,13 → 63,14
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,'¨á®¢ ­¨¥ ⥪áâ ','***梥â ⥪áâ *梥â ä®­  (¥á«¨ ¥áâì)',\
ObjOpt C_DTT, 1,1,'¨á®¢ ­¨¥ ⥪áâ ','⥪á⮢ ï áâப *ª®®à¤¨­ â  ¯® 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,'àאַ㣮«ì­¨ª','梥â*®âáâ㯠᫥¢ *®âáâ㯠ᢥàåã*è¨à¨­ *¢ëá®â ',\
< 4, 15, 16, 25, 25, -1, -1, -1, -1, -1, -1>,\
txt_bit_caption
ObjOpt C_REC, 1,1,'àאַ㣮«ì­¨ª','梥â*®âáâ㯠᫥¢ *®âáâ㯠ᢥàåã*è¨à¨­ *¢ëá®â ',\
<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, '-','',\
88,5 → 77,30
<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
 
 
/programs/develop/kol_f_edit/obj_codes.inc
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
/programs/develop/libraries/box_lib/trunk/doc/checkbox/info_checkbox.htm
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,21 → 69,24
.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>
<p>Version 1 áûëà ðàçðàáîòàíà â 2007-2009 ãîäàõ.</p>
<h1><a name="funct">Ôóíêöèè</a></h1>
122,6 → 126,6
<p>Ôëàæîê âûáðàí.</p>
 
<hr>
<p>Äîêóìåíòàöèÿ îáíîâëÿëàñü ïîñëåäíèé ðàç 10.01.10.</p>
<p>Äîêóìåíòàöèÿ îáíîâëÿëàñü ïîñëåäíèé ðàç 08.12.10.</p>
</body>
</html>
/programs/develop/libraries/box_lib/trunk/tree_list.mac
1,6 → 1,6
; ìàêðîñ äëÿ ñèñòåìíîé áèáëèîòåêè box_lib.obj
; ýëåìåíò TreeList äëÿ Kolibri OS
; ôàéë ïîñëåäíèé ðàç èçìåíÿëñÿ 09.06.2010 IgorA
; ôàéë ïîñëåäíèé ðàç èçìåíÿëñÿ 01.12.2010 IgorA
; íà êîä ïðèìåíåíà GPL2 ëèöåíçèÿ
 
 
920,12 → 920,12
tl_draw_node: ;ðèñóåò óçåë ñ: êàðòèíêîé, ïîäïèñüþ, èêîíêîé îòêðûòèÿ/çàêðûòèÿ è ëèíèÿìè ê ðîäèò. óçëó
push eax ebx ecx edx esi
 
mov ebx,1 ;1 - ìåñòî ïîä êóðñîð è ïîä çíàê +,-
mov ebx,1 ;1 - ìåñòî ïîä êóðñîð
bt tl_style,2 ;tl_list_box_mode
jc @f
inc ebx ;+1 - ìåñòî ïîä çíàê +,-
add bl,byte[edx+2] ;äîáàâëÿåì óðîâåíü ýëåìåíòà äëÿ åãî ó÷åòà â ëåâîì îòñòóïå èêîíêè
@@:
add bl,byte[edx+2];get level
imul bx,tl_img_cx
add ebx,tl_box_left