blob: 39b7260d105a9ed1cf4ce4d33c193fc542bef077 [file] [log] [blame]
Igor Sarkisov41290702020-10-06 13:17:28 -07001-- -*- ada -*-
2define(`HTMLNAME',`terminal_interface-curses-panels__ads.htm')dnl
3include(M4MACRO)dnl
4------------------------------------------------------------------------------
5-- --
6-- GNAT ncurses Binding --
7-- --
8-- Terminal_Interface.Curses.Panels --
9-- --
10-- S P E C --
11-- --
12------------------------------------------------------------------------------
13-- Copyright (c) 1998,2006 Free Software Foundation, Inc. --
14-- --
15-- Permission is hereby granted, free of charge, to any person obtaining a --
16-- copy of this software and associated documentation files (the --
17-- "Software"), to deal in the Software without restriction, including --
18-- without limitation the rights to use, copy, modify, merge, publish, --
19-- distribute, distribute with modifications, sublicense, and/or sell --
20-- copies of the Software, and to permit persons to whom the Software is --
21-- furnished to do so, subject to the following conditions: --
22-- --
23-- The above copyright notice and this permission notice shall be included --
24-- in all copies or substantial portions of the Software. --
25-- --
26-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --
27-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --
28-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --
29-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --
30-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --
31-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --
32-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --
33-- --
34-- Except as contained in this notice, the name(s) of the above copyright --
35-- holders shall not be used in advertising or otherwise to promote the --
36-- sale, use or other dealings in this Software without prior written --
37-- authorization. --
38------------------------------------------------------------------------------
39-- Author: Juergen Pfeifer, 1996
40-- Version Control:
41-- $Revision: 1.19 $
42-- $Date: 2006/06/25 14:30:22 $
43-- Binding Version 01.00
44------------------------------------------------------------------------------
45with System;
46
47package Terminal_Interface.Curses.Panels is
48 pragma Preelaborate (Terminal_Interface.Curses.Panels);
49include(`Panel_Linker_Options')dnl
50include(`Linker_Options')
51 type Panel is private;
52
53 ---------------------------
54 -- Interface constants --
55 ---------------------------
56 Null_Panel : constant Panel;
57
58 -------------------
59 -- Exceptions --
60 -------------------
61
62 Panel_Exception : exception;
63
64 -- MANPAGE(`panel.3x')
65
66 -- ANCHOR(`new_panel()',`Create')
67 function Create (Win : Window) return Panel;
68 -- AKA
69 pragma Inline (Create);
70
71 -- ANCHOR(`new_panel()',`New_Panel')
72 function New_Panel (Win : Window) return Panel renames Create;
73 -- AKA
74 -- pragma Inline (New_Panel);
75
76 -- ANCHOR(`bottom_panel()',`Bottom')
77 procedure Bottom (Pan : in Panel);
78 -- AKA
79 pragma Inline (Bottom);
80
81 -- ANCHOR(`top_panel()',`Top')
82 procedure Top (Pan : in Panel);
83 -- AKA
84 pragma Inline (Top);
85
86 -- ANCHOR(`show_panel()',`Show')
87 procedure Show (Pan : in Panel);
88 -- AKA
89 pragma Inline (Show);
90
91 -- ANCHOR(`update_panels()',`Update_Panels')
92 procedure Update_Panels;
93 -- AKA
94 pragma Import (C, Update_Panels, "update_panels");
95
96 -- ANCHOR(`hide_panel()',`Hide')
97 procedure Hide (Pan : in Panel);
98 -- AKA
99 pragma Inline (Hide);
100
101 -- ANCHOR(`panel_window()',`Get_Window')
102 function Get_Window (Pan : Panel) return Window;
103 -- AKA
104 pragma Inline (Get_Window);
105
106 -- ANCHOR(`panel_window()',`Panel_Window')
107 function Panel_Window (Pan : Panel) return Window renames Get_Window;
108 -- pragma Inline (Panel_Window);
109
110 -- ANCHOR(`replace_panel()',`Replace')
111 procedure Replace (Pan : in Panel;
112 Win : in Window);
113 -- AKA
114 pragma Inline (Replace);
115
116 -- ANCHOR(`move_panel()',`Move')
117 procedure Move (Pan : in Panel;
118 Line : in Line_Position;
119 Column : in Column_Position);
120 -- AKA
121 pragma Inline (Move);
122
123 -- ANCHOR(`panel_hidden()',`Is_Hidden')
124 function Is_Hidden (Pan : Panel) return Boolean;
125 -- AKA
126 pragma Inline (Is_Hidden);
127
128 -- ANCHOR(`panel_above()',`Above')
129 function Above (Pan : Panel) return Panel;
130 -- AKA
131 pragma Import (C, Above, "panel_above");
132
133 -- ANCHOR(`panel_below()',`Below')
134 function Below (Pan : Panel) return Panel;
135 -- AKA
136 pragma Import (C, Below, "panel_below");
137
138 -- ANCHOR(`del_panel()',`Delete')
139 procedure Delete (Pan : in out Panel);
140 -- AKA
141 pragma Inline (Delete);
142
143private
144 type Panel is new System.Storage_Elements.Integer_Address;
145 Null_Panel : constant Panel := 0;
146
147end Terminal_Interface.Curses.Panels;