Subversion Repositories Kolibri OS

Rev

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

Rev 1714 Rev 1717
Line 13... Line 13...
13
align 4
13
align 4
14
prop_start:
14
prop_start:
15
pushad
15
pushad
16
	mcall 40,0x27 ;¬ áª  ®¦¨¤ ¥¬ëå ᮡë⨩
16
	mcall 40,0x27 ;¬ áª  ®¦¨¤ ¥¬ëå ᮡë⨩
Line -... Line 17...
-
 
17
 
-
 
18
	call init_obj_count_txt_props ;¯®«ãç ¥¬ ç¨á«® ¨á¯®«ì§ã¥¬ëå ¯®«¥©
17
 
19
 
18
	; ­ áâனª  ⥪á⮢ëå ¯®«¥©
20
	; ­ áâனª  ⥪á⮢ëå ¯®«¥©
19
	xor ebx,ebx
21
	xor ebx,ebx
20
	mov edi,edit2
22
	mov edi,edit2
21
	@@:
23
	@@:
Line 33... Line 35...
33
	@@:
35
	@@:
34
	mov eax,dword[icon_tl_sys]
36
	mov eax,dword[icon_tl_sys]
35
	mov dword[tree3.data_img_sys],eax
37
	mov dword[tree3.data_img_sys],eax
Line 36... Line 38...
36
 
38
 
37
	mov edx,[foc_obj]
39
	mov edx,[foc_obj]
38
	cmp byte[edx],C_VAR
40
	cmp dword[edx],C_VAR
Line 39... Line 41...
39
	jne .sel_end
41
	jne .sel_end
40
 
42
 
41
	stdcall [tl_node_poi_get_info], 0,tree2
43
	stdcall [tl_node_poi_get_info], 0,tree2
Line 47... Line 49...
47
		pop esi ;¯®«ãç ¥¬ ¤ ­­ë¥ 㧫 
49
		pop esi ;¯®«ãç ¥¬ ¤ ­­ë¥ 㧫 
48
;------ ¤®¡ ¢«¥­¨¥ ®¡ê¥ªâ  ¢ ᯨ᮪ -------------------------------------------
50
;------ ¤®¡ ¢«¥­¨¥ ®¡ê¥ªâ  ¢ ᯨ᮪ -------------------------------------------
49
		mov ebx,[foc_obj]
51
		mov ebx,[foc_obj]
50
		cmp ebx,esi
52
		cmp ebx,esi
51
		je .add_end ;¨§¡¥£ ¥¬ 横«¨ç¥áª®© áá뫪¨
53
		je .add_end ;¨§¡¥£ ¥¬ 横«¨ç¥áª®© áá뫪¨
52
		mov bl,[esi]
54
		mov ebx,dword[esi]
53
		cmp bl,C_TDF
55
		cmp ebx,C_TDF
54
		je .add_beg
56
		je .add_beg
55
		cmp bl,C_STR
57
		cmp ebx,C_STR
56
		je .add_beg
58
		je .add_beg
57
			jmp .add_end
59
			jmp .add_end
58
		.add_beg:
60
		.add_beg:
59
			stdcall get_obj_id,esi
61
			stdcall get_obj_id,esi
60
			mov edi,u_object
62
			mov edi,u_object
61
			mov dword[edi],eax
63
			mov dword[edi],eax
62
			add edi,4
64
			add edi,4
63
			inc esi ;¯¥à¥å®¤¨¬ ­  ¨¬ï ®¡ê¥ªâ 
65
			add esi,u_object.txt-u_object ;¯¥à¥å®¤¨¬ ­  ¨¬ï ®¡ê¥ªâ 
64
			mov ecx,MAX_LEN_OBJ_TXT
66
			mov ecx,MAX_LEN_OBJ_TXT
65
			cld
67
			cld
66
			rep movsb
68
			rep movsb
Line 67... Line 69...
67
 
69
 
Line 105... Line 107...
105
	mov dword[ch3.text],ch_text
107
	mov dword[ch3.text],ch_text
106
	mov dword[ch4.text],ch_text
