Subversion Repositories Kolibri OS

Rev

Rev 1727 | Rev 1904 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1727 Rev 1732
Line 136... Line 136...
136
{
136
{
137
	stdcall [ted_text_add], tedit0,reg_name,2,ted_opt_ed_move_cursor
137
	stdcall [ted_text_add], tedit0,reg_name,2,ted_opt_ed_move_cursor
138
}
138
}
Line 139... Line 139...
139
 
139
 
140
;
-
 
141
macro insert_but_beg
-
 
142
{
-
 
143
	stdcall [ted_text_add], tedit0,txt_but_1,txt_but_2-txt_but_1,ted_opt_ed_move_cursor
-
 
144
}
-
 
145
macro insert_but_end
-
 
146
{
-
 
147
	stdcall [ted_text_add], tedit0,txt_but_2,txt_but_3-txt_but_2,ted_opt_ed_move_cursor
-
 
148
}
-
 
149
;
140
;
150
macro insert_key_beg
141
macro insert_key_beg
151
{
142
{
152
	stdcall [ted_text_add], tedit0,txt_key_1,txt_key_2-txt_key_1,ted_opt_ed_move_cursor
143
	stdcall [ted_text_add], tedit0,txt_key_1,txt_key_2-txt_key_1,ted_opt_ed_move_cursor
153
}
144
}
Line 198... Line 189...
198
;input:
189
;input:
199
; bl - ã஢¥­ì ®¡ê¥ªâ 
190
; bl - ã஢¥­ì ®¡ê¥ªâ 
200
; esi - 㪠§ â¥«ì ­  㧥«
191
; esi - 㪠§ â¥«ì ­  㧥«
201
align 4
192
align 4
202
code_gen_obj:
193
code_gen_obj:
203
push ebx edx
194
push eax ebx edx
204
	.beg_iterat:
195
	.beg_iterat:
205
		cmp esi,0
196
		cmp esi,0
206
		je .find_no
197
		je .find_no
Line 207... Line 198...
207
 
198
 
Line 231... Line 222...
231
				stdcall insert_text_prop, eax,1
222
				stdcall insert_text_prop, eax,1
232
				insert_nl
223
				insert_nl
233
				stdcall insert_text, txt_skob_fo
224
				stdcall insert_text, txt_skob_fo
234
			@@:
225
			@@:
235
			insert_nl
226
			insert_nl
236
			
-
 
237
			stdcall dword[tl_node_poi_get_next_info], esi,tree2
227
			stdcall get_code_children_objects, esi
238
			pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã
-
 
239
			cmp esi,0
-
 
240
			je .end_st
-
 
241
			cmp byte[esi+2],bl ;lev
-
 
242
			jle .end_st
-
 
243
				push bx
-
 
244
					mov bl,byte[esi+2]
-
 
245
					call code_gen_obj ;४ãàᨢ­ë© ¢ë§®¢ ¤®ç¥à­¨å ®¡ê¥ªâ®¢
228
			call move_next_no_child_objects ;¯à®¯ã᪠¤®ç¥à­¨å ®¡¥ªâ®¢
246
				pop bx
-
 
247
			.end_st:
-
 
248
			cmp byte[edx],0
229
			cmp byte[edx],0
249
			je @f
230
			je @f
250
				;¥á«¨ áâàãªâãà  § ¤ ­  ¬ ªà®á®¬
231
				;¥á«¨ áâàãªâãà  § ¤ ­  ¬ ªà®á®¬
251
				stdcall insert_text, txt_skob_fc
232
				stdcall insert_text, txt_skob_fc
252
				insert_nl
233
				insert_nl
253
				jmp .beg_iterat
-
 
254
			@@:
234
			@@:
255
			stdcall insert_text,txt_ends
235
			stdcall insert_text,txt_ends
256
			jmp .beg_iterat
-
 
257
		.no_struct:
236
		.no_struct:
258
		cmp dword[eax],C_TXT
237
		cmp dword[eax],C_TXT
259
		jne @f
238
		jne @f
260
			stdcall get_code_text,eax ;®¡à ¡®âª  ®¡ê¥ªâ 
