1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
package body Editors is
function Create
(X, Y, W, H : in Integer;
Label_Text : in String)
return Editor_Window is
begin
return This : Editor_Window :=
(Double_Window'(Create (X, Y, W, H, Label_Text)) with
Editor => Text_Editor'(Create (0, 30, 640, 370, "")),
Bar => Menu_Bar'(Create (0, 0, 640, 30, ""))) do
This.Add (This.Editor);
This.Add (This.Bar);
end return;
end Create;
function Create
(W, H : in Integer)
return Editor_Window is
begin
return Create (0, 0, W, H, "AdaPad");
end Create;
function Get_Buffer
(This : in Editor_Window)
return Text_Buffer_Cursor is
begin
return This.Editor.Get_Buffer;
end Get_Buffer;
procedure Set_Buffer
(This : in out Editor_Window;
Buff : in out Text_Buffer) is
begin
This.Editor.Set_Buffer (Buff);
end Set_Buffer;
function Get_Menu
(This : in out Editor_Window)
return Menu_Cursor is
begin
return Ref : Menu_Cursor (This.Bar'Access);
end Get_Menu;
end Editors;
|