108
	mov dword[ch4.text],ch_text
Line 107... Line 109...
107
 
109
 
108
	;ãáâ ­®¢ª  ­®¢ëå ¯®¤¯¨á¥©
110
	;ãáâ ­®¢ª  ­®¢ëå ¯®¤¯¨á¥©
109
	mov esi,[foc_obj] ;¡¥à¥¬ 㪠§ â¥«ì ­  ®¡ê¥ªâ
111
	mov esi,[foc_obj] ;¡¥à¥¬ 㪠§ â¥«ì ­  ®¡ê¥ªâ
110
	mov bl,byte[esi]
112
	mov ebx,dword[esi]
111
	call find_obj_in_opt
113
	call find_obj_in_opt
112
	mov edi,dword[edi+obj_opt.bit_prop-obj_opt]
114
	mov edi,dword[edi+obj_opt.bit_prop-obj_opt]
113
	cmp edi,0
115
	cmp edi,0
114
	je .no_bit_capts ;¥á«¨ 1-¥ ¡¨â®¢®¥ ᢮©á⢮ ¯ãá⮥, â® ¢ 横« ­¥ § å®¤¨¬
116
	je .no_bit_capts ;¥á«¨ 1-¥ ¡¨â®¢®¥ ᢮©á⢮ ¯ãá⮥, â® ¢ 横« ­¥ § å®¤¨¬
Line 159... Line 161...
159
	xor eax,eax
161
	xor eax,eax
160
	mov edi,hed
162
	mov edi,hed
161
	mov edx,[foc_obj] ;¡¥à¥¬ 㪠§ â¥«ì ­  ®¡ê¥ªâ
163
	mov edx,[foc_obj] ;¡¥à¥¬ 㪠§ â¥«ì ­  ®¡ê¥ªâ
162
	cmp edx,0
164
	cmp edx,0
163
	je @f
165
	je @f
164
		mov bl,[edx]
166
		mov ebx,dword[edx]
165
		call find_obj_in_opt
167
		call find_obj_in_opt
166
		add edi,obj_opt.info-obj_opt ;edi - ¯®¤¯¨áì (­ §¢ ­¨¥ ®¡ê¥ªâ )
168
		add edi,obj_opt.info-obj_opt ;edi - ¯®¤¯¨áì (­ §¢ ­¨¥ ®¡ê¥ªâ )
167
	@@:
169
	@@:
168
	mov ebx,30*65536+prop_wnd_width
170
	mov ebx,30*65536+prop_wnd_width
169
	mov ecx,50*65536+250
171
	mov ecx,50*65536+250
Line 193... Line 195...
193
		inc ebx
195
		inc ebx
194
		inc ecx
196
		inc ecx
195
		stdcall draw_icon, 17,ebx,ecx ;17 - save
197
		stdcall draw_icon, 17,ebx,ecx ;17 - save
Line 196... Line 198...
196
 
198
 
-
 
199
		mov edi,edit2
-
 
200
		mov ecx,[obj_count_txt_props]
197
		mov edi,edit2
201
		cld
198
		.cycle:
202
		.cycle:
199
			stdcall [edit_box_draw], edi ;à¨á㥬 ¯®«ï ᮠ᢮©á⢠¬¨ ®¡ê¥ªâ 
203
			stdcall [edit_box_draw], edi
200
			add edi,ed_struc_size
-
 
201
			cmp edi,prop_wnd_edits_end
204
			add edi,ed_struc_size
Line 202... Line 205...
202
		jl .cycle
205
		loop .cycle
203
 
206
 
204
		cmp [err_ini0],1
207
		cmp [err_ini0],1
205
		je .exit_fun
208
		je .exit_fun
Line 217... Line 220...
217
 
220
 
218
			inc ebx
221
			inc ebx
219
			cmp ebx,MAX_OPT_FIELDS
222
			cmp ebx,MAX_OPT_FIELDS
Line 220... Line 223...
220
			jl .draw_column
223
			jl .draw_column
221
 
224
 
222
		cmp byte[edx],C_VAR
