Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 1714 → Rev 1713

/programs/develop/kol_f_edit/obj_codes.inc
File deleted
\ No newline at end of file
/programs/develop/kol_f_edit/ced_wnd_prop.inc
File deleted
/programs/develop/kol_f_edit/ced_code_g.inc
164,7 → 164,7
cmp eax,0
je .find_no
 
cmp byte[eax],C_STR
cmp byte[eax],C_ST
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_TXT
cmp byte[eax],C_TT
jne @f
stdcall get_code_text,eax ;îáðàáîòêà îáúåêòà
@@:
cmp byte[eax],C_INC
cmp byte[eax],C_IN
jne @f
stdcall get_code_incl,eax ;îáðàáîòêà îáúåêòà
@@:
cmp byte[eax],C_COM
cmp byte[eax],C_CO
jne @f
stdcall get_code_comment,eax ;îáðàáîòêà îáúåêòà
@@:
cmp byte[eax],C_VAR
cmp byte[eax],C_VR
jne @f
stdcall get_code_variable,eax,ebx ;îáðàáîòêà îáúåêòà
@@:
cmp byte[eax],C_WND
cmp byte[eax],C_WI
jne @f
stdcall get_code_window,eax ;îáðàáîòêà îáúåêòà
@@:
cmp byte[eax],C_ACO
cmp byte[eax],C_AC
jne @f
stdcall get_code_auto,eax ;îáðàáîòêà îáúåêòà
@@:
cmp byte[eax],C_KEY ;êëàâèàòóðà
cmp byte[eax],C_KE ;êëàâèàòóðà
jne @f
stdcall get_code_key,eax ;îáðàáîòêà îáúåêòà
@@:
298,7 → 298,7
cmp ebx,0
je .find_no
 
cmp byte[ebx],C_EDB
cmp byte[ebx],C_ED
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_CHB
cmp byte[ebx],C_CB
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_EDB
cmp byte[ebx],C_ED
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_str, ebx,edx
stdcall get_obj_id, ebx,edx
stdcall insert_text,edx
 
stdcall insert_text, txt_mouse_dd
396,11 → 396,11
.null_string:
insert_nl
@@:
cmp byte[ebx],C_DTT
cmp byte[ebx],C_DT
jne @f
stdcall insert_text, txt_txt
mov edx,fp_icon
stdcall get_obj_id_str, ebx,edx
stdcall get_obj_id, 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_str, ebx,edx
stdcall get_obj_id, 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_str, ebx,edx
stdcall get_obj_id, 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_EDB
cmp byte[ebx],C_ED
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_str, ebx,edx
stdcall get_obj_id, 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_str, ebx,edx
stdcall get_obj_id, ebx,edx
stdcall insert_text,edx
 
stdcall insert_text, txt_minus
717,7 → 717,7
insert_0
insert_nl
@@:
;cmp byte[ebx],C_CHB
;cmp byte[ebx],C_CB
;jne @f
;@@:
 
745,7 → 745,7
cmp ebx,0
je .find_no
 
cmp byte[ebx],C_BUT
cmp byte[ebx],C_BU
jne @f
insert_tab
insert_cmp
797,7 → 797,7
cmp ebx,0
je .find_no
 
cmp byte[ebx],C_BUT
cmp byte[ebx],C_BU
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_EDB
cmp byte[ebx],C_ED
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_EDB
cmp byte[ebx],C_ED
jne @f
stdcall insert_text, txt_editb_draw
stdcall insert_text_prop, ebx,0
insert_nl
@@:
cmp byte[ebx],C_CHB
cmp byte[ebx],C_CB
jne @f
stdcall insert_text, txt_cbox_draw
stdcall insert_text_prop, ebx,0
insert_nl
@@:
cmp byte[ebx],C_BUT
cmp byte[ebx],C_BU
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_REC
cmp byte[ebx],C_RE
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_DTT ;ðèñîâàíèå òåêñòà ÷åðåç ñèñò. ô. 4
cmp byte[ebx],C_DT ;ðèñîâàíèå òåêñòà ÷åðåç ñèñò. ô. 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_str, ebx,edx
stdcall get_obj_id, ebx,edx
stdcall insert_text,edx
insert_nl
 
