Subversion Repositories Kolibri OS

Rev

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

Rev 267 Rev 297
Line 78... Line 78...
78
 
78
 
79
	mov	ebp,tb_find
79
	mov	ebp,tb_find
80
	mov	eax,[p_info.client_box.width]
80
	mov	eax,[p_info.client_box.width]
81
	sub	eax,6*(s_2find.size+2)+1
81
	sub	eax,6*(s_2find.size+2)+1
82
	add	eax,6*(s_2find.size+2)*65536
82
	add	eax,6*(s_2find.size+2)*65536
83
	mov	dword[tbox.x],eax
83
	mov	dword[tbox.width],eax
84
	add	ecx,-18*65536+1
84
	add	ecx,-18*65536+1
85
	mov	dword[tbox.y],ecx
85
	mov	dword[tbox.height],ecx
Line 86... Line 86...
86
	call	textbox.draw
86
	call	textbox.draw
Line 87... Line 87...
87
 
87
 
88
	pop	ecx
88
	pop	ecx
89
 
89
 
90
	cmp	[bot_dlg_mode2],0
90
	cmp	[bot_dlg_mode2],0
91
	je	@f
91
	je	@f
92
	mov	ebp,tb_replace
92
	mov	ebp,tb_replace
93
	mov	eax,[p_info.client_box.width]
93
	mov	eax,[p_info.client_box.width]
94
	sub	eax,6*(s_2replace.size+2)+1
94
	sub	eax,6*(s_2replace.size+2)+1
95
	add	eax,6*(s_2replace.size+2)*65536
95
	add	eax,6*(s_2replace.size+2)*65536
96
	mov	dword[tbox.x],eax
96
	mov	dword[tbox.width],eax
97
	inc	ecx
97
	inc	ecx
Line 98... Line 98...
98
	mov	dword[tbox.y],ecx
98
	mov	dword[tbox.height],ecx
Line 162... Line 162...
162
 
162
 
163
	mov	ebp,tb_opensave
163
	mov	ebp,tb_opensave
164
	mov	eax,[p_info.client_box.width]
164
	mov	eax,[p_info.client_box.width]
165
	sub	eax,6*(s_2filename.size+1)+1
165
	sub	eax,6*(s_2filename.size+1)+1
166
	add	eax,6*(s_2filename.size+1)*65536
166
	add	eax,6*(s_2filename.size+1)*65536
167
	mov	dword[tbox.x],eax
167
	mov	dword[tbox.width],eax
168
	add	ecx,-18*65536+1
168
	add	ecx,-18*65536+1
169
	mov	dword[tbox.y],ecx
169
	mov	dword[tbox.height],ecx
Line 170... Line 170...
170
	call	textbox.draw
170
	call	textbox.draw
Line 171... Line 171...
171
 
171
 
Line 218... Line 218...
218
 
218
 
219
	mov	ebp,tb_opensave
219
	mov	ebp,tb_opensave
220
	mov	eax,[p_info.box.width]
220
	mov	eax,[p_info.box.width]
221
	sub	eax,6*(s_2filename.size+3)
221
	sub	eax,6*(s_2filename.size+3)
222
	add	eax,6*(s_2filename.size+2)*65536
222
	add	eax,6*(s_2filename.size+2)*65536
223
	mov	dword[tbox.x],eax
223
	mov	dword[tbox.width],eax
224
	add	ecx,-18*65536+1
224
	add	ecx,-18*65536+1
225
	mov	dword[tbox.y],ecx
225
	mov	dword[tbox.height],ecx
Line -... Line 226...
-
 
226
	call	textbox.draw
-
 
227
 
-
 
228
	sub	ebx,(6*(s_2cancel.size+2)+3)*65536
-
 
229
	mov	bx,6*(s_2cancel.size+2)
-
 
230
	push	20010 s_2cancel s_2cancel.size
226
	call	textbox.draw
231
	call	define_3d_button
Line 227... Line 232...
227
 
232
 
228
	ret
233
	ret
229
 
234
 