225
		cmp dword[edx],C_VAR
223
		jne .no_tree
226
		jne .no_tree
224
			mov dword[w_scr_t3.all_redraw],1
227
			mov dword[w_scr_t3.all_redraw],1
Line 229... Line 232...
229
 
232
 
230
	.exit_fun:
233
	.exit_fun:
231
	mcall 12,2
234
	mcall 12,2
Line -... Line 235...
-
 
235
popad
232
popad
236
 
233
 
237
;­¥ ®âà뢠âì íâã äã­ªæ¨î ®â ¯à¥¤ë¤ã饩
234
align 4
238
align 4
235
prop_still:
239
prop_still:
Line 249... Line 253...
249
		call prop_mouse
253
		call prop_mouse
250
	@@:
254
	@@:
251
	popad
255
	popad
252
	jmp prop_still
256
	jmp prop_still
Line -... Line 257...
-
 
257
 
-
 
258
;¢ 横«¥ ¯à®¡¥£ ¥¬ ¯® ¢á¥¬ ¯®«ï¬ ᮠ᢮©á⢠¬¨,
-
 
259
;çâ®-¡ë ¯®áç¨â âì ç¨á«® ¨á¯®«ì§ã¥¬ëå ¯®«¥©
-
 
260
align 4
-
 
261
init_obj_count_txt_props:
-
 
262
pushad
-
 
263
	mov edx,[foc_obj] ;¡¥à¥¬ 㪠§ â¥«ì ­  ®¡ê¥ªâ
-
 
264
	xor ebx,ebx
-
 
265
	mov edi,edit2
-
 
266
	.cycle:
-
 
267
		stdcall get_obj_text_len_col, edx,ebx ;eax - ¤«¨­­  ¯®«ï
-
 
268
		cmp eax,1
-
 
269
		jl @f ;¢ë室 ¨§ 横«  ¥á«¨ ¯®«¥ ­¥ ¨á¯®«ì§ã¥âìáï
-
 
270
		inc ebx
-
 
271
 
-
 
272
		add edi,ed_struc_size
-
 
273
		cmp edi,prop_wnd_edits_end
-
 
274
		jl .cycle
-
 
275
	@@:
-
 
276
	mov [obj_count_txt_props],ebx
-
 
277
popad
-
 
278
	ret
-
 
279
 
-
 
280
;¢ë¢®¤ ⥪á⮢ëå ¯®¤¯¨á¥© ¤«ï ¯®«¥© ᮠ᢮©á⢠¬¨
-
 
281
align 4
-
 
282
proc draw_obj_caption, o_type:dword,n_col:dword, coord_y:dword
-
 
283
	pushad
-
 
284
	stdcall get_obj_text_len_col, [foc_obj], [n_col] ;eax - ¤«¨­­  ¯®«ï
-
 
285
	cmp eax,1
-
 
286
	jl .no_draw
-
 
287
 
-
 
288
	xor ebx,ebx
-
 
289
	mov ebx,dword[o_type]
-
 
290
	call find_obj_in_opt
-
 
291
 
-
 
292
	mov edx,edi
-
 
293
	add edx,obj_opt.caption-obj_opt
-
 
294
 
-
 
295
	mov eax,[n_col]
-
 
296
	mov ebx,143 ;®âáâ㯠᫥¢ 
-
 
297
	shl ebx,16
-
 
298
	add ebx,dword[coord_y]
-
 
299
	add ebx,3
-
 
300
	mov ecx,0 ;text color
-
 
301
 
-
 
302
	mov esi,edx
-
 
303
	.beg_found:
-
 
304
		cmp byte[esi],0
-
 
305
		je .end_found
-
 
306
		cmp byte[esi],'*'
-
 
307
		je @f
-
 
308
		inc esi
-
 
309
		jmp .beg_found
-
 
310
	@@:
-
 
311
	cmp eax,0
-
 
312
	je .end_found
-
 
313
		dec eax
-
 
314
		inc esi
-
 
