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>-- Version 00.92 --</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ürgen Pfeifer</A>, Email: <A HREF="mailto:Juergen.Pfeifer@T-Online.de">Juergen.Pfeifer@T-Online.de</A> --</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>
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>
39 <B>with</B> Interfaces.C;
40 <B>with</B> Ada.Characters.Latin_1;
42 <B>package</B> Terminal_Interface.Curses.Menus <B>is</B>
44 <B>pragma</B> Linker_Options ("-lmenu");
48 Space : Character <B>renames</B> Ada.Characters.Latin_1.Space;
50 type Item <B>is</B> <B>private</B>;
51 type Menu <B>is</B> <B>private</B>;
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;
59 <B>subtype</B> Menu_Request_Code <B>is</B> Key_Code
60 <B>range</B> (Key_Max + 1) .. (Key_Max + 17);
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;
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;
100 <B>procedure</B> Request_Name (Key : <B>in</B> Menu_Request_Code;
101 Name : <B>out</B> String);
103 <I>------------------</I>
104 <I>-- Exceptions --</I>
105 <I>------------------</I>
107 Menu_Exception : <B>exception</B>;
109 <I>-- Menu options</I>
112 type Menu_Option_Set <B>is</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;
121 <B>end</B> <B>record</B>;
122 <B>pragma</B> Pack (Menu_Option_Set);
123 <B>pragma</B> Convention (C, Menu_Option_Set);
125 <B>for</B> Menu_Option_Set <B>use</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>
139 Default_Menu_Options : Menu_Option_Set;
140 <I>-- Initial default options for a menu.</I>
143 <I>-- Item options</I>
145 type Item_Option_Set <B>is</B>
147 Selectable : 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);
153 <B>for</B> Item_Option_Set <B>use</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>
162 Default_Item_Options : Item_Option_Set;
163 <I>-- Initial default options for an item.</I>
168 type Item_Array <B>is</B> <B>array</B> (Positive <B>range</B> <>) <B>of</B> <B>aliased</B> Item;
169 <B>pragma</B> Convention (C, Item_Array);
171 type Item_Array_Access <B>is</B> <B>access</B> <B>all</B> Item_Array;
173 <I>-- |=====================================================================</I>
174 <I>-- | Man page <A HREF="mitem_new.3x.html">mitem_new.3x</A></I>
175 <I>-- |=====================================================================</I>
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>
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>
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>
193 <I>-- |=====================================================================</I>
194 <I>-- | Man page <A HREF="mitem_value.3x.html">mitem_value.3x</A></I>
195 <I>-- |=====================================================================</I>
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>
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>
206 <I>-- |=====================================================================</I>
207 <I>-- | Man page <A HREF="mitem_visible.3x.html">mitem_visible.3x</A></I>
208 <I>-- |=====================================================================</I>
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>
214 <I>-- |=====================================================================</I>
215 <I>-- | Man page <A HREF="mitem_opts.3x.html">mitem_opts.3x</A></I>
216 <I>-- |=====================================================================</I>
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>
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>
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>
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>
239 <I>-- |=====================================================================</I>
240 <I>-- | Man page <A HREF="mitem_name.3x.html">mitem_name.3x</A></I>
241 <I>-- |=====================================================================</I>
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>
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>
253 <I>-- |=====================================================================</I>
254 <I>-- | Man page <A HREF="mitem_current.3x.html">mitem_current.3x</A></I>
255 <I>-- |=====================================================================</I>
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>
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>
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>
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>
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>
282 <I>-- |=====================================================================</I>
283 <I>-- | Man page <A HREF="menu_post.3x.html">menu_post.3x</A></I>
284 <I>-- |=====================================================================</I>
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>
292 <I>-- |=====================================================================</I>
293 <I>-- | Man page <A HREF="menu_opts.3x.html">menu_opts.3x</A></I>
294 <I>-- |=====================================================================</I>
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>
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>
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>
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>
317 <I>-- |=====================================================================</I>
318 <I>-- | Man page <A HREF="menu_win.3x.html">menu_win.3x</A></I>
319 <I>-- |=====================================================================</I>
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>
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>
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>
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>
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>
345 <I>-- |=====================================================================</I>
346 <I>-- | Man page <A HREF="menu_cursor.3x.html">menu_cursor.3x</A></I>
347 <I>-- |=====================================================================</I>
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>
353 <I>-- |=====================================================================</I>
354 <I>-- | Man page <A HREF="menu_mark.3x.html">menu_mark.3x</A></I>
355 <I>-- |=====================================================================</I>
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>
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>
367 <I>-- |=====================================================================</I>
368 <I>-- | Man page <A HREF="menu_attribs.3x.html">menu_attribs.3x</A></I>
369 <I>-- |=====================================================================</I>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
436 <I>-- |=====================================================================</I>
437 <I>-- | Man page <A HREF="menu_spacing.3x.html">menu_spacing.3x</A></I>
438 <I>-- |=====================================================================</I>
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>
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>
454 <I>-- |=====================================================================</I>
455 <I>-- | Man page <A HREF="menu_pattern.3x.html">menu_pattern.3x</A></I>
456 <I>-- |=====================================================================</I>
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>
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>
469 <I>-- |=====================================================================</I>
470 <I>-- | Man page <A HREF="menu_format.3x.html">menu_format.3x</A></I>
471 <I>-- |=====================================================================</I>
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>
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>
485 <I>-- |=====================================================================</I>
486 <I>-- | Man page <A HREF="menu_hook.3x.html">menu_hook.3x</A></I>
487 <I>-- |=====================================================================</I>
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);
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>
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>
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>
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>
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>
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>
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>
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>
528 <I>-- |=====================================================================</I>
529 <I>-- | Man page <A HREF="menu_items.3x.html">menu_items.3x</A></I>
530 <I>-- |=====================================================================</I>
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>
539 <B>procedure</B> Set_Items (Men : <B>in</B> Menu;
540 Items : <B>in</B> Item_Array) <B>renames</B> Redefine;
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>
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>
550 <I>-- |=====================================================================</I>
551 <I>-- | Man page <A HREF="menu_new.3x.html">menu_new.3x</A></I>
552 <I>-- |=====================================================================</I>
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>
558 <B>function</B> New_Menu (Items : Item_Array) <B>return</B> Menu <B>renames</B> Create;
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>
565 <I>-- |=====================================================================</I>
566 <I>-- | Man page <A HREF="menu_new.3x.html">menu_new.3x</A></I>
567 <I>-- |=====================================================================</I>
569 type Driver_Result <B>is</B> (Menu_Ok,
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>
579 <I>-------------------------------------------------------------------------------</I>
581 type Item <B>is</B> <B>new</B> System.Address;
582 type Menu <B>is</B> <B>new</B> System.Address;
584 Null_Item : <B>constant</B> Item := Item (System.Null_Address);
585 Null_Menu : <B>constant</B> Menu := Menu (System.Null_Address);
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>
593 type Ada_User_Wrapper <B>is</B>
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);
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>
605 <B>end</B> Terminal_Interface.Curses.Menus;
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>