Line 235... Line 240...
235
	cmp	ebx,KEY_NUMRETURN
240
	cmp	ebx,KEY_NUMRETURN
236
	je	btn.bot.opensave
241
	je	btn.bot.opensave
237
	call	textbox.key
242
	call	textbox.key
238
	ret
243
	ret
Line -... Line 244...
-
 
244
 
-
 
245
cur_part   dd ?
-
 
246
cur_color  dd ?
-
 
247
cur_colors rd 10
-
 
248
 
-
 
249
optsdlg_handler:
-
 
250
	cmp	al,1
-
 
251
	je	.draw
-
 
252
	cmp	al,2
-
 
253
	je	.key
-
 
254
	cmp	al,3
-
 
255
	je	botdlg.button
-
 
256
	cmp	al,4
-
 
257
	je	.mouse
-
 
258
	ret
-
 
259
 
-
 
260
  .xchg_colors:
-
 
261
	mov	ecx,10
-
 
262
	mov	esi,color_tbl
-
 
263
	mov	edi,cur_colors
-
 
264
    @@: lodsd
-
 
265
	xchg	eax,[edi]
-
 
266
	mov	[esi-4],eax
-
 
267
	add	edi,4
-
 
268
	loop	@b
-
 
269
	ret
-
 
270
 
-
 
271
  .draw:
-
 
272
	call	.draw_editor
-
 
273
 
-
 
274
	mov	ecx,[bot_ofs-2]
-
 
275
	mov	cx,word[bot_ofs]
-
 
276
	push	ecx
-
 
277
	add	ecx,128
-
 
278
	mcall	38,<2+3+165,2+3+165>,,[cl_3d_inset]
-
 
279
	mov	bx,word[p_info.client_box.width]
-
 
280
	pop	ecx
-
 
281
	add	ecx,35*65536+35
-
 
282
	mcall
-
 
283
	add	ecx,0x00240024
-
 
284
	mcall
-
 
285
 
-
 
286
	shr	ecx,16
-
 
287
	mov	bx,cx
-
 
288
	add	ebx,38*65536-21
-
 
289
	mcall	4,,[sc.work_text],s_tabpos,s_tabpos.size
-
 
290
 
-
 
291
	call	.draw_tabpos
-
 
292
 
-
 
293
	mov	ebx,[bot_ofs]
-
 
294
	add	ebx,(2+6+165+35)*65536+5+16
-
 
295
	mcall	4,,[sc.work_text],s_color,s_color.size
-
 
296
 
-
 
297
	mov	dword[tb_color.width],(2+6+6*s_color.size+165+35)*65536+(6*6+8)
-
 
298
	mov	eax,ebx
-
 
299
	add	ax,-3
-
 
300
	shl	eax,16
-
 
301
	mov	ax,14
-
 
302
	mov	dword[tb_color.height],eax
-
 
303
 
-
 
304
	call	.draw_color
-
 
305
 
-
 
306
	mov	ebx,[p_info.client_box.width]
-
 
307
	shl	ebx,16
-
 
308
	mov	ecx,[p_info.client_box.height]
-
 
309
	shl	ecx,16
-
 
310
	add	ecx,(-34)*65536+15
-
 
311
 
-
 
312
	add	ebx,-(2+6*(s_2save.size+2))*65536+6*(s_2save.size+2)
-
 
313
	push	20004 s_2save s_2save.size
-
 
314
	call	define_3d_button
-
 
315
	sub	ebx,(6*(s_2cancel.size+2)+3)*65536
-
 
316
	mov	bx,6*(s_2cancel.size+2)
-
 
317
	push	20001 s_2cancel s_2cancel.size
-
 
318
	call	define_3d_button
-
 
319
 
-
 
320
	ret
-
 
321
 
-
 
322
  .get_color:
-
 
323
	movzx	ecx,[tb_color.length]
-
 
324
	mov	esi,tb_color.text
-
 
325
	xor	eax,eax
-
 
326
	xor	ebx,ebx
-
 
327
	jecxz	.lp2