239
			stdcall get_code_text,eax ;®¡à ¡®âª  ®¡ê¥ªâ 
261
		@@:
240
		@@:
Line 268... Line 247...
268
			stdcall get_code_variable,eax,ebx ;®¡à ¡®âª  ®¡ê¥ªâ 
247
			stdcall get_code_variable,eax,ebx ;®¡à ¡®âª  ®¡ê¥ªâ 
269
		@@:
248
		@@:
270
		cmp dword[eax],C_WND
249
		cmp dword[eax],C_WND
271
		jne @f
250
		jne @f
272
			stdcall get_code_window,eax ;®¡à ¡®âª  ®¡ê¥ªâ 
251
			stdcall get_code_window,eax ;®¡à ¡®âª  ®¡ê¥ªâ 
-
 
252
			stdcall get_code_children_objects, esi ;®¡à ¡®âª  ¤®ç¥à­¨å ®¡¥ªâ®¢
-
 
253
			call move_next_no_child_objects ;¯à®¯ã᪠¤®ç¥à­¨å ®¡¥ªâ®¢
-
 
254
			stdcall insert_text, txt_draw_we ;ª®¤ § ¢¥àè î騩 äã­ªæ¨î à¨á®¢ ­¨ï
273
		@@:
255
		@@:
274
		cmp dword[eax],C_ACO
256
		cmp dword[eax],C_ACO
275
		jne @f
257
		jne @f
276
			stdcall get_code_auto,eax ;®¡à ¡®âª  ®¡ê¥ªâ 
258
			stdcall get_code_auto,esi ;®¡à ¡®âª  ®¡ê¥ªâ 
-
 
259
			call move_next_no_child_objects ;¯à®¯ã᪠¤®ç¥à­¨å ®¡¥ªâ®¢
277
		@@:
260
		@@:
278
		cmp dword[eax],C_KEY ;ª« ¢¨ âãà 
261
		cmp dword[eax],C_KEY ;ª« ¢¨ âãà 
279
		jne @f
262
		jne @f
280
			stdcall get_code_key,eax ;®¡à ¡®âª  ®¡ê¥ªâ 
263
			stdcall get_code_key,eax ;®¡à ¡®âª  ®¡ê¥ªâ 
281
		@@:
264
		@@:
Line 283... Line 266...
283
		stdcall dword[tl_node_poi_get_next_info], esi,tree2
266
		stdcall dword[tl_node_poi_get_next_info], esi,tree2
284
		pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã
267
		pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã
Line 285... Line 268...
285
 
268
 
286
		jmp .beg_iterat
269
		jmp .beg_iterat
-
 
270
	.find_no:
-
 
271
pop edx ebx eax
-
 
272
	ret
-
 
273
 
-
 
274
;¢§ïâì ª®¤ë ¤®ç¥à­¨å ®¡ê¥ªâ®¢
-
 
275
align 4
-
 
276
proc get_code_children_objects, p_node:dword
-
 
277
	push ebx esi
-
 
278
		mov esi,[p_node]
-
 
279
		mov bl,byte[esi+2] ;á®å࠭塞 ã஢¥­ì ⥪ã饣® ®¡ê¥ªâ 
-
 
280
 
-
 
281
		stdcall dword[tl_node_poi_get_next_info], esi,tree2
-
 
282
		pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã
-
 
283
		cmp esi,0 ;¥á«¨ ¤®á⨣«¨ ª®­æ  ᯨ᪠ ®¡ê¥ªâ®¢
-
 
284
		je @f
-
 
285
		cmp byte[esi+2],bl ;¥á«¨ ã஢¥­ì á«¥¤ãî饣® ®¡ê¥ªâ  ¡®«ìè¥ ¨«¨ à ¢¥­ ⥪ã饬ã
-
 
286
		jle @f ;â® ¤®ç¥à­¨å 㧫®¢ ­¥â
-
 
287
			mov bl,byte[esi+2]
-
 
288
			call code_gen_obj ;४ãàᨢ­ë© ¢ë§®¢ ¤®ç¥à­¨å ®¡ê¥ªâ®¢
-
 
289
		@@:
-
 