1295,11 → 1295,8
db 9,'jmp still',13
txt_key_3:
 
;ïîëó÷àåì ïîðÿäêîâûé íîìåð îáúåêòà îòíîñèòåëüíî ïàìÿòè ýëåìåíòà tree2
;output:
; txt_buf - ñòðîêà ñ íîìåðîì îáúåêòà
align 4
proc get_obj_id_str, p_obj:dword, txt_buf:dword
proc get_obj_id, p_obj:dword, txt_buf:dword
push eax ecx edx
mov eax,dword[p_obj]
sub eax,[tree2.data_info]
1315,22 → 1312,6
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_wnd_m.inc
1,4 → 1,92
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:
46,47 → 134,20
but_element_change:
;foc_obj - 㪠§ â¥«ì ­  ¯®á«¥¤­¨© ¢ë¡à ­­ë© 㧥« ¢ tree2
cmp dword[foc_obj],0
je .err_obj
je @f
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 @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
jl .cycle
popad
@@:
 
;ãáâ ­®¢ª  «®£¨ç¥áª¨å ᢮©áâ¢
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:
198,7 → 259,7
endp
 
align 4
proc draw_obj_icon, o_type:dword,n_col:dword, coord_y:dword
proc draw_icon_obj, o_type:dword,n_col:dword, coord_y:dword
pushad
xor ebx,ebx
mov bl,byte[o_type]
222,7 → 283,8
 
mov eax,7
mov ecx,0x100010 ;ecx - size:16*16
mov edx,3 ;®âáâ㯠®â «¥¢®£® ªà ï à ¬ª¨ ¤® ¨ª®­ª¨
mov edx,[wndObjI.left]
add edx,3 ;®âáâ㯠®â «¥¢®£® ªà ï à ¬ª¨ ¤® ¨ª®­ª¨
shl edx,16
add edx,[coord_y]
int 0x40
231,55 → 293,7
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/kol_f_edit.asm
16,11 → 16,10
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 08.12.10',0
hed db 'kol_f_edit 29.11.10',0
 
sizeof.TreeList equ 20 ;need for element 'tree_list'
 
34,38 → 33,39
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_CAPTIONS equ 1000 ;à §¬¥à ¤®¯®«­¨â¥«ì­ëå ¯®¤¯¨á¥© ¯®¤¯¨á¥©
MAX_OBJ_TYPES equ 18
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
db ?
c db ?
bl_type db ?
graph db ?
info rb 30
123,7 → 123,6
caption rb 200
Col rw MAX_OPT_FIELDS
img rw MAX_OPT_FIELDS ;¨­¤¥ªáë ª à⨭®ª (¢ ä ©«¥ 'icon.bmp')
bit_prop dd 0 ;¡¨â®¢ë¥ ᢮©á⢠
ends
 
SKIN_H equ 22
152,7 → 151,6
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' ;ä ©« á äã­ªæ¨ï¬¨ £¥­¥à¨à®¢ ­¨ï ª®¤®¢
 
182,15 → 180,17
mcall -1 ;exit not correct
@@:
 
;§ ¤ ­¨¥ à §¬¥à®¢ ¯®«¥© ᮠ᢮©á⢠¬¨
mov eax,prop_edits_top
mov ebx,16+6 ;è¨à¨­  ¨ª®­ª¨ + ®âáâã¯ë
mov eax,[wndObjI.top]
add eax,[recMain.top]
inc eax
mov ebx,[wndObjI.left]
add ebx,16+6 ;è¨à¨­  ¨ª®­ª¨ + ®âáâã¯ë
mov edi,edit2
@@:
mov ed_top,eax ;®âáâ㯠ᢥàåã
mov ed_left,ebx ;®âáâ㯠᫥¢ 
add edi,ed_struc_size
add eax,prop_edits_height
add eax,[recMain.height]
cmp edi,prop_wnd_edits_end
jl @b
 
