5 <BODY BGCOLOR="#99ccbb" TEXT="#000000" LINK="#4060b0" VLINK="#000080" ALINK="#ff4040">
8 <I>------------------------------------------------------------------------------</I>
10 <I>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</I>
12 <I>-- Terminal_Interface.Curses.Menu --</I>
16 <I>------------------------------------------------------------------------------</I>
17 <I>-- Copyright (c) 1998 Free Software Foundation, Inc. --</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>
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>
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>
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ü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>
52 <B>with</B> Interfaces.C;
53 <B>with</B> Ada.Characters.Latin_1;
55 <B>package</B> Terminal_Interface.Curses.Menus <B>is</B>
57 <B>pragma</B> Linker_Options ("-lmenu");
61 Space : Character <B>renames</B> Ada.Characters.Latin_1.Space;
63 type Item <B>is</B> <B>private</B>;
64 type Menu <B>is</B> <B>private</B>;
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;
72 <B>subtype</B> Menu_Request_Code <B>is</B> Key_Code
73 <B>range</B> (Key_Max + 1) .. (Key_Max + 17);
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;
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;
113 <B>procedure</B> Request_Name (Key : <B>in</B> Menu_Request_Code;
114 Name : <B>out</B> String);
116 <B>function</B> Request_Name (Key : Menu_Request_Code) <B>return</B> String;
117 <I>-- Same as function</I>
119 <I>------------------</I>
120 <I>-- Exceptions --</I>
121 <I>------------------</I>
123 Menu_Exception : <B>exception</B>;
125 <I>-- Menu options</I>
128 type Menu_Option_Set <B>is</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;
137 <B>end</B> <B>record</B>;
138 <B>pragma</B> Pack (Menu_Option_Set);
139 <B>pragma</B> Convention (C, Menu_Option_Set);
141 <B>for</B> Menu_Option_Set <B>use</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>
155 Default_Menu_Options : Menu_Option_Set;
156 <I>-- Initial default options for a menu.</I>
159 <I>-- Item options</I>
161 type Item_Option_Set <B>is</B>
163 Selectable : 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);
169 <B>for</B> Item_Option_Set <B>use</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>
178 Default_Item_Options : Item_Option_Set;
179 <I>-- Initial default options for an item.</I>
184 type Item_Array <B>is</B> <B>array</B> (Positive <B>range</B> <>) <B>of</B> <B>aliased</B> Item;
185 <B>pragma</B> Convention (C, Item_Array);
187 type Item_Array_Access <B>is</B> <B>access</B> Item_Array;
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>
195 <I>-- |=====================================================================</I>
196 <I>-- | Man page <A HREF="mitem_new.3x.html">mitem_new.3x</A></I>
197 <I>-- |=====================================================================</I>
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>
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>
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>
215 <I>-- |=====================================================================</I>
216 <I>-- | Man page <A HREF="mitem_value.3x.html">mitem_value.3x</A></I>
217 <I>-- |=====================================================================</I>
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>
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>
228 <I>-- |=====================================================================</I>
229 <I>-- | Man page <A HREF="mitem_visible.3x.html">mitem_visible.3x</A></I>
230 <I>-- |=====================================================================</I>
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>
236 <I>-- |=====================================================================</I>
237 <I>-- | Man page <A HREF="mitem_opts.3x.html">mitem_opts.3x</A></I>
238 <I>-- |=====================================================================</I>
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>
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>
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>
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>
261 <I>-- |=====================================================================</I>
262 <I>-- | Man page <A HREF="mitem_name.3x.html">mitem_name.3x</A></I>
263 <I>-- |=====================================================================</I>
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>
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>
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>
282 <I>-- |=====================================================================</I>
283 <I>-- | Man page <A HREF="mitem_current.3x.html">mitem_current.3x</A></I>
284 <I>-- |=====================================================================</I>
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>
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>
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>
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>
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>
311 <I>-- |=====================================================================</I>
312 <I>-- | Man page <A HREF="menu_post.3x.html">menu_post.3x</A></I>
313 <I>-- |=====================================================================</I>
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>
321 <I>-- |=====================================================================</I>
322 <I>-- | Man page <A HREF="menu_opts.3x.html">menu_opts.3x</A></I>
323 <I>-- |=====================================================================</I>
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>
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>
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>
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>
346 <I>-- |=====================================================================</I>
347 <I>-- | Man page <A HREF="menu_win.3x.html">menu_win.3x</A></I>
348 <I>-- |=====================================================================</I>
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>
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>
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>
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>
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>
374 <I>-- |=====================================================================</I>
375 <I>-- | Man page <A HREF="menu_cursor.3x.html">menu_cursor.3x</A></I>
376 <I>-- |=====================================================================</I>
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>
382 <I>-- |=====================================================================</I>
383 <I>-- | Man page <A HREF="menu_mark.3x.html">menu_mark.3x</A></I>
384 <I>-- |=====================================================================</I>
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>
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>
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>
400 <I>-- |=====================================================================</I>
401 <I>-- | Man page <A HREF="menu_attribs.3x.html">menu_attribs.3x</A></I>
402 <I>-- |=====================================================================</I>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
469 <I>-- |=====================================================================</I>
470 <I>-- | Man page <A HREF="menu_spacing.3x.html">menu_spacing.3x</A></I>
471 <I>-- |=====================================================================</I>
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>
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>
487 <I>-- |=====================================================================</I>
488 <I>-- | Man page <A HREF="menu_pattern.3x.html">menu_pattern.3x</A></I>
489 <I>-- |=====================================================================</I>
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>
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>
502 <I>-- |=====================================================================</I>
503 <I>-- | Man page <A HREF="menu_format.3x.html">menu_format.3x</A></I>
504 <I>-- |=====================================================================</I>
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>
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>
518 <I>-- |=====================================================================</I>
519 <I>-- | Man page <A HREF="menu_hook.3x.html">menu_hook.3x</A></I>
520 <I>-- |=====================================================================</I>
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);
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>
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>
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>
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>
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>
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>
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>
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>
561 <I>-- |=====================================================================</I>
562 <I>-- | Man page <A HREF="menu_items.3x.html">menu_items.3x</A></I>
563 <I>-- |=====================================================================</I>
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>
570 <B>procedure</B> Set_Items (Men : <B>in</B> Menu;
571 Items : <B>in</B> Item_Array_Access) <B>renames</B> Redefine;
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>
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>
582 <I>-- |=====================================================================</I>
583 <I>-- | Man page <A HREF="menu_new.3x.html">menu_new.3x</A></I>
584 <I>-- |=====================================================================</I>
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>
590 <B>function</B> New_Menu (Items : Item_Array_Access) <B>return</B> Menu <B>renames</B> Create;
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>
597 <I>-- |=====================================================================</I>
598 <I>-- | Man page <A HREF="menu_new.3x.html">menu_new.3x</A></I>
599 <I>-- |=====================================================================</I>
601 type Driver_Result <B>is</B> (Menu_Ok,
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>
611 <I>-------------------------------------------------------------------------------</I>
613 type Item <B>is</B> <B>new</B> System.Address;
614 type Menu <B>is</B> <B>new</B> System.Address;
616 Null_Item : <B>constant</B> Item := Item (System.Null_Address);
617 Null_Menu : <B>constant</B> Menu := Menu (System.Null_Address);
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>
622 <B>end</B> Terminal_Interface.Curses.Menus;
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>