290
	pop esi ebx
-
 
291
	ret
-
 
292
endp
-
 
293
 
-
 
294
;¯à®¯ã᪠¢á¥å ¤®ç¥à­¨å ®¡ê¥ªâ®¢
-
 
295
;input:
-
 
296
; esi - 㪠§ â¥«ì ­  㧥«
-
 
297
;outpet:
-
 
298
; esi - 㪠§ â¥«ì á«¥¤ã騩 ­¥ ¤®ç¥à­¨© (®â­®á¨â¥«ì­® ¢å®¤ï饣®) ­  㧥«
-
 
299
align 4
-
 
300
move_next_no_child_objects:
-
 
301
	push eax ebx
-
 
302
		mov bl,byte[esi+2] ;á®å࠭塞 ã஢¥­ì ⥪ã饣® ®¡ê¥ªâ 
-
 
303
		@@:
-
 
304
			stdcall dword[tl_node_poi_get_next_info], esi,tree2
-
 
305
			pop eax ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã
-
 
306
			cmp eax,0 ;¥á«¨ ¤®á⨣«¨ ª®­æ  ᯨ᪠ ®¡ê¥ªâ®¢
-
 
307
			je @f
-
 
308
			cmp byte[eax+2],bl ;¥á«¨ ã஢¥­ì á«¥¤ãî饣® ®¡ê¥ªâ  ¡®«ìè¥ ¨«¨ à ¢¥­ ⥪ã饬ã
-
 
309
			jle @f ;â® ¤®ç¥à­¨å 㧫®¢ ­¥â
-
 
310
			mov esi,eax ;¥á«¨ á«¥¤ã騩 㧥« ®ª § «áï ¤®ç¥à­¨¬, ¯¥à¥áâ ¢«ï¥¬ 㪠§ â¥«ì
-
 
311
			jmp @b
287
	.find_no:
312
		@@:
288
pop edx ebx
313
	pop ebx eax
Line 289... Line 314...
289
	ret
314
	ret
290
 
315
 
291
;¤®¡ ¢«¥­¨¥ ®¡ê¥ªâ  á ¯à®£à ¬­ë¬ ª®¤®¬ (⥪á⮬)
316
;¤®¡ ¢«¥­¨¥ ®¡ê¥ªâ  á ¯à®£à ¬­ë¬ ª®¤®¬ (⥪á⮬)
Line 299... Line 324...
299
	ret
324
	ret
300
endp
325
endp
Line 301... Line 326...
301
 
326
 
302
;®¡à ¡®âª  ®¡ê¥ªâ  ᮧ¤ î饣®  ¢â®¬ â¨ç¥ªá¨¥ ª®¤ë
327
;®¡à ¡®âª  ®¡ê¥ªâ  ᮧ¤ î饣®  ¢â®¬ â¨ç¥ªá¨¥ ª®¤ë
303
align 4
328
align 4
304
proc get_code_auto, p_obj:dword
329
proc get_code_auto, p_node:dword
305
	pushad
330
	pushad
306
		insert_nl
331
		insert_nl
-
 
332
		mov esi,dword[p_node]
-
 
333
		stdcall dword[tl_node_poi_get_data], esi,tree2
-
 
334
		pop ebx ;¯®«ãç ¥¬ ¤ ­­ë¥ 㧫 
307
		mov ebx,dword[p_obj]
335
 
308
		test_bool_prop ebx,BIT_MOD_ACI
336
		test_bool_prop ebx,BIT_MOD_ACI
309
		jae @f
337
		jae @f
310
			mov edx,C_CHB
338
			mov edx,C_CHB
311
			stdcall find_obj_in_file,edx ;eax - 㪠§ â¥«ì ­  áâàãªâãàã check_box
339
			stdcall find_obj_in_file,edx ;eax - 㪠§ â¥«ì ­  áâàãªâãàã check_box
Line 319... Line 347...
319
			call get_code_auto_m
347
			call get_code_auto_m
320
		@@:
348
		@@:
321
		test_bool_prop ebx,BIT_MOD_ABU
349
		test_bool_prop ebx,BIT_MOD_ABU
322
		jae @f