226,9 → 226,8
load_image_file fn_icon_tl_sys, icon_tl_sys,TREE_ICON_SYS16_BMP_SIZE
;¥á«¨ ¨§®¡à ¦¥­¨¥ ­¥ ®âªàë«®áì, â® ¢ icon_tl_sys ¡ã¤ãâ
;­¥ ¨­¨æ¨ «¨§¨à®¢ ­­ë¥ ¤ ­­ë¥, ­® ®è¨¡ª¨ ­¥ ¡ã¤¥â, â. ª. ¡ãä¥à ­ã¦­®£® à §¬¥à 
mov eax,dword[icon_tl_sys]
mov dword[tree1.data_img_sys],eax
mov dword[tree2.data_img_sys],eax
m2m dword[tree1.data_img_sys],dword[icon_tl_sys]
m2m dword[tree2.data_img_sys],dword[icon_tl_sys]
 
;1-© ä ©« ᪨­ 
load_image_file fn_skin_1, icon_font_s1,IMAGE_FILE_SKIN1_SIZE
255,7 → 254,7
;load options file
mov eax,70
mov [run_file_70.Position], 0
mov [run_file_70.Count], sizeof.ObjOpt*MAX_OBJ_TYPES+MAX_OBJ_CAPTIONS
mov [run_file_70.Count], sizeof.ObjOpt*MAX_OBJ_TYPES
mov [run_file_70.Buffer], obj_opt
mov [run_file_70.FileName], fp_obj_opt
mov ebx,run_file_70
272,7 → 271,7
cmp bl,0
je @f
;xor ecx,ecx ;¢ ecx ¡ã¤¥â ¨­¤¥ªá ¨ª®­ª¨
mov cx,word[eax+obj_opt.img-obj_opt]
mov cx,word[eax+sizeof.ObjOpt-2*MAX_OPT_FIELDS]
cmp cx,0
jge .zero
xor cx,cx ;çâ®-¡ë ­¥ £«î稫® á ®âà¨æ â¥«ì­ë¬ ¨­¤¥ªá®¬
455,15 → 454,21
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 tree1
stdcall [scrollbar_ver_draw],dword w_scr_t1
stdcall [tl_draw],dword tree2
mov dword[w_scr_t2.all_redraw],1
;stdcall [scrollbar_ver_draw],dword w_scr_t2
stdcall [tl_draw],dword tree2
stdcall [scrollbar_ver_draw],dword w_scr_t2
 
cmp byte[show_mode],0 ;ãá«®¢¨¥ ¢¨¤¨¬®á⨠®ª­  ª®­áâàãªâ®à 
jne @f
480,6 → 485,14
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
494,10 → 507,27
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
511,10 → 541,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
623,7 → 653,7
 
call find_obj_in_opt ;edi = pointer to ObjOpt struct
 
mov cx,word[edi+obj_opt.img-obj_opt]
mov cx,word[edi+sizeof.ObjOpt-2*MAX_OPT_FIELDS]
cmp cx,0
jge .zero
xor cx,cx ;çâ®-¡ë ­¥ £«î稫® á ®âà¨æ â¥«ì­ë¬ ¨­¤¥ªá®¬
713,8 → 743,6
ret
 
;¡¥à¥â ­®¬¥à ¯® ¯®à浪㠯® 㪠§ â¥«î ­  áâàãªâãàã ®¡ê¥ªâ 
;output:
; eax - ­®¬¥à ®¡ê¥ªâ 
align 4
proc get_obj_npp, p_obj_str:dword
mov eax,2
792,19 → 820,22
;äã­ªæ¨ï ®¡à â­ ï ª ¤ ­­®© 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
pushad
;¢á¥ ¤¥©áâ¢¨ï ¯® ­ áâனª¥ í«¥¬¥­â®¢ ã¯à ¢«¥­¨ï ¢ë¯®«­ïîâáï ¢ ®ª­¥ ᮠ᢮©á⢠¬¨
mcall 51,1,prop_start,prop_thread
popad
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
@@:
;call draw_window
call draw_window
ret
 
align 4
913,9 → 944,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
 
