Subversion Repositories Kolibri OS

Rev

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

Rev 9645 Rev 9659
Line 49... Line 49...
49
	END;
49
	END;
Line 50... Line 50...
50
 
50
 
51
 
51
 
52
PROCEDURE [stdcall, "box_lib.obj", "edit_box_draw"]     draw* (eb: tEditBox); END;
52
PROCEDURE [stdcall, "box_lib.obj", "edit_box_draw"]     draw* (eb: tEditBox); END;
53
PROCEDURE [stdcall, "box_lib.obj", "edit_box_mouse"]    mouse* (eb: tEditBox); END;
53
PROCEDURE [stdcall, "box_lib.obj", "edit_box_mouse"]    mouse* (eb: tEditBox); END;
Line 54... Line 54...
54
PROCEDURE [stdcall, "box_lib.obj", "edit_box_set_text"] _setValue (eb: tEditBox; text: INTEGER); END;
54
PROCEDURE [stdcall, "box_lib.obj", "edit_box_set_text"] set_text (eb: tEditBox; text: INTEGER); END;
55
PROCEDURE [stdcall, "box_lib.obj", "edit_box_key_safe"] key* (eb: tEditBox; key: INTEGER); END;
55
PROCEDURE [stdcall, "box_lib.obj", "edit_box_key_safe"] key* (eb: tEditBox; key: INTEGER); END;
56
 
56
 
57
PROCEDURE getValue* (text: tEditBox; VAR str: ARRAY OF CHAR);
-
 
58
VAR
57
PROCEDURE get* (text: tEditBox; VAR str: ARRAY OF CHAR);
59
    ptr, max, i: INTEGER;
58
VAR
60
 
59
	ptr, max, i: INTEGER;
61
BEGIN
60
BEGIN
62
    ptr := text.text;
61
	ptr := text.text;
Line 67... Line 66...
67
        SYSTEM.GET(ptr, str[i]);
66
		SYSTEM.GET(ptr, str[i]);
68
        INC(i);
67
		INC(i);
69
        INC(ptr)
68
		INC(ptr)
70
    UNTIL (str[i - 1] = 0X) OR (i = max);
69
	UNTIL (str[i - 1] = 0X) OR (i = max);
71
    str[i] := 0X
70
	str[i] := 0X
72
END getValue;
71
END get;
Line 73... Line 72...
73
 
72
 
74
 
73
 
75
PROCEDURE setValue* (text: tEditBox; str: ARRAY OF WCHAR);
74
PROCEDURE set* (text: tEditBox; str: ARRAY OF WCHAR);
76
VAR
75
VAR
77
	i: INTEGER;
76
	i: INTEGER;
78
	temp: ARRAY MAX_LENGTH OF CHAR;
77
	temp: ARRAY MAX_LENGTH OF CHAR;
79
BEGIN
78
BEGIN
80
	ASSERT(LENGTH(str) < LEN(temp));
79
	ASSERT(LENGTH(str) < LEN(temp));
81
	i := 0;
80
	i := 0;
82
	REPEAT
81
	REPEAT
83
		temp[i] := CHR(Encodings.UNI[ORD(str[i]), Encodings.CP866] MOD 256);
82
		temp[i] := CHR(Encodings.UNI[ORD(str[i]), Encodings.CP866] MOD 256);
84
		INC(i)
83
		INC(i)
85
	UNTIL str[i - 1] = 0X;
84
	UNTIL str[i - 1] = 0X;
Line 86... Line 85...
86
	_setValue(text, SYSTEM.ADR(temp[0]))
85
	set_text(text, SYSTEM.ADR(temp[0]))
87
END setValue;
86
END set;
88
 
87
 
89
 
88
 
90
PROCEDURE create* (tlx, tly, width, max_chars: INTEGER; VAR editbox: tEditBox);
89
PROCEDURE create* (x, y, width, max_chars: INTEGER; VAR editbox: tEditBox);
91
BEGIN
90
BEGIN
92
    editbox.width := width;
91
	editbox.width := width;
93
    editbox.left := tlx;
92
	editbox.left := x;
94
    editbox.top := tly;
93
	editbox.top := y;
95
    editbox.color := 0FFFFFFH;
94
	editbox.color := 0FFFFFFH;