-
 
328
  .lp1: lodsb
-
 
329
	cmp	al,'9'
-
 
330
	mov	dl,-'0'
-
 
331
	jbe	@f
-
 
332
	mov	dl,-'A'+10
-
 
333
    @@: add	al,dl
-
 
334
	shl	ebx,4
-
 
335
	add	bl,al
-
 
336
	loop	.lp1
-
 
337
  .lp2: mov	eax,[cur_part]
-
 
338
	mov	[cur_colors+eax*4],ebx
-
 
339
	mov	[cur_color],ebx
-
 
340
	jmp	.draw_color.2
-
 
341
 
-
 
342
  .draw_editor:
-
 
343
	push	dword[options] [tab_bar.Current.Ptr]
-
 
344
	mov	[options],0
-
 
345
	mov	ebp,optsdlg_editor
-
 
346
	call	set_cur_tab
-
 
347
 
-
 
348
	call	.xchg_colors
-
 
349
	mov	[cur_editor.Bounds.Left],2
-
 
350
	mov	[cur_editor.Bounds.Right],2+165
-
 
351
	mov	eax,[p_info.client_box.height]
-
 
352
	add	eax,-125-STATH
-
 
353
	mov	[cur_editor.Bounds.Top],eax
-
 
354
	add	eax,122
-
 
355
	mov	[cur_editor.Bounds.Bottom],eax
-
 
356
	call	draw_editor
-
 
357
	call	.xchg_colors
-
 
358
 
-
 
359
	pop	ebp eax
-
 
360
	mov	[options],al
-
 
361
	call	set_cur_tab
-
 
362
	ret
-
 
363
 
-
 
364
  .draw_tabpos:
-
 
365
	mov	ecx,[bot_ofs-2]
-
 
366
	xor	cx,cx
-
 
367
	mov	ebx,(2+3+165+3)*65536+31
-
 
368
	add	ecx,38*65536+31
-
 
369
	mov	edx,[cl_3d_inset]
-
 
370
	mov	esi,[sc.work]
-
 
371
	call	draw_fillrect
-
 
372
	dec	ebx
-
 
373
	dec	ecx
-
 
374
	mcall	8,,,0x40000000+21001
-
 
375
	mov	esi,[cl_3d_normal]
-
 
376
	mov	al,[tab_pos]
-
 
377
 
-
 
378
TPOSH = 6
-
 
379
TPOSW = 10
-
 
380
 
-
 
381
	dec	al
-
 
382
	jnz	@f
-
 
383
	;// top
-
 
384
	inc	ebx
-
 
385
	mov	cx,TPOSH
-
 
386
	call	draw_fillrect
-
 
387
	add	ecx,2*65536-2
-
 
388
	jmp	.lp3
-
 
389
    @@: dec	al
-
 
390
	jnz	@f
-
 
391
	;// bottom
-
 
392
	inc	ebx
-
 
393
	mov	cx,TPOSH
-
 
394
	add	ecx,(31-TPOSH)*65536
-
 
395
	call	draw_fillrect
-
 
396
	add	ecx,-2
-
 
397
	jmp	.lp3
-
 
398
    @@: dec	al
-
 
399
	jnz	@f
-
 
400
	;// left
-
 
401
	inc	ecx
-
 
402
	mov	bx,TPOSW
-
 
403
	call	draw_fillrect
-
 
404
	add	ebx,2*65536-2
-
 
405
	jmp	.lp4
-
 
406
    @@: dec	al
-
 
407
	jnz	@f
-
 
408
	;// right
-
 
409
	inc	ecx
-
 
410
	mov	bx,TPOSW
-
 
411
	add	ebx,(31-TPOSW)*65536
-
 
412
	call	draw_fillrect
-
 
413
	add	ebx,-2
-
 
414
	jmp	.lp4
-
 
415
 
-
 
416
  .lp3:
-
 
417
	add	ebx,(2+TPOSW-2+1)*65536-31+TPOSW-2
-
 
418
	call	draw_fillrect
-
 