956,7 → 987,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,280, 0,3,0, el_focus,\
16,16, 0xffffff,0xb0d0ff,0xd000ff, 5,50,125,100, 0,3,0, el_focus,\
w_scr_t1,on_add_object
;¤¥à¥¢® á ®¡ê¥ªâ ¬¨ ¢ ¯®«ì§®¢ â¥«ì᪮¬ ä ©«¥
tree2 tree_list sizeof.object,MAX_CED_OBJECTS+2, tl_draw_par_line,\
1156,13 → 1187,15
 
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)+MAX_OBJ_CAPTIONS
rb sizeof.ObjOpt*(MAX_OBJ_TYPES-1)
db 0 ;eof options
 
cur_x dd 0
1275,10 → 1308,6
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
 
1341,10 → 1370,6
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
1483,8 → 1508,6
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,8 → 1,26
;lang equ ru
 
include 'obj_codes.inc'
MAX_LEN_OBJ_TXT equ 200
 
macro ObjOpt c,bl_type,graph,info,caption,Col,img,bit_prop
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
{
db c
db bl_type
12,49 → 30,43
@@: db caption
rb @b+MAX_LEN_OBJ_TXT-$
dw Col
dw img ;¨­¤¥ªáë ª à⨭®ª (¢ ä ©«¥ 'icon.bmp')
dd bit_prop+0
dw img
}
 