350
		jae @f
323
			;ᮧ¤ ­¨¥ ä㭪樨 button
351
			;ᮧ¤ ­¨¥ ä㭪樨 button
324
			insert_but_beg
352
			stdcall insert_text, txt_but_beg
325
			call get_code_auto_but ;ª®¤ë ¢ë§®¢  ª­®¯®ª
353
			call get_code_auto_but ;ª®¤ë ¢ë§®¢  ª­®¯®ª
-
 
354
			stdcall insert_text, txt_but_mid
-
 
355
			stdcall get_code_children_objects, esi
-
 
356
			;ª®­¥æ ä㭪樨 button (ª­®¯ª  id=-1, § ¢¥à襭¨¥ ¯à®£à ¬¬ë)
326
			insert_but_end
357
			stdcall insert_text, txt_but_end
-
 
358
 
327
			call get_code_a_but_fun ;ª®¤ë ä㭪権, ¢ë§ë¢ ¥¬ëå ¯à¨ ­ ¦ â¨¨ ª­®¯®ª
359
			call get_code_a_but_fun ;ª®¤ë ä㭪権, ¢ë§ë¢ ¥¬ëå ¯à¨ ­ ¦ â¨¨ ª­®¯®ª
328
		@@:
360
		@@:
329
		test_bool_prop ebx,BIT_MOD_ACD
361
		test_bool_prop ebx,BIT_MOD_ACD
330
		jae @f
362
		jae @f
331
			call get_code_auto_data_el
363
			call get_code_auto_data_el
Line 1103... Line 1135...
1103
		insert_tab
1135
		insert_tab
1104
		stdcall insert_text, txt_i_40
1136
		stdcall insert_text, txt_i_40
1105
		insert_nl
1137
		insert_nl
Line 1106... Line 1138...
1106
 
1138
 
1107
		call get_code_draw_obj
-
 
1108
 
-
 
1109
		stdcall insert_text, txt_draw_we ;ª®¤ § ¢¥àè î騩 äã­ªæ¨î à¨á®¢ ­¨ï
1139
		call get_code_draw_obj
1110
	popad
1140
	popad
1111
	ret
1141
	ret
Line 1421... Line 1451...
1421
txt_cbox db ' check_box2',0
1451
txt_cbox db ' check_box2',0
1422
txt_cb_b db 13,'check_boxes:',0
1452
txt_cb_b db 13,'check_boxes:',0
1423
txt_cb_e db 'check_boxes_end:',13,0
1453
txt_cb_e db 'check_boxes_end:',13,0
Line 1424... Line 1454...
1424
 
1454
 
1425
txt_ebox db ' edit_box',0
-
 
1426
txt_editb_draw:
1455
txt_ebox db ' edit_box',0
1427
	db 9,'stdcall [edit_box_draw], ',0
-
 
1428
txt_cbox_draw:
1456
txt_editb_draw db 9,'stdcall [edit_box_draw], ',0
1429
	db 9,'stdcall [check_box_draw], ',0
1457
txt_cbox_draw db 9,'stdcall [check_box_draw], ',0
1430
 
1458
 
1431
txt_but_1:
1459
;­ ç «® ä㭪樨 ª­®¯®ª
1432
db 'align 4',13,'button:',13,9,'mcall 17',13
-
 
1433
txt_but_2:
1460
txt_but_beg db 'align 4',13,'button:',13,9,'mcall 17',13,0
-
 
1461
txt_but_mid db 9,'cmp ah,1',13,9,'jne still',13,'.exit:',13,0
1434
db 9,'cmp ah,1',13,9,'jne still',13,'.exit:',13,9,'mcall -1',13
1462
;ª®­¥æ ä㭪樨 ª­®¯®ª (§ ¢¥à襭¨¥ ¯à®£à ¬ë)
Line 1435... Line 1463...
1435
txt_but_3:
1463
txt_but_end db 9,'mcall -1',13,0
1436
 
1464
 
1437
txt_key_1:
1465
txt_key_1:
1438
db 'align 4',13,'key:',13,9,'mcall 2',13
1466
db 'align 4',13,'key:',13,9,'mcall 2',13