419
	add	ebx,-(TPOSW-2+1)*65536
-
 
420
	mov	esi,[sc.work]
-
 
421
	call	draw_fillrect
-
 
422
	ret
-
 
423
  .lp4:
-
 
424
	add	ecx,7*65536-31+4
-
 
425
	call	draw_fillrect
-
 
426
	add	ecx,-5*65536
-
 
427
	mov	esi,[sc.work]
-
 
428
	call	draw_fillrect
-
 
429
	ret
-
 
430
 
-
 
431
  .draw_color:
-
 
432
	mov	ecx,[cur_part]
-
 
433
	mov	edx,s_appearance+1
-
 
434
    @@: dec	ecx
-
 
435
	js	@f
-
 
436
	movzx	eax,byte[edx-1]
-
 
437
	lea	edx,[edx+eax+1]
-
 
438
	jmp	@b
-
 
439
    @@:
-
 
440
	movzx	esi,byte[edx-1]
-
 
441
	mov	ebx,[bot_ofs]
-
 
442
	add	ebx,(2+6+165+35)*65536+8
-
 
443
	push	ebx ecx edx
-
 
444
	mov	ecx,ebx
-
 
445
	shl	ecx,16
-
 
446
	mov	bx,s_appearance.maxl*6
-
 
447
	mov	cx,10
-
 
448
	mcall	13,,,[cl_3d_normal]
-
 
449
	pop	edx ecx ebx
-
 
450
	mcall	4,,[sc.work_text]
-
 
451
 
-
 
452
	mov	eax,[cur_color]
-
 
453
	mov	edi,tb_color.text
-
 
454
	mov	ebx,6
-
 
455
	mov	ecx,16
-
 
456
	call	uint2strz
-
 
457
	mov	[tb_color.length],6
-
 
458
	mov	[tb_color.sel.x],0
-
 
459
	mov	[tb_color.pos.x],6
-
 
460
 
-
 
461
	mov	ebp,tb_color
-
 
462
	call	textbox.draw
-
 
463
 
-
 
464
  .draw_color.2:
-
 
465
	mov	ecx,[p_info.client_box.height]
-
 
466
	sub	ecx,[bot_dlg_height]
-
 
467
	add	ecx,-STATH
-
 
468
	shl	ecx,16
-
 
469
	add	ecx,3*65536+31
-
 
470
	mov	ebx,(2+6+165)*65536+31
-
 
471
	mov	edx,[cl_3d_inset]
-
 
472
	mov	esi,[cur_color]
-
 
473
	call	draw_fillrect
-
 
474
 
-
 
475
	ret
-
 
476
 
-
 
477
  .key:
-
 
478
	cmp	ebx,KEY_ESCAPE
-
 
479
	je	btn.bot.cancel
-
 
480
	cmp	ebx,KEY_RETURN
-
 
481
	je	btn.bot.appearance
-
 
482
	cmp	ebx,KEY_NUMRETURN
-
 
483
	je	btn.bot.appearance
-
 
484
 
-
 
485
	cmp	ebx,KEY_BACKSPACE
-
 
486
	je	.key.tb.2
-
 
487
	cmp	ebx,KEY_TAB
-
 
488
	je	.key.tb.2
-
 
489
	cmp	bx,0x00FF
-
 
490
	ja	.key.tb.2
-
 
491
	;cmp     ebx,KEY_LSHIFT
-
 
492
	;je      .key.tb.2
-
 
493
	;cmp     ebx,KEY_RSHIFT
-
 
494
	;je      .key.tb.2
-
 
495
	;cmp     ebx,0x00000147
-
 
496
	;jb      .key.exit
-
 
497
	;cmp     ebx,0x00000153
-
 
498
	;jbe     .key.tb.2
-
 
499
 
-
 
500
	test	dword[shi],KM_CTRLALT
-
 
501
	jnz	.key.exit
-
 
502
	movzx	eax,[chr]
-
 
503
	movzx	eax,[eax+key0]
-
 
504
	or	al,al
-
 