ObjOpt C_TDF, 0,0,'’¨¯ ¤ ­­®£®','',\
ObjOpt C_TD, 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_VAR, 0,0,'¥à¥¬¥­­ ï','¨¬ï ¯¥à¥¬¥­­®©*§­ ç¥­¨¥ ¯® 㬮«ç ­¨î*ª®¬¬¥­â à¨©',\
ObjOpt C_VR, 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_STR, 1,0,'‘âàãªâãà ','¨¬ï áâàãªâãàë*¯ à ¬¥âàë ¤«ï ¬ ªà®á ',\
ObjOpt C_ST, 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_ACO, 1,0,'€¢â® ª®¤','',\
ObjOpt C_AC, 1,0,'€¢â® ª®¤','',\
<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>,\
<2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1>,\
txt_bit_auto
ObjOpt C_BUT, 1,1,'Š­®¯ª ','¨¤¥­â¨ä¨ª â®à*®âáâ㯠᫥¢ *®âáâ㯠ᢥàåã*è¨à¨­ *¢ëá®â *梥â*¨¬ï ¬¥âª¨ ¯à¨ ­ ¦ â¨¨',\
<2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1>
ObjOpt C_BU, 1,1,'Š­®¯ª ','¨¤¥­â¨ä¨ª â®à*®âáâ㯠᫥¢ *®âáâ㯠ᢥàåã*è¨à¨­ *¢ëá®â *梥â*¨¬ï ¬¥âª¨ ¯à¨ ­ ¦ â¨¨',\
<20, 40, 60, 80,100,120, 0, 0, 0, 0, 0>,\
<29, 15, 16, 26, 27, 25, -1, -1, -1, -1,-1>,\
txt_bit_but
ObjOpt C_EDB, 1,1,'’¥ªá⮢®¥ ¯®«¥','***®âáâ㯠ᢥàåã*梥â ä®­ *梥⠢뤥«¥­¨ï ¯à¨ 㤥ন¢ ­¨¨ shift ¨«¨ ¬ë誮©*梥â à ¬ª¨*¯à¨ ­¥ ªâ¨¢­®¬ ¡®ªá¥ 梥â à ¬ª¨*梥â ⥪áâ *¬ ªá¨¬ «ì­ ï ¤«¨­  ⥪áâ *­ ç «ì­ë© ⥪áâ',\
<29, 15, 16, 26, 27, 25, -1, -1, -1, -1,-1>
ObjOpt C_ED, 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>,\
txt_bit_edit
ObjOpt C_OPT, 1,1,' ¤¨® ª­®¯ª ','¨¬ï*®âáâ㯠᫥¢ *®âáâ㯠ᢥàåã*梥â ä®­  ¢­ãâà¨*梥â à ¬ª¨ ¨ ¢­ãâà. £ «®çª¨*梥â ⥪áâ *¯®¤¯¨áì*®âáâ㯠¤® ­ ¤¯¨á¨*à §¬¥à ª¢ ¤à â ',\
<10, 26, 15, 16, 25, 25, 25, 25, 25, -1, 4>
ObjOpt C_OP, 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_CHB, 1,1,'”« ¦®ª','***¯®¤¯¨áì*梥â ä®­  ¢­ãâà¨*梥â à ¬ª¨ ¨ ¢­ãâà. £ «®çª¨*梥â ⥪áâ *®âáâ㯠¤® ­ ¤¯¨á¨*à §¬¥à ª¢ ¤à â ',\
ObjOpt C_CB, 1,1,'”« ¦®ª','***¯®¤¯¨áì*梥â ä®­  ¢­ãâà¨*梥â à ¬ª¨ ¨ ¢­ãâà. £ «®çª¨*梥â ⥪áâ *®âáâ㯠¤® ­ ¤¯¨á¨*à §¬¥à ª¢ ¤à â ',\
<40, 50, 60,120,140,160,180,190, 0, 0, 0>,\
< 8, 15, 16, 4, 25, 25, 25, 26, 27, -1, -1>,\
txt_bit_che
ObjOpt C_TXT, 1,0,'asm ª®¤','',\
< 8, 15, 16, 4, 25, 25, 25, 26, 27, -1, -1>
ObjOpt C_TT, 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_WND, 1,1,'Žª­®','**®âáâ㯠᫥¢ *®âáâ㯠ᢥàåã*è¨à¨­ *¢ëá®â *梥⠪«¨¥­â᪮© ®¡« áâ¨*梥⠧ £®«®¢ª  (¥á«¨ ¥áâì)',\
ObjOpt C_WI, 1,1,'Žª­®','**®âáâ㯠᫥¢ *®âáâ㯠ᢥàåã*è¨à¨­ *¢ëá®â *梥⠪«¨¥­â᪮© ®¡« áâ¨*梥⠧ £®«®¢ª  (¥á«¨ ¥áâì)',\
<98,100,110,120,130,150,170, 0, 0, 0, 0>,\
<12, -1, 15, 16, 26, 27, 25, 25, -1, -1, -1>,\
txt_bit_wnd
ObjOpt C_COM, 1,0,'Š®¬¬¥­â à¨©','áâப  ª®¬¬¥­â à¨ï',\
<12, -1, 15, 16, 26, 27, 25, 25, -1, -1, -1>
ObjOpt C_CO, 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_INC, 1,0,'‚ª«î祭¨¥ ä ©« ','¨¬ï ä ©« *ª®¬¬¥­â à¨©',\
ObjOpt C_IN, 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,'ˆ¬¯®àâ ¡¨¡«¨®â¥ª¨','¨¬ï ¡¨¡«.*á¨áâ. ¤¨à.*¬¥âª  ¨¬¯®àâ *¯à¨áâ ¢ª *®è¨¡ª  ­¥ ­ ©¤¥­ *®è¨¡ª  ­¥ ¬®£ã ®âªàëâì',\
63,14 → 75,13
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_DTT, 1,1,'¨á®¢ ­¨¥ ⥪áâ ','⥪á⮢ ï áâப *ª®®à¤¨­ â  ¯® x*ª®®à¤¨­ â  ¯® y*梥â ⥪áâ *梥â ä®­  (¥á«¨ ¥áâì)',\
ObjOpt C_DT, 1,1,'¨á®¢ ­¨¥ ⥪áâ ','***梥â ⥪áâ *梥â ä®­  (¥á«¨ ¥áâì)',\
<40, 50, 60, 80, 0, 0, 0, 0, 0, 0, 0>,\
< 4, 15, 16, 25, 25, -1, -1, -1, -1, -1, -1>,\
txt_bit_caption
ObjOpt C_REC, 1,1,'àאַ㣮«ì­¨ª','梥â*®âáâ㯠᫥¢ *®âáâ㯠ᢥàåã*è¨à¨­ *¢ëá®â ',\
< 4, 15, 16, 25, 25, -1, -1, -1, -1, -1, -1>
ObjOpt C_RE, 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_KEY, 1,0,'‘®¡ë⨥ ­  ª« ¢¨ âãàã','',\
ObjOpt C_KE, 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, '-','',\
77,30 → 88,5
<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/ced_constr.inc
24,7 → 24,7
@@:
 
