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