505
	jz	.key.exit
-
 
506
	movzx	eax,[eax+key1]
-
 
507
 
-
 
508
	cmp	al,'0'
-
 
509
	jb	@f
-
 
510
	cmp	al,'9'
-
 
511
	jbe	.key.tb
-
 
512
    @@: cmp	al,'A'
-
 
513
	jb	@f
-
 
514
	cmp	al,'F'
-
 
515
	jbe	.key.tb
-
 
516
    @@: cmp	al,'a'
-
 
517
	jb	@f
-
 
518
	cmp	al,'f'
-
 
519
	jbe	.key.tb
-
 
520
    @@: ret
-
 
521
  .key.tb:
-
 
522
	cmp	[tb_color.length],6
-
 
523
	jb	@f
-
 
524
	mov	al,[tb_color.sel.x]
-
 
525
	cmp	al,[tb_color.pos.x]
-
 
526
	jne	@f
-
 
527
	ret
-
 
528
  .key.tb.2:
-
 
529
    @@: call	textbox.key
-
 
530
	call	.get_color
-
 
531
	call	.draw_editor
-
 
532
  .key.exit:
-
 
533
	ret
-
 
534
 
-
 
535
  .mouse:
-
 
536
	cmp	ah,MEV_LDOWN
-
 
537
	jne	.mouse.exit
-
 
538
	mcall	37,1
-
 
539
	movsx	ebx,ax
-
 
540
	sar	eax,16
-
 
541
	cmp	eax,[optsdlg_editor+EDITOR.Bounds.Right]
-
 
542
	jg	.mouse.exit
-
 
543
	cmp	ebx,[optsdlg_editor+EDITOR.Bounds.Bottom]
-
 
544
	jg	.mouse.exit
-
 
545
	sub	eax,[optsdlg_editor+EDITOR.Bounds.Left]
-
 
546
	js	.mouse.exit
-
 
547
	sub	ebx,[optsdlg_editor+EDITOR.Bounds.Top]
-
 
548
	js	.mouse.exit
-
 
549
	mov	esi,optsdlg_editor_parts-5
-
 
550
    @@: add	esi,5
-
 
551
	cmp	byte[esi+0],-1
-
 
552
	je	.mouse.exit
-
 
553
	cmp	al,byte[esi+1]
-
 
554
	jb	@b
-
 
555
	cmp	bl,byte[esi+2]
-
 
556
	jb	@b
-
 
557
	cmp	al,byte[esi+3]
-
 
558
	ja	@b
-
 
559
	cmp	bl,byte[esi+4]
-
 
560
	ja	@b
-
 
561
	movzx	ebp,byte[esi+0]
-
 
562
	mov	[cur_part],ebp
-
 
563
	m2m	[cur_color],[cur_colors+ebp*4]
-
 
564
	;mcall   13,<200,30>,<250,30>,[color_tbl+ebp*4]
-
 
565
	;call    .draw_color
-
 
566
	call	.draw
-
 
567
 
-
 
568
  .mouse.exit:
-
 
569
	ret
239
 
570
 
240
botdlg.button:
571
botdlg.button:
241
	mov	esi,accel_table2_botdlg
572
	mov	esi,accel_table2_botdlg
242
  .acc: cmp	ebx,[esi]
573
  .acc: cmp	ebx,[esi]
243
	jne	@f
574
	jne	@f
Line 260... Line 591...
260
	cmp	[bot_dlg_mode2],0
591
	cmp	[bot_dlg_mode2],0
261
	je	.lp1
592
	je	.lp1
262
	call	save_file
593
	call	save_file
263
	jnc	@f
594
	jnc	@f
264
	jmp	.lp2
595
	jmp	.lp2
265
  .lp1: call	btn.load_file
596
  .lp1: call	load_file
266
	jnc	@f
597
	jnc	@f
267
  .lp2:
598
  .lp2:
268
	ret
599
	ret
269
    @@: ;call    update_caption
600
    @@: ;call    update_caption
270
	xor	eax,eax