315
		mov edx,esi ;¯¥à¥ª«îç ¥¬ ­ ç «® áâப¨ ­  á«¥¤. ¯®¤¯¨áì
-
 
316
		jmp .beg_found
-
 
317
	.end_found:
-
 
318
	cmp esi,edx
-
 
319
	jle .no_draw
-
 
320
		sub esi,edx ;esi = text len
-
 
321
		mov eax,4
-
 
322
		int 0x40
-
 
323
	.no_draw:
-
 
324
	popad
-
 
325
	ret
-
 
326
endp
-
 
327
 
-
 
328
align 4
-
 
329
proc set_obj_win_param, col:dword, edit:dword
-
 
330
	pushad
-
 
331
		stdcall get_obj_text_col, [foc_obj], [col] ;edx - text
-
 
332
		stdcall get_obj_text_len_col, [foc_obj], [col] ;eax - ¤«¨­­  ¯®«ï
-
 
333
		mov edi,[edit]
-
 
334
		cmp eax,1
-
 
335
		jl @f
-
 
336
			dec eax
-
 
337
			mov ed_max,eax ;ed_max = edi+.max
-
 
338
			mov ed_focus_border_color, dword 0xff
-
 
339
			mov ed_blur_border_color, dword 0x808080
-
 
340
			stdcall [edit_box_set_text], edi,edx ;®¡­®¢«ï¥¬ editbox
-
 
341
			jmp .end_f
-
 
342
		@@:
-
 
343
			mov ed_max,dword MAX_LEN_OBJ_TXT
-
 
344
			;stdcall [edit_box_set_text], edi,txt_null
-
 
345
		.end_f:
-
 
346
	popad
-
 
347
	ret
-
 
348
endp
253
 
349
 
254
align 4
350
align 4
255
prop_key:
351
prop_key:
256
push eax edi
352
push eax ecx edi
257
	mcall 2
353
	mcall 2
-
 
354
	mov edi,edit2
-
 
355
	mov ecx,[obj_count_txt_props]
258
	mov edi,edit2
356
	cld
259
	.cycle:
357
	.cycle:
260
		stdcall [edit_box_key], edi
358
		stdcall [edit_box_key], edi
261
		add edi,ed_struc_size
-
 
262
		cmp edi,prop_wnd_edits_end
359
		add edi,ed_struc_size
Line 263... Line 360...
263
		jl .cycle
360
	loop .cycle
264
 
361
 
265
	mov edi,[foc_obj]
362
	mov edi,dword[foc_obj]
266
	cmp byte[edi],C_VAR
363
	cmp dword[edi],C_VAR
267
	jne @f
364
	jne @f
268
		stdcall [tl_key], tree3
365
		stdcall [tl_key], tree3
269
	@@:
366
	@@:
Line 270... Line 367...
270
pop edi eax
367
pop edi ecx eax
271
	ret
368
	ret
272
 
369
 
273
align 4
370
align 4
-
 
371
prop_mouse:
-
 
372
	push ecx edi
274
prop_mouse:
373
	mov edi,edit2
275
	push edi
374
	mov ecx,[obj_count_txt_props]
276
	mov edi,edit2
375
	cld
277
	.cycle:
-
 
278
		stdcall [edit_box_mouse], edi
376
	.cycle:
Line 279... Line 377...
279
		add edi,ed_struc_size
377
		stdcall [edit_box_mouse], edi
280
		cmp edi,prop_wnd_edits_end
378
		add edi,ed_struc_size
281
		jl .cycle
379
	loop .cycle
282
 
380
 
283
	mov edi,[foc_obj]
381
	mov edi,dword[foc_obj]
Line 284... Line 382...
284
	cmp byte[edi],C_VAR
382
	cmp dword[edi],C_VAR
285
	jne @f
-
 
286
		stdcall [tl_mouse], tree3
383
	jne @f
287
	@@:
384
		stdcall [tl_mouse], tree3
Line 288... Line 385...
288
 
385
	@@:
289
	checkboxes_mouse2 check_boxes,check_boxes_end
386
 
290
 
387
	checkboxes_mouse2 check_boxes,check_boxes_end