46,6 → 46,36 |
ret |
endp |
|
;ôóíêöèÿ âñòàâëÿåò 2 ïàðàìåòðà ïî 16 áèò â âèäå: |
; (_p1_ shl 16 + _p2_) |
align 4 |
proc insert_2_prop_16_bit, obj:dword, p_hi:dword, p_lo:dword |
stdcall insert_text, txt_skob_o |
stdcall insert_text_prop, [obj],[p_hi] |
stdcall insert_text, txt_shl_16 |
stdcall insert_text, txt_skob_c |
stdcall insert_text, txt_plus |
stdcall insert_text_prop, [obj],[p_lo] |
ret |
endp |
|
;âñòàâëÿåì ñòðîêó âèäà: |
; txt_(n) db (s) |
align 4 |
proc insert_text_label_data, obj:dword, col:dword |
push eax edx |
mov eax,[obj] |
stdcall insert_text, txt_txt |
mov edx,fp_icon |
stdcall get_obj_id_str, eax,edx ;edx = 'n' |
stdcall str_cat, edx,txt_db ;edx = 'n db ' |
stdcall insert_text, edx |
stdcall insert_text_prop, eax,[col] |
insert_nl |
pop edx eax |
ret |
endp |
|
macro insert_tab |
{ |
stdcall [ted_text_add], tedit0,txt_tab,1,ted_opt_ed_move_cursor |
82,12 → 112,7 |
{ |
stdcall [ted_text_add], tedit0,reg_name,2,ted_opt_ed_move_cursor |
} |
macro insert_i65p |
{ |
stdcall [ted_text_add], tedit0,txt_i65p,7,ted_opt_ed_move_cursor |
} |
|
|
; |
macro insert_but_beg |
{ |
151,7 → 176,7 |
; esi - óêàçàòåëü íà óçåë |
align 4 |
code_gen_obj: |
push ebx |
push ebx edx |
.beg_iterat: |
cmp esi,0 |
je .find_no |
165,9 → 190,24 |
je .find_no |
|
cmp dword[eax],C_STR |
jne @f |
stdcall insert_text,txt_struct |
jne .no_struct |
stdcall get_obj_text_col, eax,1 ;edx - óêàçàòåëü íà 1-å ñâîéñòâî ñòðóêòóðû |
stdcall insert_text,txt_struc |
cmp byte[edx],0 |
jne @f |
stdcall insert_text,txt_t |
@@: |
insert_sp |
stdcall insert_text_prop, eax,0 |
|
cmp byte[edx],0 |
je @f |
;åñëè ñòðóêòóðà çàäàíà ìàêðîñîì |
insert_sp |
stdcall insert_text_prop, eax,1 |
insert_nl |
stdcall insert_text, txt_skob_fo |
@@: |
insert_nl |
|
stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
181,9 → 221,16 |
call code_gen_obj ;ðåêóðñèâíûé âûçîâ äî÷åðíèõ îáúåêòîâ |
pop bx |
.end_st: |
cmp byte[edx],0 |
je @f |
;åñëè ñòðóêòóðà çàäàíà ìàêðîñîì |
stdcall insert_text, txt_skob_fc |
insert_nl |
jmp .beg_iterat |
@@: |
stdcall insert_text,txt_ends |
jmp .beg_iterat |
@@: |
.no_struct: |
cmp dword[eax],C_TXT |
jne @f |
stdcall get_code_text,eax ;îáðàáîòêà îáúåêòà |
218,7 → 265,7 |
|
jmp .beg_iterat |
.find_no: |
pop ebx |
pop edx ebx |
ret |
|
;äîáàâëåíèå îáúåêòà ñ ïðîãðàìíûì êîäîì (òåêñòîì) |
238,6 → 285,14 |
pushad |
insert_nl |
mov ebx,dword[p_obj] |
test_bool_prop ebx,BIT_MOD_ACI |
jae @f |
mov edx,C_CHB |
stdcall find_obj_in_file,edx ;eax - 㪠§ ⥫ì áâàãªâãàã check_box |
cmp eax,0 |
je @f |
stdcall insert_text, txt_std_init_cb |
@@: |
test_bool_prop ebx,BIT_MOD_ACM |
jae @f |
;àâòîìàòè÷åñêèå ñîáûòèÿ îò ìûøè |
254,6 → 309,16 |
test_bool_prop ebx,BIT_MOD_ACD |
jae @f |
call get_code_auto_data_el |
|
mov edx,C_CHB |
stdcall find_obj_in_file,edx ;eax - 㪠§ ⥫ì áâàãªâãàã check_box |
cmp eax,0 |
je .no_check |
stdcall insert_text, txt_cb_b |
call get_code_auto_data_el_cbox |
stdcall insert_text, txt_cb_e |
.no_check: |
|
call get_code_auto_data_dop |
|
mov edx,C_LIB |
260,6 → 325,7 |
stdcall find_obj_in_file,edx ;eax - óêàçàòåëü íà ñòðóêòóðó áèáëèîòåêè |
cmp eax,0 |
je @f |
insert_nl |
stdcall insert_text, txt_head_i |
stdcall insert_text, txt_d_poi |
insert_nl |
281,7 → 347,6 |
ret |
endp |
|
|
align 4 |
proc get_code_auto_m |
pushad |
299,19 → 364,13 |
cmp dword[ebx],C_EDB |
jne @f |
stdcall insert_text, txt_std_mouse_ed |
;insert_sp |
stdcall get_obj_text_col,ebx,0 |
stdcall str_len,edx |
stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor |
stdcall insert_text_prop, ebx,0 |
insert_nl |
@@: |
cmp dword[ebx],C_CHB |
jne @f |
stdcall insert_text, txt_std_mouse_cb |
;insert_sp |
stdcall get_obj_text_col,ebx,0 |
stdcall str_len,edx |
stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor |
stdcall insert_text_prop, ebx,0 |
insert_nl |
@@: |
|
361,7 → 420,7 |
|
mov edx,fp_icon |
stdcall get_obj_id_str, ebx,edx |
stdcall insert_text,edx |
stdcall insert_text, edx |
|
stdcall insert_text, txt_mouse_dd |
|
396,13 → 455,95 |
@@: |
cmp dword[ebx],C_DTT |
jne @f |
stdcall insert_text_label_data, ebx,0 |
@@: |
|
stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
pop esi ;ïåðåõîäèì ê ñëåäóùåìó óçëó |
|
jmp .beg_iterat |
.find_no: |
popad |
ret |
endp |
|
align 4 |
proc get_code_auto_data_el_cbox |
pushad |
insert_nl ;îòñòóï äëÿ ôîðìàòèðîâàíèÿ |
|
stdcall dword[tl_node_poi_get_info], 0,tree2 |
pop esi |
.beg_iterat: |
cmp esi,0 |
je .find_no |
|
stdcall dword[tl_node_poi_get_data], esi,tree2 |
pop ebx ;ïîëó÷àåì äàííûå óçëà |
cmp ebx,0 |
je .find_no |
|
cmp dword[ebx],C_CHB |
jne .no_check |
;1,2,3,4,5, 6,7,8, 9 - ot_x,ot_y,w,h,ot_w_txt, col_fon,col_frame,col_txt, txt |
|
stdcall insert_text_prop, ebx,0 |
stdcall insert_text, txt_cbox |
insert_sp |
|
stdcall insert_2_prop_16_bit, ebx,1,3 |
stdcall insert_text, txt_coma |
stdcall insert_2_prop_16_bit, ebx,2,4 |
stdcall insert_text, txt_coma |
|
stdcall insert_text_prop, ebx,5 |
stdcall insert_text, txt_coma |
insert_sp |
|
stdcall insert_text_prop, ebx,6 |
stdcall insert_text, txt_coma |
stdcall insert_text_prop, ebx,7 |
stdcall insert_text, txt_coma |
;stdcall insert_text, txt_bit_31 |
;stdcall insert_text, txt_plus |
stdcall insert_text_prop, ebx,8 |
stdcall insert_text, txt_coma |
stdcall insert_text, txt_br |
|
stdcall insert_text, txt_txt |
mov edx,fp_icon |
stdcall get_obj_id_str, ebx,edx |
stdcall insert_text,edx |
stdcall insert_text, txt_db |
stdcall insert_text_prop, ebx,0 |
stdcall insert_text, edx |
stdcall insert_text, txt_coma |
|
;ôëàãè |
stdcall insert_text,txt_0 |
test_bool_prop ebx,BIT_MOD_CHE |
jnc @f |
stdcall insert_text,txt_plus |
stdcall insert_text,txt_bit_che |
@@: |
test_bool_prop ebx,BIT_MOD_CHE_T |
jnc @f |
stdcall insert_text,txt_plus |
stdcall insert_text,txt_bit_che_t |
@@: |
test_bool_prop ebx,BIT_MOD_CHE_M |
jnc @f |
stdcall insert_text,txt_plus |
stdcall insert_text,txt_bit_che_m |
@@: |
test_bool_prop ebx,BIT_MOD_CHE_B |
jnc @f |
stdcall insert_text,txt_plus |
stdcall insert_text,txt_bit_che_b |
@@: |
|
insert_nl |
.no_check: |
cmp dword[ebx],C_DTT |
jne @f |
stdcall insert_text_label_data, ebx,0 |
@@: |
|
stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
610,6 → 751,10 |
cmp dword[ecx],C_IFN |
jne @b |
;âñòàâêà óêàçàòåëÿ íà ôóíêöèþ |
test_bool_prop ecx,BIT_MOD_IMPORT_FUNCT_COMMENT |
jae .no_com_0 |
stdcall insert_text, txt_com |
.no_com_0: |
insert_tab |
stdcall insert_text_prop, ecx,0 |
stdcall insert_text, txt_dd |
634,6 → 779,10 |
cmp dword[ecx],C_IFN |
jne @b |
;âñòàâêà èìåíè èìïîðòèðîâàííîé ôóíêöèè |
test_bool_prop ecx,BIT_MOD_IMPORT_FUNCT_COMMENT |
jae .no_com_1 |
stdcall insert_text, txt_com |
.no_com_1: |
insert_tab |
stdcall insert_text_prop, edx,3 ;ïðèñòàâêà ê ôóíêöèè |
stdcall insert_text_prop, ecx,0 |
715,6 → 864,10 |
insert_0 |
insert_nl |
@@: |
cmp dword[ebx],C_CHB |
jne @f |
stdcall insert_text_label_data, ebx,9 |
@@: |
|
stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
pop esi ;ïåðåõîäèì ê ñëåäóùåìó óçëó |
913,9 → 1066,7 |
stdcall insert_text, txt_mov |
insert_reg txt_ebx |
insert_coma |
stdcall insert_text_prop, ebx,2 |
insert_i65p |
stdcall insert_text_prop, ebx,4 |
stdcall insert_2_prop_16_bit, ebx,2,4 |
insert_nl |
|
;mov ecx,... |
923,9 → 1074,7 |
stdcall insert_text, txt_mov |
insert_reg txt_ecx |
insert_coma |
stdcall insert_text_prop, ebx,3 |
insert_i65p |
stdcall insert_text_prop, ebx,5 |
stdcall insert_2_prop_16_bit, ebx,3,5 |
insert_nl |
|
;mov edx,... |
1004,9 → 1153,7 |
stdcall insert_text, txt_mov |
insert_reg txt_ebx |
insert_coma |
stdcall insert_text_prop, ebx,1 |
insert_i65p |
stdcall insert_text_prop, ebx,3 |
stdcall insert_2_prop_16_bit, ebx,1,3 |
insert_nl |
|
insert_tab |
1013,9 → 1160,7 |
stdcall insert_text, txt_mov |
insert_reg txt_ecx |
insert_coma |
stdcall insert_text_prop, ebx,2 |
insert_i65p |
stdcall insert_text_prop, ebx,4 |
stdcall insert_2_prop_16_bit, ebx,2,4 |
insert_nl |
|
insert_tab |
1060,9 → 1205,7 |
stdcall insert_text, txt_mov |
insert_reg txt_ebx |
insert_coma |
stdcall insert_text_prop, ebx,1 |
insert_i65p |
stdcall insert_text_prop, ebx,3 |
stdcall insert_2_prop_16_bit, ebx,1,3 |
insert_nl |
|
insert_tab |
1069,9 → 1212,7 |
stdcall insert_text, txt_mov |
insert_reg txt_ecx |
insert_coma |
stdcall insert_text_prop, ebx,2 |
insert_i65p |
stdcall insert_text_prop, ebx,4 |
stdcall insert_2_prop_16_bit, ebx,2,4 |
insert_nl |
|
insert_tab |
1098,9 → 1239,7 |
stdcall insert_text, txt_mov |
insert_reg txt_ebx |
insert_coma |
stdcall insert_text_prop, ebx,1 |
insert_i65p |
stdcall insert_text_prop, ebx,2 |
stdcall insert_2_prop_16_bit, ebx,1,2 |
insert_nl |
|
insert_tab |
1215,6 → 1354,10 |
txt_str_beg db 39,0 |
txt_str_end db 39,',0',0 |
txt_coma db ',',0 |
txt_skob_o db '(',0 |
txt_skob_c db ')',0 |
txt_skob_fo db '{',0 ;ñêîáêà ôèãóðíàÿ îòêðûâàþùàÿ |
txt_skob_fc db '}',0 ;ñêîáêà ôèãóðíàÿ çàêðûâàþùàÿ |
txt_i_40 db 'int 0x40',13,0 |
txt_0 db '0',0 |
txt_1 db '1',0 |
1257,8 → 1400,13 |
txt_bit_29 db '0x20000000',0 |
txt_bit_30 db '0x40000000',0 |
txt_bit_31 db '0x80000000',0 |
txt_bit_che db 'ch_flag_en',0 |
txt_bit_che_t db 'ch_flag_top',0 |
txt_bit_che_m db 'ch_flag_middle',0 |
txt_bit_che_b db 'ch_flag_bottom',0 |
txt_0x33000000 db '0x33000000',0 ;tmp |
txt_struct db 'struct ',0 |
txt_struc db 'struc',0 |
txt_t db 't',0 |
txt_met_end db '.end',0 |
txt_ends db 'ends',13,13,0 |
txt_mov db 'mov ',0 |
1278,9 → 1426,11 |
txt_align_4 db 'align 4',13,0 |
txt_d_poi db ':',0 |
txt_ret db 'ret',13,0 |
txt_i65p db '*65536+',0 |
txt_shl_16 db ' shl 16',0 |
txt_std_mouse_ed: |
db 9,'stdcall [edit_box_mouse], ',0 |
txt_std_init_cb: |
db 9,'init_checkboxes2 check_boxes,check_boxes_end',13,0 |
txt_std_mouse_cb: |
db 9,'stdcall [check_box_mouse], ',0 |
txt_std_key_ed: |
1287,6 → 1437,11 |
db 9,'stdcall [edit_box_key], ',0 |
txt_incl: |
db 'include ',0 |
|
txt_cbox db ' check_box2',0 |
txt_cb_b db 13,'check_boxes:',0 |
txt_cb_e db 'check_boxes_end:',13,0 |
|
txt_ebox db ' edit_box',0 |
txt_editb_draw: |
db 9,'stdcall [edit_box_draw], ',0 |