ncurses 4.2
[ncurses.git] / Ada95 / html / terminal_interface-curses-menus_s.html
1 <HTML>
2 <HEAD>
3 <TITLE></TITLE>
4 </HEAD>
5 <BODY BGCOLOR="#99ccbb" TEXT="#000000" LINK="#4060b0" VLINK="#000080" ALINK="#ff4040">
6 <PRE>
7
8 <I>------------------------------------------------------------------------------</I>
9 <I>--                                                                          --</I>
10 <I>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</I>
11 <I>--                                                                          --</I>
12 <I>--                      Terminal_Interface.Curses.Menu                      --</I>
13 <I>--                                                                          --</I>
14 <I>--                                 S P E C                                  --</I>
15 <I>--                                                                          --</I>
16 <I>------------------------------------------------------------------------------</I>
17 <I>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</I>
18 <I>--                                                                          --</I>
19 <I>-- Permission is hereby granted, free of charge, to any person obtaining a  --</I>
20 <I>-- copy of this software and associated documentation files (the            --</I>
21 <I>-- "Software"), to deal in the Software without restriction, including      --</I>
22 <I>-- without limitation the rights to use, copy, modify, merge, publish,      --</I>
23 <I>-- distribute, distribute with modifications, sublicense, and/or sell       --</I>
24 <I>-- copies of the Software, and to permit persons to whom the Software is    --</I>
25 <I>-- furnished to do so, subject to the following conditions:                 --</I>
26 <I>--                                                                          --</I>
27 <I>-- The above copyright notice and this permission notice shall be included  --</I>
28 <I>-- in all copies or substantial portions of the Software.                   --</I>
29 <I>--                                                                          --</I>
30 <I>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</I>
31 <I>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</I>
32 <I>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</I>
33 <I>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</I>
34 <I>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</I>
35 <I>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</I>
36 <I>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</I>
37 <I>--                                                                          --</I>
38 <I>-- Except as contained in this notice, the name(s) of the above copyright   --</I>
39 <I>-- holders shall not be used in advertising or otherwise to promote the     --</I>
40 <I>-- sale, use or other dealings in this Software without prior written       --</I>
41 <I>-- authorization.                                                           --</I>
42 <I>------------------------------------------------------------------------------</I>
43 <I>--  <A HREF="http://home.t-online.de/home/Juergen.Pfeifer">J&uuml;rgen Pfeifer</A>, Email: <A HREF="mailto:Juergen.Pfeifer@T-Online.de">Juergen.Pfeifer@T-Online.de</A>                      --</I>
44 <I>--  Version Control:</I>
45 <I>--  @Revision: 1.8 @</I>
46 <I>------------------------------------------------------------------------------</I>
47 <I>--  menu binding.</I>
48 <I>--  This module is generated. Please don't change it manually!</I>
49 <I>--  Run the generator instead.</I>
50 <I>--  |</I>
51 <B>with</B> System;
52 <B>with</B> Interfaces.C;
53 <B>with</B> Ada.Characters.Latin_1;
54
55 <B>package</B> Terminal_Interface.Curses.Menus <B>is</B>
56
57    <B>pragma</B> Linker_Options ("-lmenu");
58
59
60
61    Space : Character <B>renames</B> Ada.Characters.Latin_1.Space;
62
63    type Item <B>is</B> <B>private</B>;
64    type Menu <B>is</B> <B>private</B>;
65
66    <I>---------------------------</I>
67    <I>--  Interface constants  --</I>
68    <I>---------------------------</I>
69    Null_Item : <B>constant</B> Item;
70    Null_Menu : <B>constant</B> Menu;
71
72    <B>subtype</B> Menu_Request_Code <B>is</B> Key_Code
73      <B>range</B> (Key_Max + 1) .. (Key_Max + 17);
74
75    <I>--  The prefix M_ stands for "Menu Request"</I>
76    M_Left_Item       : <B>constant</B> Menu_Request_Code := Key_Max + 1;
77    M_Right_Item      : <B>constant</B> Menu_Request_Code := Key_Max + 2;
78    M_Up_Item         : <B>constant</B> Menu_Request_Code := Key_Max + 3;
79    M_Down_Item       : <B>constant</B> Menu_Request_Code := Key_Max + 4;
80    M_ScrollUp_Line   : <B>constant</B> Menu_Request_Code := Key_Max + 5;
81    M_ScrollDown_Line : <B>constant</B> Menu_Request_Code := Key_Max + 6;
82    M_ScrollDown_Page : <B>constant</B> Menu_Request_Code := Key_Max + 7;
83    M_ScrollUp_Page   : <B>constant</B> Menu_Request_Code := Key_Max + 8;
84    M_First_Item      : <B>constant</B> Menu_Request_Code := Key_Max + 9;
85    M_Last_Item       : <B>constant</B> Menu_Request_Code := Key_Max + 10;
86    M_Next_Item       : <B>constant</B> Menu_Request_Code := Key_Max + 11;
87    M_Previous_Item   : <B>constant</B> Menu_Request_Code := Key_Max + 12;
88    M_Toggle_Item     : <B>constant</B> Menu_Request_Code := Key_Max + 13;
89    M_Clear_Pattern   : <B>constant</B> Menu_Request_Code := Key_Max + 14;
90    M_Back_Pattern    : <B>constant</B> Menu_Request_Code := Key_Max + 15;
91    M_Next_Match      : <B>constant</B> Menu_Request_Code := Key_Max + 16;
92    M_Previous_Match  : <B>constant</B> Menu_Request_Code := Key_Max + 17;
93
94    <I>--  For those who like the old 'C' names for the request codes</I>
95    REQ_LEFT_ITEM     : Menu_Request_Code <B>renames</B> M_Left_Item;
96    REQ_RIGHT_ITEM    : Menu_Request_Code <B>renames</B> M_Right_Item;
97    REQ_UP_ITEM       : Menu_Request_Code <B>renames</B> M_Up_Item;
98    REQ_DOWN_ITEM     : Menu_Request_Code <B>renames</B> M_Down_Item;
99    REQ_SCR_ULINE     : Menu_Request_Code <B>renames</B> M_ScrollUp_Line;
100    REQ_SCR_DLINE     : Menu_Request_Code <B>renames</B> M_ScrollDown_Line;
101    REQ_SCR_DPAGE     : Menu_Request_Code <B>renames</B> M_ScrollDown_Page;
102    REQ_SCR_UPAGE     : Menu_Request_Code <B>renames</B> M_ScrollUp_Page;
103    REQ_FIRST_ITEM    : Menu_Request_Code <B>renames</B> M_First_Item;
104    REQ_LAST_ITEM     : Menu_Request_Code <B>renames</B> M_Last_Item;
105    REQ_NEXT_ITEM     : Menu_Request_Code <B>renames</B> M_Next_Item;
106    REQ_PREV_ITEM     : Menu_Request_Code <B>renames</B> M_Previous_Item;
107    REQ_TOGGLE_ITEM   : Menu_Request_Code <B>renames</B> M_Toggle_Item;
108    REQ_CLEAR_PATTERN : Menu_Request_Code <B>renames</B> M_Clear_Pattern;
109    REQ_BACK_PATTERN  : Menu_Request_Code <B>renames</B> M_Back_Pattern;
110    REQ_NEXT_MATCH    : Menu_Request_Code <B>renames</B> M_Next_Match;
111    REQ_PREV_MATCH    : Menu_Request_Code <B>renames</B> M_Previous_Match;
112
113    <B>procedure</B> Request_Name (Key  : <B>in</B> Menu_Request_Code;
114                            Name : <B>out</B> String);
115
116    <B>function</B>  Request_Name (Key : Menu_Request_Code) <B>return</B> String;
117    <I>--  Same as function</I>
118
119    <I>------------------</I>
120    <I>--  Exceptions  --</I>
121    <I>------------------</I>
122
123    Menu_Exception : <B>exception</B>;
124    <I>--</I>
125    <I>--  Menu options</I>
126    <I>--</I>
127
128    type Menu_Option_Set <B>is</B>
129       <B>record</B>
130          One_Valued        : Boolean;
131          Show_Descriptions : Boolean;
132          Row_Major_Order   : Boolean;
133          Ignore_Case       : Boolean;
134          Show_Matches      : Boolean;
135          Non_Cyclic        : Boolean;
136          Reserved          : Boolean;
137       <B>end</B> <B>record</B>;
138    <B>pragma</B> Pack (Menu_Option_Set);
139    <B>pragma</B> Convention (C, Menu_Option_Set);
140
141    <B>for</B> Menu_Option_Set <B>use</B>
142       <B>record</B>
143          One_Valued        <B>at</B> 0 <B>range</B>  0 ..  0;
144          Show_Descriptions <B>at</B> 0 <B>range</B>  1 ..  1;
145          Row_Major_Order   <B>at</B> 0 <B>range</B>  2 ..  2;
146          Ignore_Case       <B>at</B> 0 <B>range</B>  3 ..  3;
147          Show_Matches      <B>at</B> 0 <B>range</B>  4 ..  4;
148          Non_Cyclic        <B>at</B> 0 <B>range</B>  5 ..  5;
149          Reserved          <B>at</B> 0 <B>range</B> 31 .. 31;
150       <B>end</B> <B>record</B>;
151    <B>for</B> Menu_Option_Set'Size <B>use</B> Interfaces.C.int'Size;
152    <I>--  Please note: this rep. clause is generated and may be</I>
153    <I>--               different on your system.</I>
154
155    Default_Menu_Options : Menu_Option_Set;
156    <I>--  Initial default options for a menu.</I>
157
158    <I>--</I>
159    <I>--  Item options</I>
160    <I>--</I>
161    type Item_Option_Set <B>is</B>
162       <B>record</B>
163          Selectable : Boolean;
164          Reserved   : Boolean;
165       <B>end</B> <B>record</B>;
166    <B>pragma</B> Pack (Item_Option_Set);
167    <B>pragma</B> Convention (C, Item_Option_Set);
168
169    <B>for</B> Item_Option_Set <B>use</B>
170       <B>record</B>
171          Selectable <B>at</B> 0 <B>range</B>  0 ..  0;
172          Reserved   <B>at</B> 0 <B>range</B> 31 .. 31;
173       <B>end</B> <B>record</B>;
174    <B>for</B> Item_Option_Set'Size <B>use</B> Interfaces.C.int'Size;
175    <I>--  Please note: this rep. clause is generated and may be</I>
176    <I>--               different on your system.</I>
177
178    Default_Item_Options : Item_Option_Set;
179    <I>--  Initial default options for an item.</I>
180
181    <I>--</I>
182    <I>--  Item Array</I>
183    <I>--</I>
184    type Item_Array <B>is</B> <B>array</B> (Positive <B>range</B> &lt;&gt;) <B>of</B> <B>aliased</B> Item;
185    <B>pragma</B> Convention (C, Item_Array);
186
187    type Item_Array_Access <B>is</B> <B>access</B> Item_Array;
188
189    <B>procedure</B> Free (IA         : <B>in</B> <B>out</B> Item_Array_Access;
190                    Free_Items : Boolean := False);
191    <I>--  Release the memory for an allocated item array</I>
192    <I>--  If Free_Items is True, call Delete() for all the items in</I>
193    <I>--  the array.</I>
194
195    <I>--  |=====================================================================</I>
196    <I>--  | Man page <A HREF="mitem_new.3x.html">mitem_new.3x</A></I>
197    <I>--  |=====================================================================</I>
198
199    <I>--  <A NAME="AFU_1">|</I>
200    <B>function</B> Create (Name        : String;
201                     Description : String := "") return Item;
202    <I>--  AKA: <A HREF="mitem_new.3x.html">new_item()</A></I>
203
204    <I>--  <A NAME="AFU_2">|</I>
205    <B>function</B> New_Item (Name        : String;
206                       Description : String := "") return Item
207      <B>renames</B> Create;
208    <I>--  AKA: <A HREF="mitem_new.3x.html">new_item()</A></I>
209
210    <I>--  <A NAME="AFU_3">|</I>
211    <B>procedure</B> Delete (Itm : <B>in</B> <B>out</B> Item);
212    <I>--  AKA: <A HREF="mitem_new.3x.html">free_item()</A></I>
213    <I>--  Resets Itm to Null_Item</I>
214
215    <I>--  |=====================================================================</I>
216    <I>--  | Man page <A HREF="mitem_value.3x.html">mitem_value.3x</A></I>
217    <I>--  |=====================================================================</I>
218
219    <I>--  <A NAME="AFU_4">|</I>
220    <B>procedure</B> Set_Value (Itm   : <B>in</B> Item;
221                         Value : <B>in</B> Boolean := True);
222    <I>--  AKA: <A HREF="mitem_value.3x.html">set_item_value()</A></I>
223
224    <I>--  <A NAME="AFU_5">|</I>
225    <B>function</B> Value (Itm : Item) <B>return</B> Boolean;
226    <I>--  AKA: <A HREF="mitem_value.3x.html">item_value()</A></I>
227
228    <I>--  |=====================================================================</I>
229    <I>--  | Man page <A HREF="mitem_visible.3x.html">mitem_visible.3x</A></I>
230    <I>--  |=====================================================================</I>
231
232    <I>--  <A NAME="AFU_6">|</I>
233    <B>function</B> Visible (Itm : Item) <B>return</B> Boolean;
234    <I>--  AKA: <A HREF="mitem_visible.3x.html">item_visible()</A></I>
235
236    <I>--  |=====================================================================</I>
237    <I>--  | Man page <A HREF="mitem_opts.3x.html">mitem_opts.3x</A></I>
238    <I>--  |=====================================================================</I>
239
240    <I>--  <A NAME="AFU_7">|</I>
241    <B>procedure</B> Set_Options (Itm     : <B>in</B> Item;
242                           Options : <B>in</B> Item_Option_Set);
243    <I>--  AKA: <A HREF="mitem_opts.3x.html">set_item_opts()</A></I>
244
245    <I>--  <A NAME="AFU_8">|</I>
246    <B>procedure</B> Switch_Options (Itm     : <B>in</B> Item;
247                              Options : <B>in</B> Item_Option_Set;
248                              On      : Boolean := True);
249    <I>--  AKA: <A HREF="mitem_opts.3x.html">item_opts_on()</A></I>
250    <I>--  AKA: item_opts_off()</I>
251
252    <I>--  <A NAME="AFU_9">|</I>
253    <B>procedure</B> Get_Options (Itm     : <B>in</B>  Item;
254                           Options : <B>out</B> Item_Option_Set);
255    <I>--  AKA: <A HREF="mitem_opts.3x.html">item_opts()</A></I>
256
257    <I>--  <A NAME="AFU_10">|</I>
258    <B>function</B> Get_Options (Itm : Item := Null_Item) <B>return</B> Item_Option_Set;
259    <I>--  AKA: <A HREF="mitem_opts.3x.html">item_opts()</A></I>
260
261    <I>--  |=====================================================================</I>
262    <I>--  | Man page <A HREF="mitem_name.3x.html">mitem_name.3x</A></I>
263    <I>--  |=====================================================================</I>
264
265    <I>--  <A NAME="AFU_11">|</I>
266    <B>procedure</B> Name (Itm  : <B>in</B> Item;
267                    Name : <B>out</B> String);
268    <I>--  AKA: <A HREF="mitem_name.3x.html">item_name()</A></I>
269    <B>function</B>  Name (Itm : Item) <B>return</B> String;
270    <I>--  AKA: <A HREF="mitem_name.3x.html">item_name()</A></I>
271    <I>--  Implemented as function</I>
272
273    <I>--  <A NAME="AFU_12">|</I>
274    <B>procedure</B> Description (Itm         : <B>in</B> Item;
275                           Description : <B>out</B> String);
276    <I>--  AKA: <A HREF="mitem_name.3x.html">item_description();</A></I>
277
278    <B>function</B>  Description (Itm : Item) <B>return</B> String;
279    <I>--  AKA: <A HREF="mitem_name.3x.html">item_description();</A></I>
280    <I>--  Implemented as function</I>
281
282    <I>--  |=====================================================================</I>
283    <I>--  | Man page <A HREF="mitem_current.3x.html">mitem_current.3x</A></I>
284    <I>--  |=====================================================================</I>
285
286    <I>--  <A NAME="AFU_13">|</I>
287    <B>procedure</B> Set_Current (Men : <B>in</B> Menu;
288                           Itm : <B>in</B> Item);
289    <I>--  AKA: <A HREF="mitem_current.3x.html">set_current_item()</A></I>
290
291    <I>--  <A NAME="AFU_14">|</I>
292    <B>function</B> Current (Men : Menu) <B>return</B> Item;
293    <I>--  AKA: <A HREF="mitem_current.3x.html">current_item()</A></I>
294
295    <I>--  <A NAME="AFU_15">|</I>
296    <B>procedure</B> Set_Top_Row (Men  : <B>in</B> Menu;
297                           Line : <B>in</B> Line_Position);
298    <I>--  AKA: <A HREF="mitem_current.3x.html">set_top_row()</A></I>
299
300    <I>--  <A NAME="AFU_16">|</I>
301    <B>function</B> Top_Row (Men : Menu) <B>return</B> Line_Position;
302    <I>--  AKA: <A HREF="mitem_current.3x.html">top_row()</A></I>
303
304    <I>--  <A NAME="AFU_17">|</I>
305    <B>function</B> Get_Index (Itm : Item) <B>return</B> Positive;
306    <I>--  AKA: <A HREF="mitem_current.3x.html">item_index()</A></I>
307    <I>--  Please note that in this binding we start the numbering of items</I>
308    <I>--  with 1. So this is number is one more than you get from the low</I>
309    <I>--  level call.</I>
310
311    <I>--  |=====================================================================</I>
312    <I>--  | Man page <A HREF="menu_post.3x.html">menu_post.3x</A></I>
313    <I>--  |=====================================================================</I>
314
315    <I>--  <A NAME="AFU_18">|</I>
316    <B>procedure</B> Post (Men  : <B>in</B> Menu;
317                    Post : <B>in</B> Boolean := True);
318    <I>--  AKA: <A HREF="menu_post.3x.html">post_menu()</A></I>
319    <I>--  AKA: unpost_menu()</I>
320
321    <I>--  |=====================================================================</I>
322    <I>--  | Man page <A HREF="menu_opts.3x.html">menu_opts.3x</A></I>
323    <I>--  |=====================================================================</I>
324
325    <I>--  <A NAME="AFU_19">|</I>
326    <B>procedure</B> Set_Options (Men     : <B>in</B> Menu;
327                           Options : <B>in</B> Menu_Option_Set);
328    <I>--  AKA: <A HREF="menu_opts.3x.html">set_menu_opts()</A></I>
329
330    <I>--  <A NAME="AFU_20">|</I>
331    <B>procedure</B> Switch_Options (Men     : <B>in</B> Menu;
332                              Options : <B>in</B> Menu_Option_Set;
333                              On      : Boolean := True);
334    <I>--  AKA: <A HREF="menu_opts.3x.html">menu_opts_on()</A></I>
335    <I>--  AKA: menu_opts_off()</I>
336
337    <I>--  <A NAME="AFU_21">|</I>
338    <B>procedure</B> Get_Options (Men     : <B>in</B>  Menu;
339                           Options : <B>out</B> Menu_Option_Set);
340    <I>--  AKA: <A HREF="menu_opts.3x.html">menu_opts()</A></I>
341
342    <I>--  <A NAME="AFU_22">|</I>
343    <B>function</B> Get_Options (Men : Menu := Null_Menu) <B>return</B> Menu_Option_Set;
344    <I>--  AKA: <A HREF="menu_opts.3x.html">menu_opts()</A></I>
345
346    <I>--  |=====================================================================</I>
347    <I>--  | Man page <A HREF="menu_win.3x.html">menu_win.3x</A></I>
348    <I>--  |=====================================================================</I>
349
350    <I>--  <A NAME="AFU_23">|</I>
351    <B>procedure</B> Set_Window (Men : <B>in</B> Menu;
352                          Win : <B>in</B> Window);
353    <I>--  AKA: <A HREF="menu_win.3x.html">set_menu_win()</A></I>
354
355    <I>--  <A NAME="AFU_24">|</I>
356    <B>function</B> Get_Window (Men : Menu) <B>return</B> Window;
357    <I>--  AKA: <A HREF="menu_win.3x.html">menu_win()</A></I>
358
359    <I>--  <A NAME="AFU_25">|</I>
360    <B>procedure</B> Set_Sub_Window (Men : <B>in</B> Menu;
361                              Win : <B>in</B> Window);
362    <I>--  AKA: <A HREF="menu_win.3x.html">set_menu_sub()</A></I>
363
364    <I>--  <A NAME="AFU_26">|</I>
365    <B>function</B> Get_Sub_Window (Men : Menu) <B>return</B> Window;
366    <I>--  AKA: <A HREF="menu_win.3x.html">menu_sub()</A></I>
367
368    <I>--  <A NAME="AFU_27">|</I>
369    <B>procedure</B> Scale (Men     : <B>in</B> Menu;
370                     Lines   : <B>out</B> Line_Count;
371                     Columns : <B>out</B> Column_Count);
372    <I>--  AKA: <A HREF="menu_win.3x.html">scale_menu()</A></I>
373
374    <I>--  |=====================================================================</I>
375    <I>--  | Man page <A HREF="menu_cursor.3x.html">menu_cursor.3x</A></I>
376    <I>--  |=====================================================================</I>
377
378    <I>--  <A NAME="AFU_28">|</I>
379    <B>procedure</B> Position_Cursor (Men : Menu);
380    <I>--  AKA: <A HREF="menu_cursor.3x.html">pos_menu_cursor()</A></I>
381
382    <I>--  |=====================================================================</I>
383    <I>--  | Man page <A HREF="menu_mark.3x.html">menu_mark.3x</A></I>
384    <I>--  |=====================================================================</I>
385
386    <I>--  <A NAME="AFU_29">|</I>
387    <B>procedure</B> Set_Mark (Men  : <B>in</B> Menu;
388                        Mark : <B>in</B> String);
389    <I>--  AKA: <A HREF="menu_mark.3x.html">set_menu_mark()</A></I>
390
391    <I>--  <A NAME="AFU_30">|</I>
392    <B>procedure</B> Mark (Men  : <B>in</B>  Menu;
393                    Mark : <B>out</B> String);
394    <I>--  AKA: <A HREF="menu_mark.3x.html">menu_mark()</A></I>
395
396    <B>function</B>  Mark (Men : Menu) <B>return</B> String;
397    <I>--  AKA: <A HREF="menu_mark.3x.html">menu_mark()</A></I>
398    <I>--  Implemented as function</I>
399
400    <I>--  |=====================================================================</I>
401    <I>--  | Man page <A HREF="menu_attribs.3x.html">menu_attribs.3x</A></I>
402    <I>--  |=====================================================================</I>
403
404    <I>--  <A NAME="AFU_31">|</I>
405    <B>procedure</B> Set_Foreground
406      (Men   : <B>in</B> Menu;
407       Fore  : <B>in</B> Character_Attribute_Set := Normal_Video;
408       Color : <B>in</B> Color_Pair := Color_Pair'First);
409    <I>--  AKA: <A HREF="menu_attribs.3x.html">set_menu_fore()</A></I>
410
411    <I>--  <A NAME="AFU_32">|</I>
412    <B>procedure</B> Foreground (Men   : <B>in</B>  Menu;
413                          Fore  : <B>out</B> Character_Attribute_Set);
414    <I>--  AKA: <A HREF="menu_attribs.3x.html">menu_fore()</A></I>
415
416    <I>--  <A NAME="AFU_33">|</I>
417    <B>procedure</B> Foreground (Men   : <B>in</B>  Menu;
418                          Fore  : <B>out</B> Character_Attribute_Set;
419                          Color : <B>out</B> Color_Pair);
420    <I>--  AKA: <A HREF="menu_attribs.3x.html">menu_fore()</A></I>
421
422    <I>--  <A NAME="AFU_34">|</I>
423    <B>procedure</B> Set_Background
424      (Men   : <B>in</B> Menu;
425       Back  : <B>in</B> Character_Attribute_Set := Normal_Video;
426       Color : <B>in</B> Color_Pair := Color_Pair'First);
427    <I>--  AKA: <A HREF="menu_attribs.3x.html">set_menu_back()</A></I>
428
429    <I>--  <A NAME="AFU_35">|</I>
430    <B>procedure</B> Background (Men  : <B>in</B>  Menu;
431                          Back : <B>out</B> Character_Attribute_Set);
432    <I>--  AKA: <A HREF="menu_attribs.3x.html">menu_back()</A></I>
433    <I>--  <A NAME="AFU_36">|</I>
434
435    <B>procedure</B> Background (Men   : <B>in</B>  Menu;
436                          Back  : <B>out</B> Character_Attribute_Set;
437                          Color : <B>out</B> Color_Pair);
438    <I>--  AKA: <A HREF="menu_attribs.3x.html">menu_back()</A></I>
439
440    <I>--  <A NAME="AFU_37">|</I>
441    <B>procedure</B> Set_Grey
442      (Men   : <B>in</B> Menu;
443       Grey  : <B>in</B> Character_Attribute_Set := Normal_Video;
444       Color : <B>in</B> Color_Pair := Color_Pair'First);
445    <I>--  AKA: <A HREF="menu_attribs.3x.html">set_menu_grey()</A></I>
446
447    <I>--  <A NAME="AFU_38">|</I>
448    <B>procedure</B> Grey (Men  : <B>in</B>  Menu;
449                    Grey : <B>out</B> Character_Attribute_Set);
450    <I>--  AKA: <A HREF="menu_attribs.3x.html">menu_grey()</A></I>
451
452    <I>--  <A NAME="AFU_39">|</I>
453    <B>procedure</B> Grey
454      (Men   : <B>in</B>  Menu;
455       Grey  : <B>out</B> Character_Attribute_Set;
456       Color : <B>out</B> Color_Pair);
457    <I>--  AKA: <A HREF="menu_attribs.3x.html">menu_grey()</A></I>
458
459    <I>--  <A NAME="AFU_40">|</I>
460    <B>procedure</B> Set_Pad_Character (Men : <B>in</B> Menu;
461                                 Pad : <B>in</B> Character := Space);
462    <I>--  AKA: <A HREF="menu_attribs.3x.html">set_menu_pad()</A></I>
463
464    <I>--  <A NAME="AFU_41">|</I>
465    <B>procedure</B> Pad_Character (Men : <B>in</B>  Menu;
466                             Pad : <B>out</B> Character);
467    <I>--  AKA: <A HREF="menu_attribs.3x.html">menu_pad()</A></I>
468
469    <I>--  |=====================================================================</I>
470    <I>--  | Man page <A HREF="menu_spacing.3x.html">menu_spacing.3x</A></I>
471    <I>--  |=====================================================================</I>
472
473    <I>--  <A NAME="AFU_42">|</I>
474    <B>procedure</B> Set_Spacing (Men   : <B>in</B> Menu;
475                           Descr : <B>in</B> Column_Position := 0;
476                           Row   : <B>in</B> Line_Position   := 0;
477                           Col   : <B>in</B> Column_Position := 0);
478    <I>--  AKA: <A HREF="menu_spacing.3x.html">set_menu_spacing()</A></I>
479
480    <I>--  <A NAME="AFU_43">|</I>
481    <B>procedure</B> Spacing (Men   : <B>in</B> Menu;
482                       Descr : <B>out</B> Column_Position;
483                       Row   : <B>out</B> Line_Position;
484                       Col   : <B>out</B> Column_Position);
485    <I>--  AKA: <A HREF="menu_spacing.3x.html">menu_spacing()</A></I>
486
487    <I>--  |=====================================================================</I>
488    <I>--  | Man page <A HREF="menu_pattern.3x.html">menu_pattern.3x</A></I>
489    <I>--  |=====================================================================</I>
490
491    <I>--  <A NAME="AFU_44">|</I>
492    <B>function</B> Set_Pattern (Men  : Menu;
493                          Text : String) <B>return</B> Boolean;
494    <I>--  AKA: <A HREF="menu_pattern.3x.html">set_menu_pattern()</A></I>
495    <I>--  Return TRUE if the pattern matches, FALSE otherwise</I>
496
497    <I>--  <A NAME="AFU_45">|</I>
498    <B>procedure</B> Pattern (Men  : <B>in</B>  Menu;
499                       Text : <B>out</B> String);
500    <I>--  AKA: <A HREF="menu_pattern.3x.html">menu_pattern()</A></I>
501
502    <I>--  |=====================================================================</I>
503    <I>--  | Man page <A HREF="menu_format.3x.html">menu_format.3x</A></I>
504    <I>--  |=====================================================================</I>
505
506    <I>--  <A NAME="AFU_46">|</I>
507    <B>procedure</B> Set_Format (Men     : <B>in</B> Menu;
508                          Lines   : <B>in</B> Line_Count;
509                          Columns : <B>in</B> Column_Count);
510    <I>--  AKA: <A HREF="menu_format.3x.html">set_menu_format()</A></I>
511
512    <I>--  <A NAME="AFU_47">|</I>
513    <B>procedure</B> Format (Men     : <B>in</B>  Menu;
514                      Lines   : <B>out</B> Line_Count;
515                      Columns : <B>out</B> Column_Count);
516    <I>--  AKA: <A HREF="menu_format.3x.html">menu_format()</A></I>
517
518    <I>--  |=====================================================================</I>
519    <I>--  | Man page <A HREF="menu_hook.3x.html">menu_hook.3x</A></I>
520    <I>--  |=====================================================================</I>
521
522    type Menu_Hook_Function <B>is</B> <B>access</B> <B>procedure</B> (Men : <B>in</B> Menu);
523    <B>pragma</B> Convention (C, Menu_Hook_Function);
524
525    <I>--  <A NAME="AFU_48">|</I>
526    <B>procedure</B> Set_Item_Init_Hook (Men  : <B>in</B> Menu;
527                                  Proc : <B>in</B> Menu_Hook_Function);
528    <I>--  AKA: <A HREF="menu_hook.3x.html">set_item_init()</A></I>
529
530    <I>--  <A NAME="AFU_49">|</I>
531    <B>procedure</B> Set_Item_Term_Hook (Men  : <B>in</B> Menu;
532                                  Proc : <B>in</B> Menu_Hook_Function);
533    <I>--  AKA: <A HREF="menu_hook.3x.html">set_item_term()</A></I>
534
535    <I>--  <A NAME="AFU_50">|</I>
536    <B>procedure</B> Set_Menu_Init_Hook (Men  : <B>in</B> Menu;
537                                  Proc : <B>in</B> Menu_Hook_Function);
538    <I>--  AKA: <A HREF="menu_hook.3x.html">set_menu_init()</A></I>
539
540    <I>--  <A NAME="AFU_51">|</I>
541    <B>procedure</B> Set_Menu_Term_Hook (Men  : <B>in</B> Menu;
542                                  Proc : <B>in</B> Menu_Hook_Function);
543    <I>--  AKA: <A HREF="menu_hook.3x.html">set_menu_term()</A></I>
544
545    <I>--  <A NAME="AFU_52">|</I>
546    <B>function</B> Get_Item_Init_Hook (Men : Menu) <B>return</B> Menu_Hook_Function;
547    <I>--  AKA: <A HREF="menu_hook.3x.html">item_init()</A></I>
548
549    <I>--  <A NAME="AFU_53">|</I>
550    <B>function</B> Get_Item_Term_Hook (Men : Menu) <B>return</B> Menu_Hook_Function;
551    <I>--  AKA: <A HREF="menu_hook.3x.html">item_term()</A></I>
552
553    <I>--  <A NAME="AFU_54">|</I>
554    <B>function</B> Get_Menu_Init_Hook (Men : Menu) <B>return</B> Menu_Hook_Function;
555    <I>--  AKA: <A HREF="menu_hook.3x.html">menu_init()</A></I>
556
557    <I>--  <A NAME="AFU_55">|</I>
558    <B>function</B> Get_Menu_Term_Hook (Men : Menu) <B>return</B> Menu_Hook_Function;
559    <I>--  AKA: <A HREF="menu_hook.3x.html">menu_term()</A></I>
560
561    <I>--  |=====================================================================</I>
562    <I>--  | Man page <A HREF="menu_items.3x.html">menu_items.3x</A></I>
563    <I>--  |=====================================================================</I>
564
565    <I>--  <A NAME="AFU_56">|</I>
566    <B>procedure</B> Redefine (Men   : <B>in</B> Menu;
567                        Items : <B>in</B> Item_Array_Access);
568    <I>--  AKA: <A HREF="menu_items.3x.html">set_menu_items()</A></I>
569
570    <B>procedure</B> Set_Items (Men   : <B>in</B> Menu;
571                         Items : <B>in</B> Item_Array_Access) <B>renames</B> Redefine;
572
573    <I>--  <A NAME="AFU_57">|</I>
574    <B>function</B> Items (Men   : Menu;
575                    Index : Positive) <B>return</B> Item;
576    <I>--  AKA: <A HREF="menu_items.3x.html">menu_items()</A></I>
577
578    <I>--  <A NAME="AFU_58">|</I>
579    <B>function</B> Item_Count (Men : Menu) <B>return</B> Natural;
580    <I>--  AKA: <A HREF="menu_items.3x.html">item_count()</A></I>
581
582    <I>--  |=====================================================================</I>
583    <I>--  | Man page <A HREF="menu_new.3x.html">menu_new.3x</A></I>
584    <I>--  |=====================================================================</I>
585
586    <I>--  <A NAME="AFU_59">|</I>
587    <B>function</B> Create (Items : Item_Array_Access) <B>return</B> Menu;
588    <I>--  AKA: <A HREF="menu_new.3x.html">new_menu()</A></I>
589
590    <B>function</B> New_Menu (Items : Item_Array_Access) <B>return</B> Menu <B>renames</B> Create;
591
592    <I>--  <A NAME="AFU_60">|</I>
593    <B>procedure</B> Delete (Men : <B>in</B> <B>out</B> Menu);
594    <I>--  AKA: <A HREF="menu_new.3x.html">free_menu()</A></I>
595    <I>--  Reset Men to Null_Menu</I>
596
597    <I>--  |=====================================================================</I>
598    <I>--  | Man page <A HREF="menu_new.3x.html">menu_new.3x</A></I>
599    <I>--  |=====================================================================</I>
600
601    type Driver_Result <B>is</B> (Menu_Ok,
602                           Request_Denied,
603                           Unknown_Request,
604                           No_Match);
605
606    <I>--  <A NAME="AFU_61">|</I>
607    <B>function</B> Driver (Men : Menu;
608                     Key : Key_Code) <B>return</B> Driver_Result;
609    <I>--  AKA: <A HREF="menu_new.3x.html">menu_driver()</A></I>
610
611 <I>-------------------------------------------------------------------------------</I>
612 <B>private</B>
613    type Item   <B>is</B> <B>new</B> System.Address;
614    type Menu   <B>is</B> <B>new</B> System.Address;
615
616    Null_Item : <B>constant</B> Item := Item (System.Null_Address);
617    Null_Menu : <B>constant</B> Menu := Menu (System.Null_Address);
618
619    Generation_Bit_Order : <B>constant</B> System.Bit_Order := System.Low_Order_First;
620    <I>--  This constant may be different on your system.</I>
621
622 <B>end</B> Terminal_Interface.Curses.Menus;
623
624 </PRE>
625
626 <P><HR><P>
627 <P>
628 This is BETA software. The interface is subject to change without notice.<P>
629 <!-- Do NOT delete my name or the tool name from below; -->
630 <!-- giving me credit is a condition of use of ada2html -->
631 <P><I>This hypertext format was generated by <A HREF="http://www.adahome.com/Tutorials/Lovelace/dwheeler.htm">David A. Wheeler</A>'s <A HREF="http://www.adahome.com/Resources/Tools/ada2html/ada2html.htm">ada2html</A></I>
632 </BODY>
633 </HTML>
634