601
	xor	eax,eax
Line 283... Line 614...
283
 
614
 
284
	cmp	[bot_dlg_mode2],0
615
	cmp	[bot_dlg_mode2],0
285
	je	@f
616
	je	@f
286
	call	search
617
	call	search
287
	jnc	.found
618
	jnc	.found
288
	call	check_inv_all
619
	call	editor_check_for_changes
Line 289... Line 620...
289
	ret
620
	ret
290
 
-
 
291
  .found:
621
 
Line 292... Line -...
292
;---------------------------------------
-
 
293
	push	[copy_size] [copy_count] [copy_buf]
-
 
294
 
-
 
295
;       mov     esi,0 ;! AREA_CBUF
-
 
296
;       mov     edi,0 ;! AREA_CBUF-304
-
 
297
;       mov     ecx,300/4
622
  .found:
298
;       rep     movsd
623
	push	[copy_size] [copy_count] [copy_buf]
299
 
624
 
300
	movzx	eax,[tb_replace.length]
625
	movzx	eax,[tb_replace.length]
Line 301... Line 626...
301
	add	eax,10
626
	add	eax,10
302
	call	mem.Alloc
627
	call	mem.Alloc
303
	mov	[copy_buf],eax
628
	mov	[copy_buf],eax
304
 
629
 
305
	movzx	eax,[tb_replace.length]
630
	movzx	eax,[tb_replace.length]
306
	mov	esi,tb_replace.text
631
	mov	esi,tb_replace.text
307
	mov	edi,[copy_buf] ;! AREA_CBUF
632
	mov	edi,[copy_buf]
308
	stosd
633
	stosd
309
	mov	ecx,eax
634
	mov	ecx,eax
310
	jecxz	.lp1
635
	jecxz	.lp1
Line 311... Line 636...
311
	rep	movsb
636
	rep	movsb
-
 
637
  .lp1: add	eax,4
312
  .lp1: add	eax,4
638
	mov	[copy_size],eax
313
	mov	[copy_size],eax
639
	mov	[copy_count],1
314
	mov	[copy_count],1
640
 
Line 315... Line 641...
315
 
641
	push	[cur_editor.SelStart.X]
316
	push	[cur_editor.SelStart.X] ;! [sel.x]
642
	mov	ebp,cur_editor
Line 317... Line -...
317
	call	init_sel_vars
-
 
318
	call	key.ctrl_v
-
 
319
	pop	[cur_editor.SelStart.X] ;! [sel.x]
-
 
320
 
-
 
321
	mov	eax,[copy_buf]
-
 
322
	call	mem.Free
643
	call	init_sel_vars
323
 
-
 
Line 324... Line 644...
324
;       mov     esi,0 ;! AREA_CBUF-304
644
	call	key.ctrl_v
325
;       mov     edi,0 ;! AREA_CBUF
645
	pop	[cur_editor.SelStart.X]
326
;       mov     ecx,300/4
646
 
327
;       rep     movsd
647
	mov	eax,[copy_buf]
328
 
648
	call	mem.Free
329
	pop	[copy_buf] [copy_count] [copy_size]
649
 
330
;---------------------------------------
650
	pop	[copy_buf] [copy_count] [copy_size]
331
 
651
 
-
 
652
	call	editor_check_for_changes
-
 
653
	ret
-
 
654
    @@: xor	eax,eax
-
 
655
	mov	[bot_mode],al
-
 
656
	mov	[bot_dlg_height],eax
-
 
657
	call	key.f3
-
 
658
	call	drawwindow
-
 
659
	ret
-
 
660
 
-
 
661
  btn.bot.appearance:
-
 
662
    @@: xor	eax,eax
-
 
663
	mov	[bot_mode],al
-
 
664
	mov	[bot_dlg_height],eax
-
 
665
	call	optsdlg_handler.xchg_colors
-
 
666
	mov	al,[tab_pos]
-
 
667
	mov	[tab_bar.Style],al
-
 
668
	call	drawwindow
-
 
669
	ret
-
 
670