xor edx,edx
mov dl,C_WND
mov dl,C_WI
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_BUT
mov dl,C_BU
stdcall draw_arr_objects, edx,draw_obj_but
mov dl,C_EDB
mov dl,C_ED
stdcall draw_arr_objects, edx,draw_obj_edit
mov dl,C_CHB
mov dl,C_CB
stdcall draw_arr_objects, edx,draw_obj_check
mov dl,C_DTT
mov dl,C_DT
stdcall draw_arr_objects, edx,draw_obj_text
mov dl,C_REC
mov dl,C_RE
stdcall draw_arr_objects, edx,draw_obj_rect_f13
 
.end_draw:
/programs/develop/libraries/box_lib/trunk/doc/checkbox/info_checkbox.htm
55,7 → 55,6
<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
69,24 → 68,21
.size_of_str: dd 0x0 ;äëèííà ñòðîêè, âû÷èñëÿåòñÿ ïðè èíèöèàëèçàöèè êîìïîíåíòà
}
</pre>
<p><b>left_s</b> - îòñòóï ñëåâà + øèðèíà (â ôîðìàòå: ïîëîæåíèå ïî x * 65536 + äëèííà ïî õ).</p>
<p><b>top_s</b> - îòñòóï ñâåðõó + âûñîòà (â ôîðìàòå: ïîëîæåíèå ïî y * 65536 + äëèííà ïî y).</p>
<p><b>left_s</b> - îòñòóï ñëåâà + äëèííà â ôîðìàòå (ïîëîæåíèå ïî x * 65536 +äëèííà ïî õ).</p>
<p><b>top</b> - îòñòóï ñâåðõó + äëèííà ïî y (ïîëîæåíèå ïî y* 65536 +äëèííà ïî y).</p>
<p><b>ch_text_margin</b> - ðàññòîÿíèå îò ïðÿìîóãîëüíèêà ÷åê áîêñà äî íàäïèñè.</p>
<p><b>color</b> - öâåò âíóòðè ÷åêáîêñà.</p>
 
<h1><a name="checkbox_styles">Ñòèëè ýëåìåíòà</a></h1>
 
<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>
<pre>
ch_flag_en = 10b ;ôëàã óñòàíîâëåííîãî ÷åê áîêñà.
ch_flag_top = 0x0 ;ôëàã ðàñïîëîæåíèÿ òåêñòà ââåðõó ò.å. 3-é áèò
ch_flag_middle = 100b ;ôëàã ðàñïîëîæåíèÿ òåêñòà â öåíòðå ò.å. 4-é áèò.
ch_flag_bottom = 1000b ;ôëàã ðàñïîëîæåíèÿ òåêñòà â íèçó ò.å. ïî óìîë÷àíèþ ïðèíèìàåòñÿ çíà÷åíèå âíèçó ò.å. îòñóñòâèå 3-ãî è 4-ãî áèòà
</pre>
 
 
 
<h1><a name="version1">Checkbox version 1</a></h1>
<p>Version 1 áûëà ðàçðàáîòàíà â 2007-2009 ãîäàõ.</p>
<h1><a name="funct">Ôóíêöèè</a></h1>
126,6 → 122,6
<p>Ôëàæîê âûáðàí.</p>
 
<hr>
<p>Äîêóìåíòàöèÿ îáíîâëÿëàñü ïîñëåäíèé ðàç 08.12.10.</p>
<p>Äîêóìåíòàöèÿ îáíîâëÿëàñü ïîñëåäíèé ðàç 10.01.10.</p>
</body>
</html>
/programs/develop/libraries/box_lib/trunk/tree_list.mac
1,6 → 1,6
; ìàêðîñ äëÿ ñèñòåìíîé áèáëèîòåêè box_lib.obj
; ýëåìåíò TreeList äëÿ Kolibri OS
; ôàéë ïîñëåäíèé ðàç èçìåíÿëñÿ 01.12.2010 IgorA
; ôàéë ïîñëåäíèé ðàç èçìåíÿëñÿ 09.06.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