ncurses 6.1 - patch 20200118
[ncurses.git] / doc / html / ada / terminal_interface-curses-menus__adb.htm
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
2 <HTML>
3 <HEAD>
4 <TITLE>terminal_interface-curses-menus.adb</TITLE>
5 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
6 <style type="text/css">
7 *.comment {
8         color: green;
9 }
10 *.symbol {
11         color: red;
12 }
13 </style>
14 </HEAD>
15 <BODY>
16 <HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-menus.adb </H1></DIV><HR>
17 <PRE>
18 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
19 <span class="comment"><EM>--                                                                          --</EM></span>
20 <span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
21 <span class="comment"><EM>--                                                                          --</EM></span>
22 <span class="comment"><EM>--                      Terminal_Interface.Curses.Menus                     --</EM></span>
23 <span class="comment"><EM>--                                                                          --</EM></span>
24 <span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
25 <span class="comment"><EM>--                                                                          --</EM></span>
26 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
27 <span class="comment"><EM>-- Copyright (c) 1998-2014,2018 Free Software Foundation, Inc.              --</EM></span>
28 <span class="comment"><EM>--                                                                          --</EM></span>
29 <span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
30 <span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
31 <span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
32 <span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
33 <span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
34 <span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
35 <span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
36 <span class="comment"><EM>--                                                                          --</EM></span>
37 <span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
38 <span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
39 <span class="comment"><EM>--                                                                          --</EM></span>
40 <span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
41 <span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
42 <span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
43 <span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
44 <span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
45 <span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
46 <span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
47 <span class="comment"><EM>--                                                                          --</EM></span>
48 <span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
49 <span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
50 <span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
51 <span class="comment"><EM>-- authorization.                                                           --</EM></span>
52 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
53 <span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
54 <span class="comment"><EM>--  Version Control:</EM></span>
55 <span class="comment"><EM>--  @Revision: 1.33 @</EM></span>
56 <span class="comment"><EM>--  @Date: 2018/07/07 23:36:44 @</EM></span>
57 <span class="comment"><EM>--  Binding Version 01.00</EM></span>
58 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
59 <b>with</b> Ada.Unchecked_Deallocation;
60 <b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
61
62 <b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C;
63 <b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings;
64 <b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Pointers;
65
66 <b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_49_40" HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A></span> <b>is</b>
67
68    <b>type</b> C_Item_Array <b>is</b> <b>array</b> (Natural <b>range</b> &lt;&gt;) <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
69    <b>package</b> I_Array <b>is</b> <b>new</b>
70      <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Pointers (Natural, <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>, C_Item_Array, <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A>);
71
72    <b>subtype</b> <span class="symbol"><A NAME="ref_55_12">chars_ptr</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings.chars_ptr;
73
74 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
75    <b>procedure</b> <span class="symbol"><A NAME="ref_58_14" HREF="terminal_interface-curses-menus__ads.htm#ref_101_14">Request_Name</A></span> (<span class="symbol"><A NAME="ref_58_28" HREF="terminal_interface-curses-menus__ads.htm#ref_101_28">Key</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A>;
76                            <span class="symbol"><A NAME="ref_59_28" HREF="terminal_interface-curses-menus__ads.htm#ref_102_28">Name</A></span> : <b>out</b> String)
77    <b>is</b>
78       <b>function</b> <span class="symbol"><A NAME="ref_61_16">Request_Name</A></span> (<span class="symbol"><A NAME="ref_61_30" HREF="terminal_interface-curses-menus__adb.htm#ref_61_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_55_12">chars_ptr</A>;
79       <b>pragma</b> Import (C, Request_Name, "menu_request_name");
80    <b>begin</b>
81       <A HREF="terminal_interface-curses-aux__ads.htm#ref_90_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_61_16">Request_Name</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_101_28">Key</A>)), <A HREF="terminal_interface-curses-menus__ads.htm#ref_102_28">Name</A>);
82    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_101_14">Request_Name</A>;
83
84    <b>function</b> <span class="symbol"><A NAME="ref_67_13" HREF="terminal_interface-curses-menus__ads.htm#ref_104_14">Request_Name</A></span> (<span class="symbol"><A NAME="ref_67_27" HREF="terminal_interface-curses-menus__ads.htm#ref_104_28">Key</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A>) <b>return</b> String
85    <b>is</b>
86       <b>function</b> <span class="symbol"><A NAME="ref_69_16">Request_Name</A></span> (<span class="symbol"><A NAME="ref_69_30" HREF="terminal_interface-curses-menus__adb.htm#ref_69_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_55_12">chars_ptr</A>;
87       <b>pragma</b> Import (C, Request_Name, "menu_request_name");
88    <b>begin</b>
89       <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_95_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_69_16">Request_Name</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_104_28">Key</A>)));
90    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_104_14">Request_Name</A>;
91
92    <b>function</b> <span class="symbol"><A NAME="ref_75_13" HREF="terminal_interface-curses-menus__ads.htm#ref_189_13">Create</A></span> (<span class="symbol"><A NAME="ref_75_21" HREF="terminal_interface-curses-menus__ads.htm#ref_189_21">Name</A></span>        : String;
93                     <span class="symbol"><A NAME="ref_76_21" HREF="terminal_interface-curses-menus__ads.htm#ref_190_21">Description</A></span> : String := "") <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>
94    <b>is</b>
95       <b>type</b> <span class="symbol"><A NAME="ref_78_12">Char_Ptr</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.char;
96       <b>function</b> <span class="symbol"><A NAME="ref_79_16">Newitem</A></span> (<span class="symbol"><A NAME="ref_79_25" HREF="terminal_interface-curses-menus__adb.htm#ref_79_16">Name</A></span>, <span class="symbol"><A NAME="ref_79_31" HREF="terminal_interface-curses-menus__adb.htm#ref_79_16">Desc</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_78_12">Char_Ptr</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
97       <b>pragma</b> Import (C, Newitem, "new_item");
98
99       <b>type</b> Name_String <b>is</b> <b>new</b> char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#ref_189_21">Name</A>'Length);
100       <b>type</b> <span class="symbol"><A NAME="ref_83_12">Name_String_Ptr</A></span> <b>is</b> <b>access</b> Name_String;
101       <b>pragma</b> Controlled (<A HREF="terminal_interface-curses-menus__adb.htm#ref_83_12">Name_String_Ptr</A>);
102
103       <b>type</b> Desc_String <b>is</b> <b>new</b> char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#ref_190_21">Description</A>'Length);
104       <b>type</b> <span class="symbol"><A NAME="ref_87_12">Desc_String_Ptr</A></span> <b>is</b> <b>access</b> Desc_String;
105       <b>pragma</b> Controlled (<A HREF="terminal_interface-curses-menus__adb.htm#ref_87_12">Desc_String_Ptr</A>);
106
107       <span class="symbol"><A NAME="ref_90_7">Name_Str</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_83_12">Name_String_Ptr</A> := <b>new</b> Name_String;
108       <span class="symbol"><A NAME="ref_91_7">Desc_Str</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_87_12">Desc_String_Ptr</A> := <b>new</b> Desc_String;
109       <span class="symbol"><A NAME="ref_92_7">Name_Len</A></span>, <span class="symbol"><A NAME="ref_92_17">Desc_Len</A></span> : size_t;
110       <span class="symbol"><A NAME="ref_93_7">Result</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
111    <b>begin</b>
112       To_C (<A HREF="terminal_interface-curses-menus__ads.htm#ref_189_21">Name</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_90_7">Name_Str</A>.<b>all</b>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_92_7">Name_Len</A>);
113       To_C (<A HREF="terminal_interface-curses-menus__ads.htm#ref_190_21">Description</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_91_7">Desc_Str</A>.<b>all</b>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_92_17">Desc_Len</A>);
114       <A HREF="terminal_interface-curses-menus__adb.htm#ref_93_7">Result</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_79_16">Newitem</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_90_7">Name_Str</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_90_7">Name_Str</A>.<b>all</b>'First)'<b>Access</b>,
115                          <A HREF="terminal_interface-curses-menus__adb.htm#ref_91_7">Desc_Str</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_91_7">Desc_Str</A>.<b>all</b>'First)'<b>Access</b>);
116       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_93_7">Result</A> = <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A> <b>then</b>
117          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_527_4">Eti_System_Error</A>;
118       <b>end</b> <b>if</b>;
119       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_93_7">Result</A>;
120    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_189_13">Create</A>;
121
122    <b>procedure</b> <span class="symbol"><A NAME="ref_105_14" HREF="terminal_interface-curses-menus__ads.htm#ref_201_14">Delete</A></span> (<span class="symbol"><A NAME="ref_105_22" HREF="terminal_interface-curses-menus__ads.htm#ref_201_22">Itm</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>)
123    <b>is</b>
124       <b>function</b> <span class="symbol"><A NAME="ref_107_16">Descname</A></span> (<span class="symbol"><A NAME="ref_107_26" HREF="terminal_interface-curses-menus__adb.htm#ref_107_16">Itm</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_55_12">chars_ptr</A>;
125       <b>pragma</b> Import (C, Descname, "item_description");
126       <b>function</b> <span class="symbol"><A NAME="ref_109_16">Itemname</A></span> (<span class="symbol"><A NAME="ref_109_26" HREF="terminal_interface-curses-menus__adb.htm#ref_109_16">Itm</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_55_12">chars_ptr</A>;
127       <b>pragma</b> Import (C, Itemname, "item_name");
128
129       <b>function</b> <span class="symbol"><A NAME="ref_112_16">Freeitem</A></span> (<span class="symbol"><A NAME="ref_112_26" HREF="terminal_interface-curses-menus__adb.htm#ref_112_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
130       <b>pragma</b> Import (C, Freeitem, "free_item");
131
132       <span class="symbol"><A NAME="ref_115_7">Ptr</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_55_12">chars_ptr</A>;
133    <b>begin</b>
134       <A HREF="terminal_interface-curses-menus__adb.htm#ref_115_7">Ptr</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_107_16">Descname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_201_22">Itm</A>);
135       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_115_7">Ptr</A> /= Null_Ptr <b>then</b>
136          <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings.Free (<A HREF="terminal_interface-curses-menus__adb.htm#ref_115_7">Ptr</A>);
137       <b>end</b> <b>if</b>;
138       <A HREF="terminal_interface-curses-menus__adb.htm#ref_115_7">Ptr</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_109_16">Itemname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_201_22">Itm</A>);
139       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_115_7">Ptr</A> /= Null_Ptr <b>then</b>
140          <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings.Free (<A HREF="terminal_interface-curses-menus__adb.htm#ref_115_7">Ptr</A>);
141       <b>end</b> <b>if</b>;
142       <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_112_16">Freeitem</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_201_22">Itm</A>));
143       <A HREF="terminal_interface-curses-menus__ads.htm#ref_201_22">Itm</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A>;
144    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_201_14">Delete</A>;
145 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
146    <b>procedure</b> <span class="symbol"><A NAME="ref_129_14" HREF="terminal_interface-curses-menus__ads.htm#ref_210_14">Set_Value</A></span> (<span class="symbol"><A NAME="ref_129_25" HREF="terminal_interface-curses-menus__ads.htm#ref_210_25">Itm</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
147                         <span class="symbol"><A NAME="ref_130_25" HREF="terminal_interface-curses-menus__ads.htm#ref_211_25">Value</A></span> : Boolean := True)
148    <b>is</b>
149       <b>function</b> <span class="symbol"><A NAME="ref_132_16">Set_Item_Val</A></span> (<span class="symbol"><A NAME="ref_132_30" HREF="terminal_interface-curses-menus__adb.htm#ref_132_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
150                              <span class="symbol"><A NAME="ref_133_30" HREF="terminal_interface-curses-menus__adb.htm#ref_132_16">Val</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
151       <b>pragma</b> Import (C, Set_Item_Val, "set_item_value");
152
153    <b>begin</b>
154       <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_132_16">Set_Item_Val</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_210_25">Itm</A>, Boolean'Pos (<A HREF="terminal_interface-curses-menus__ads.htm#ref_211_25">Value</A>)));
155    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_210_14">Set_Value</A>;
156
157    <b>function</b> <span class="symbol"><A NAME="ref_140_13" HREF="terminal_interface-curses-menus__ads.htm#ref_216_13">Value</A></span> (<span class="symbol"><A NAME="ref_140_20" HREF="terminal_interface-curses-menus__ads.htm#ref_216_20">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> Boolean
158    <b>is</b>
159       <b>function</b> <span class="symbol"><A NAME="ref_142_16">Item_Val</A></span> (<span class="symbol"><A NAME="ref_142_26" HREF="terminal_interface-curses-menus__adb.htm#ref_142_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
160       <b>pragma</b> Import (C, Item_Val, "item_value");
161    <b>begin</b>
162       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_142_16">Item_Val</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_216_20">Itm</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_66_4">Curses_False</A> <b>then</b>
163          <b>return</b> False;
164       <b>else</b>
165          <b>return</b> True;
166       <b>end</b> <b>if</b>;
167    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_216_13">Value</A>;
168
169 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
170    <b>function</b> <span class="symbol"><A NAME="ref_153_13" HREF="terminal_interface-curses-menus__ads.htm#ref_225_13">Visible</A></span> (<span class="symbol"><A NAME="ref_153_22" HREF="terminal_interface-curses-menus__ads.htm#ref_225_22">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> Boolean
171    <b>is</b>
172       <b>function</b> <span class="symbol"><A NAME="ref_155_16">Item_Vis</A></span> (<span class="symbol"><A NAME="ref_155_26" HREF="terminal_interface-curses-menus__adb.htm#ref_155_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
173       <b>pragma</b> Import (C, Item_Vis, "item_visible");
174    <b>begin</b>
175       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_155_16">Item_Vis</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_225_22">Itm</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_66_4">Curses_False</A> <b>then</b>
176          <b>return</b> False;
177       <b>else</b>
178          <b>return</b> True;
179       <b>end</b> <b>if</b>;
180    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_225_13">Visible</A>;
181 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
182    <b>procedure</b> <span class="symbol"><A NAME="ref_165_14" HREF="terminal_interface-curses-menus__ads.htm#ref_234_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_165_27" HREF="terminal_interface-curses-menus__ads.htm#ref_234_27">Itm</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
183                           <span class="symbol"><A NAME="ref_166_27" HREF="terminal_interface-curses-menus__ads.htm#ref_235_27">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>)
184    <b>is</b>
185       <b>function</b> <span class="symbol"><A NAME="ref_168_16">Set_Item_Opts</A></span> (<span class="symbol"><A NAME="ref_168_31" HREF="terminal_interface-curses-menus__adb.htm#ref_168_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
186                               <span class="symbol"><A NAME="ref_169_31" HREF="terminal_interface-curses-menus__adb.htm#ref_168_16">Opt</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
187       <b>pragma</b> Import (C, Set_Item_Opts, "set_item_opts");
188
189    <b>begin</b>
190       <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_168_16">Set_Item_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_234_27">Itm</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_235_27">Options</A>));
191    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_234_14">Set_Options</A>;
192
193    <b>procedure</b> <span class="symbol"><A NAME="ref_176_14" HREF="terminal_interface-curses-menus__ads.htm#ref_240_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_176_30" HREF="terminal_interface-curses-menus__ads.htm#ref_240_30">Itm</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
194                              <span class="symbol"><A NAME="ref_177_30" HREF="terminal_interface-curses-menus__ads.htm#ref_241_30">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>;
195                              <span class="symbol"><A NAME="ref_178_30" HREF="terminal_interface-curses-menus__ads.htm#ref_242_30">On</A></span>      : Boolean := True)
196    <b>is</b>
197       <b>function</b> <span class="symbol"><A NAME="ref_180_16">Item_Opts_On</A></span> (<span class="symbol"><A NAME="ref_180_30" HREF="terminal_interface-curses-menus__adb.htm#ref_180_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
198                              <span class="symbol"><A NAME="ref_181_30" HREF="terminal_interface-curses-menus__adb.htm#ref_180_16">Opt</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
199       <b>pragma</b> Import (C, Item_Opts_On, "item_opts_on");
200       <b>function</b> <span class="symbol"><A NAME="ref_183_16">Item_Opts_Off</A></span> (<span class="symbol"><A NAME="ref_183_31" HREF="terminal_interface-curses-menus__adb.htm#ref_183_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
201                               <span class="symbol"><A NAME="ref_184_31" HREF="terminal_interface-curses-menus__adb.htm#ref_183_16">Opt</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
202       <b>pragma</b> Import (C, Item_Opts_Off, "item_opts_off");
203
204    <b>begin</b>
205       <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_242_30">On</A> <b>then</b>
206          <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_180_16">Item_Opts_On</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_240_30">Itm</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_241_30">Options</A>));
207       <b>else</b>
208          <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_183_16">Item_Opts_Off</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_240_30">Itm</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_241_30">Options</A>));
209       <b>end</b> <b>if</b>;
210    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_240_14">Switch_Options</A>;
211
212    <b>procedure</b> <span class="symbol"><A NAME="ref_195_14" HREF="terminal_interface-curses-menus__ads.htm#ref_249_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_195_27" HREF="terminal_interface-curses-menus__ads.htm#ref_249_27">Itm</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
213                           <span class="symbol"><A NAME="ref_196_27" HREF="terminal_interface-curses-menus__ads.htm#ref_250_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>)
214    <b>is</b>
215       <b>function</b> <span class="symbol"><A NAME="ref_198_16">Item_Opts</A></span> (<span class="symbol"><A NAME="ref_198_27" HREF="terminal_interface-curses-menus__adb.htm#ref_198_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>;
216       <b>pragma</b> Import (C, Item_Opts, "item_opts");
217
218    <b>begin</b>
219       <A HREF="terminal_interface-curses-menus__ads.htm#ref_250_27">Options</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_198_16">Item_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_249_27">Itm</A>);
220    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_249_14">Get_Options</A>;
221
222    <b>function</b> <span class="symbol"><A NAME="ref_205_13" HREF="terminal_interface-curses-menus__ads.htm#ref_254_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_205_26" HREF="terminal_interface-curses-menus__ads.htm#ref_254_26">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>
223    <b>is</b>
224       <span class="symbol"><A NAME="ref_207_7">Ios</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>;
225    <b>begin</b>
226       <A HREF="terminal_interface-curses-menus__ads.htm#ref_249_14">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_254_26">Itm</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_207_7">Ios</A>);
227       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_207_7">Ios</A>;
228    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_254_13">Get_Options</A>;
229 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
230    <b>procedure</b> <span class="symbol"><A NAME="ref_213_14" HREF="terminal_interface-curses-menus__ads.htm#ref_263_14">Name</A></span> (<span class="symbol"><A NAME="ref_213_20" HREF="terminal_interface-curses-menus__ads.htm#ref_263_20">Itm</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
231                    <span class="symbol"><A NAME="ref_214_20" HREF="terminal_interface-curses-menus__ads.htm#ref_264_20">Name</A></span> : <b>out</b> String)
232    <b>is</b>
233       <b>function</b> <span class="symbol"><A NAME="ref_216_16">Itemname</A></span> (<span class="symbol"><A NAME="ref_216_26" HREF="terminal_interface-curses-menus__adb.htm#ref_216_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_55_12">chars_ptr</A>;
234       <b>pragma</b> Import (C, Itemname, "item_name");
235    <b>begin</b>
236       <A HREF="terminal_interface-curses-aux__ads.htm#ref_90_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_216_16">Itemname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_263_20">Itm</A>), <A HREF="terminal_interface-curses-menus__ads.htm#ref_264_20">Name</A>);
237    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_263_14">Name</A>;
238
239    <b>function</b> <span class="symbol"><A NAME="ref_222_13" HREF="terminal_interface-curses-menus__ads.htm#ref_266_14">Name</A></span> (<span class="symbol"><A NAME="ref_222_19" HREF="terminal_interface-curses-menus__ads.htm#ref_266_20">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> String
240    <b>is</b>
241       <b>function</b> <span class="symbol"><A NAME="ref_224_16">Itemname</A></span> (<span class="symbol"><A NAME="ref_224_26" HREF="terminal_interface-curses-menus__adb.htm#ref_224_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_55_12">chars_ptr</A>;
242       <b>pragma</b> Import (C, Itemname, "item_name");
243    <b>begin</b>
244       <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_95_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_224_16">Itemname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_266_20">Itm</A>));
245    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_266_14">Name</A>;
246
247    <b>procedure</b> <span class="symbol"><A NAME="ref_230_14" HREF="terminal_interface-curses-menus__ads.htm#ref_272_14">Description</A></span> (<span class="symbol"><A NAME="ref_230_27" HREF="terminal_interface-curses-menus__ads.htm#ref_272_27">Itm</A></span>         : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
248                           <span class="symbol"><A NAME="ref_231_27" HREF="terminal_interface-curses-menus__ads.htm#ref_273_27">Description</A></span> : <b>out</b> String)
249    <b>is</b>
250       <b>function</b> <span class="symbol"><A NAME="ref_233_16">Descname</A></span> (<span class="symbol"><A NAME="ref_233_26" HREF="terminal_interface-curses-menus__adb.htm#ref_233_16">Itm</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_55_12">chars_ptr</A>;
251       <b>pragma</b> Import (C, Descname, "item_description");
252    <b>begin</b>
253       <A HREF="terminal_interface-curses-aux__ads.htm#ref_90_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_233_16">Descname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_272_27">Itm</A>), <A HREF="terminal_interface-curses-menus__ads.htm#ref_273_27">Description</A>);
254    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_272_14">Description</A>;
255
256    <b>function</b> <span class="symbol"><A NAME="ref_239_13" HREF="terminal_interface-curses-menus__ads.htm#ref_276_14">Description</A></span> (<span class="symbol"><A NAME="ref_239_26" HREF="terminal_interface-curses-menus__ads.htm#ref_276_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> String
257    <b>is</b>
258       <b>function</b> <span class="symbol"><A NAME="ref_241_16">Descname</A></span> (<span class="symbol"><A NAME="ref_241_26" HREF="terminal_interface-curses-menus__adb.htm#ref_241_16">Itm</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_55_12">chars_ptr</A>;
259       <b>pragma</b> Import (C, Descname, "item_description");
260    <b>begin</b>
261       <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_95_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_241_16">Descname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_276_27">Itm</A>));
262    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_276_14">Description</A>;
263 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
264    <b>procedure</b> <span class="symbol"><A NAME="ref_247_14" HREF="terminal_interface-curses-menus__ads.htm#ref_286_14">Set_Current</A></span> (<span class="symbol"><A NAME="ref_247_27" HREF="terminal_interface-curses-menus__ads.htm#ref_286_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
265                           <span class="symbol"><A NAME="ref_248_27" HREF="terminal_interface-curses-menus__ads.htm#ref_287_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>)
266    <b>is</b>
267       <b>function</b> <span class="symbol"><A NAME="ref_250_16">Set_Curr_Item</A></span> (<span class="symbol"><A NAME="ref_250_31" HREF="terminal_interface-curses-menus__adb.htm#ref_250_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
268                               <span class="symbol"><A NAME="ref_251_31" HREF="terminal_interface-curses-menus__adb.htm#ref_250_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
269       <b>pragma</b> Import (C, Set_Curr_Item, "set_current_item");
270
271    <b>begin</b>
272       <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_250_16">Set_Curr_Item</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_286_27">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_287_27">Itm</A>));
273    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_286_14">Set_Current</A>;
274
275    <b>function</b> <span class="symbol"><A NAME="ref_258_13" HREF="terminal_interface-curses-menus__ads.htm#ref_292_13">Current</A></span> (<span class="symbol"><A NAME="ref_258_22" HREF="terminal_interface-curses-menus__ads.htm#ref_292_22">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>
276    <b>is</b>
277       <b>function</b> <span class="symbol"><A NAME="ref_260_16">Curr_Item</A></span> (<span class="symbol"><A NAME="ref_260_27" HREF="terminal_interface-curses-menus__adb.htm#ref_260_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
278       <b>pragma</b> Import (C, Curr_Item, "current_item");
279
280       <span class="symbol"><A NAME="ref_263_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_260_16">Curr_Item</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_292_22">Men</A>);
281    <b>begin</b>
282       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_263_7">Res</A> = <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A> <b>then</b>
283          <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_111_4">Menu_Exception</A>;
284       <b>end</b> <b>if</b>;
285       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_263_7">Res</A>;
286    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_292_13">Current</A>;
287
288    <b>procedure</b> <span class="symbol"><A NAME="ref_271_14" HREF="terminal_interface-curses-menus__ads.htm#ref_297_14">Set_Top_Row</A></span> (<span class="symbol"><A NAME="ref_271_27" HREF="terminal_interface-curses-menus__ads.htm#ref_297_27">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
289                           <span class="symbol"><A NAME="ref_272_27" HREF="terminal_interface-curses-menus__ads.htm#ref_298_27">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>)
290    <b>is</b>
291       <b>function</b> <span class="symbol"><A NAME="ref_274_16">Set_Toprow</A></span> (<span class="symbol"><A NAME="ref_274_28" HREF="terminal_interface-curses-menus__adb.htm#ref_274_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
292                            <span class="symbol"><A NAME="ref_275_28" HREF="terminal_interface-curses-menus__adb.htm#ref_274_16">Line</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
293       <b>pragma</b> Import (C, Set_Toprow, "set_top_row");
294
295    <b>begin</b>
296       <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_274_16">Set_Toprow</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_297_27">Men</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_298_27">Line</A>)));
297    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_297_14">Set_Top_Row</A>;
298
299    <b>function</b> <span class="symbol"><A NAME="ref_282_13" HREF="terminal_interface-curses-menus__ads.htm#ref_303_13">Top_Row</A></span> (<span class="symbol"><A NAME="ref_282_22" HREF="terminal_interface-curses-menus__ads.htm#ref_303_22">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>
300    <b>is</b>
301       <b>function</b> <span class="symbol"><A NAME="ref_284_16">Toprow</A></span> (<span class="symbol"><A NAME="ref_284_24" HREF="terminal_interface-curses-menus__adb.htm#ref_284_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
302       <b>pragma</b> Import (C, Toprow, "top_row");
303
304       <span class="symbol"><A NAME="ref_287_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_284_16">Toprow</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_303_22">Men</A>);
305    <b>begin</b>
306       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_287_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
307          <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_111_4">Menu_Exception</A>;
308       <b>end</b> <b>if</b>;
309       <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_287_7">Res</A>);
310    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_303_13">Top_Row</A>;
311
312    <b>function</b> <span class="symbol"><A NAME="ref_295_13" HREF="terminal_interface-curses-menus__ads.htm#ref_308_13">Get_Index</A></span> (<span class="symbol"><A NAME="ref_295_24" HREF="terminal_interface-curses-menus__ads.htm#ref_308_24">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> Positive
313    <b>is</b>
314       <b>function</b> <span class="symbol"><A NAME="ref_297_16">Get_Itemindex</A></span> (<span class="symbol"><A NAME="ref_297_31" HREF="terminal_interface-curses-menus__adb.htm#ref_297_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
315       <b>pragma</b> Import (C, Get_Itemindex, "item_index");
316
317       <span class="symbol"><A NAME="ref_300_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_297_16">Get_Itemindex</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_308_24">Itm</A>);
318    <b>begin</b>
319       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_300_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
320          <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_111_4">Menu_Exception</A>;
321       <b>end</b> <b>if</b>;
322       <b>return</b> Positive (Natural (<A HREF="terminal_interface-curses-menus__adb.htm#ref_300_7">Res</A>) + Positive'First);
323    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_308_13">Get_Index</A>;
324 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
325    <b>procedure</b> <span class="symbol"><A NAME="ref_308_14" HREF="terminal_interface-curses-menus__ads.htm#ref_320_14">Post</A></span> (<span class="symbol"><A NAME="ref_308_20" HREF="terminal_interface-curses-menus__ads.htm#ref_320_20">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
326                    <span class="symbol"><A NAME="ref_309_20" HREF="terminal_interface-curses-menus__ads.htm#ref_321_20">Post</A></span> : Boolean := True)
327    <b>is</b>
328       <b>function</b> <span class="symbol"><A NAME="ref_311_16">M_Post</A></span> (<span class="symbol"><A NAME="ref_311_24" HREF="terminal_interface-curses-menus__adb.htm#ref_311_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
329       <b>pragma</b> Import (C, M_Post, "post_menu");
330       <b>function</b> <span class="symbol"><A NAME="ref_313_16">M_Unpost</A></span> (<span class="symbol"><A NAME="ref_313_26" HREF="terminal_interface-curses-menus__adb.htm#ref_313_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
331       <b>pragma</b> Import (C, M_Unpost, "unpost_menu");
332
333    <b>begin</b>
334       <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_321_20">Post</A> <b>then</b>
335          <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_311_16">M_Post</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_320_20">Men</A>));
336       <b>else</b>
337          <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_313_16">M_Unpost</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_320_20">Men</A>));
338       <b>end</b> <b>if</b>;
339    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_320_14">Post</A>;
340 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
341    <b>procedure</b> <span class="symbol"><A NAME="ref_324_14" HREF="terminal_interface-curses-menus__ads.htm#ref_331_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_324_27" HREF="terminal_interface-curses-menus__ads.htm#ref_331_27">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
342                           <span class="symbol"><A NAME="ref_325_27" HREF="terminal_interface-curses-menus__ads.htm#ref_332_27">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>)
343    <b>is</b>
344       <b>function</b> <span class="symbol"><A NAME="ref_327_16">Set_Menu_Opts</A></span> (<span class="symbol"><A NAME="ref_327_31" HREF="terminal_interface-curses-menus__adb.htm#ref_327_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
345                               <span class="symbol"><A NAME="ref_328_31" HREF="terminal_interface-curses-menus__adb.htm#ref_327_16">Opt</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
346       <b>pragma</b> Import (C, Set_Menu_Opts, "set_menu_opts");
347
348    <b>begin</b>
349       <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_327_16">Set_Menu_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_331_27">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_332_27">Options</A>));
350    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_331_14">Set_Options</A>;
351
352    <b>procedure</b> <span class="symbol"><A NAME="ref_335_14" HREF="terminal_interface-curses-menus__ads.htm#ref_337_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_335_30" HREF="terminal_interface-curses-menus__ads.htm#ref_337_30">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
353                              <span class="symbol"><A NAME="ref_336_30" HREF="terminal_interface-curses-menus__ads.htm#ref_338_30">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>;
354                              <span class="symbol"><A NAME="ref_337_30" HREF="terminal_interface-curses-menus__ads.htm#ref_339_30">On</A></span>      : Boolean := True)
355    <b>is</b>
356       <b>function</b> <span class="symbol"><A NAME="ref_339_16">Menu_Opts_On</A></span> (<span class="symbol"><A NAME="ref_339_30" HREF="terminal_interface-curses-menus__adb.htm#ref_339_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
357                              <span class="symbol"><A NAME="ref_340_30" HREF="terminal_interface-curses-menus__adb.htm#ref_339_16">Opt</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
358       <b>pragma</b> Import (C, Menu_Opts_On, "menu_opts_on");
359       <b>function</b> <span class="symbol"><A NAME="ref_342_16">Menu_Opts_Off</A></span> (<span class="symbol"><A NAME="ref_342_31" HREF="terminal_interface-curses-menus__adb.htm#ref_342_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
360                               <span class="symbol"><A NAME="ref_343_31" HREF="terminal_interface-curses-menus__adb.htm#ref_342_16">Opt</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
361       <b>pragma</b> Import (C, Menu_Opts_Off, "menu_opts_off");
362
363    <b>begin</b>
364       <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_339_30">On</A> <b>then</b>
365          <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_339_16">Menu_Opts_On</A>  (<A HREF="terminal_interface-curses-menus__ads.htm#ref_337_30">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_338_30">Options</A>));
366       <b>else</b>
367          <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_342_16">Menu_Opts_Off</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_337_30">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_338_30">Options</A>));
368       <b>end</b> <b>if</b>;
369    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_337_14">Switch_Options</A>;
370
371    <b>procedure</b> <span class="symbol"><A NAME="ref_354_14" HREF="terminal_interface-curses-menus__ads.htm#ref_345_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_354_27" HREF="terminal_interface-curses-menus__ads.htm#ref_345_27">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
372                           <span class="symbol"><A NAME="ref_355_27" HREF="terminal_interface-curses-menus__ads.htm#ref_346_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>)
373    <b>is</b>
374       <b>function</b> <span class="symbol"><A NAME="ref_357_16">Menu_Opts</A></span> (<span class="symbol"><A NAME="ref_357_27" HREF="terminal_interface-curses-menus__adb.htm#ref_357_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>;
375       <b>pragma</b> Import (C, Menu_Opts, "menu_opts");
376
377    <b>begin</b>
378       <A HREF="terminal_interface-curses-menus__ads.htm#ref_346_27">Options</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_357_16">Menu_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_345_27">Men</A>);
379    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_345_14">Get_Options</A>;
380
381    <b>function</b> <span class="symbol"><A NAME="ref_364_13" HREF="terminal_interface-curses-menus__ads.htm#ref_350_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_364_26" HREF="terminal_interface-curses-menus__ads.htm#ref_350_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>
382    <b>is</b>
383       <span class="symbol"><A NAME="ref_366_7">Mos</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>;
384    <b>begin</b>
385       <A HREF="terminal_interface-curses-menus__ads.htm#ref_345_14">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_350_26">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_366_7">Mos</A>);
386       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_366_7">Mos</A>;
387    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_350_13">Get_Options</A>;
388 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
389    <b>procedure</b> <span class="symbol"><A NAME="ref_372_14" HREF="terminal_interface-curses-menus__ads.htm#ref_359_14">Set_Window</A></span> (<span class="symbol"><A NAME="ref_372_26" HREF="terminal_interface-curses-menus__ads.htm#ref_359_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
390                          <span class="symbol"><A NAME="ref_373_26" HREF="terminal_interface-curses-menus__ads.htm#ref_360_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
391    <b>is</b>
392       <b>function</b> <span class="symbol"><A NAME="ref_375_16">Set_Menu_Win</A></span> (<span class="symbol"><A NAME="ref_375_30" HREF="terminal_interface-curses-menus__adb.htm#ref_375_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
393                              <span class="symbol"><A NAME="ref_376_30" HREF="terminal_interface-curses-menus__adb.htm#ref_375_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
394       <b>pragma</b> Import (C, Set_Menu_Win, "set_menu_win");
395
396    <b>begin</b>
397       <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_375_16">Set_Menu_Win</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_359_26">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_360_26">Win</A>));
398    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_359_14">Set_Window</A>;
399
400    <b>function</b> <span class="symbol"><A NAME="ref_383_13" HREF="terminal_interface-curses-menus__ads.htm#ref_365_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_383_25" HREF="terminal_interface-curses-menus__ads.htm#ref_365_25">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
401    <b>is</b>
402       <b>function</b> <span class="symbol"><A NAME="ref_385_16">Menu_Win</A></span> (<span class="symbol"><A NAME="ref_385_26" HREF="terminal_interface-curses-menus__adb.htm#ref_385_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
403       <b>pragma</b> Import (C, Menu_Win, "menu_win");
404
405       <span class="symbol"><A NAME="ref_388_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_385_16">Menu_Win</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_365_25">Men</A>);
406    <b>begin</b>
407       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_388_7">W</A>;
408    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_365_13">Get_Window</A>;
409
410    <b>procedure</b> <span class="symbol"><A NAME="ref_393_14" HREF="terminal_interface-curses-menus__ads.htm#ref_370_14">Set_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_393_30" HREF="terminal_interface-curses-menus__ads.htm#ref_370_30">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
411                              <span class="symbol"><A NAME="ref_394_30" HREF="terminal_interface-curses-menus__ads.htm#ref_371_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
412    <b>is</b>
413       <b>function</b> <span class="symbol"><A NAME="ref_396_16">Set_Menu_Sub</A></span> (<span class="symbol"><A NAME="ref_396_30" HREF="terminal_interface-curses-menus__adb.htm#ref_396_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
414                              <span class="symbol"><A NAME="ref_397_30" HREF="terminal_interface-curses-menus__adb.htm#ref_396_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
415       <b>pragma</b> Import (C, Set_Menu_Sub, "set_menu_sub");
416
417    <b>begin</b>
418       <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_396_16">Set_Menu_Sub</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_370_30">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_371_30">Win</A>));
419    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_370_14">Set_Sub_Window</A>;
420
421    <b>function</b> <span class="symbol"><A NAME="ref_404_13" HREF="terminal_interface-curses-menus__ads.htm#ref_376_13">Get_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_404_29" HREF="terminal_interface-curses-menus__ads.htm#ref_376_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
422    <b>is</b>
423       <b>function</b> <span class="symbol"><A NAME="ref_406_16">Menu_Sub</A></span> (<span class="symbol"><A NAME="ref_406_26" HREF="terminal_interface-curses-menus__adb.htm#ref_406_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
424       <b>pragma</b> Import (C, Menu_Sub, "menu_sub");
425
426       <span class="symbol"><A NAME="ref_409_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_406_16">Menu_Sub</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_376_29">Men</A>);
427    <b>begin</b>
428       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_409_7">W</A>;
429    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_376_13">Get_Sub_Window</A>;
430
431    <b>procedure</b> <span class="symbol"><A NAME="ref_414_14" HREF="terminal_interface-curses-menus__ads.htm#ref_381_14">Scale</A></span> (<span class="symbol"><A NAME="ref_414_21" HREF="terminal_interface-curses-menus__ads.htm#ref_381_21">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
432                     <span class="symbol"><A NAME="ref_415_21" HREF="terminal_interface-curses-menus__ads.htm#ref_382_21">Lines</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
433                     <span class="symbol"><A NAME="ref_416_21" HREF="terminal_interface-curses-menus__ads.htm#ref_383_21">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>)
434    <b>is</b>
435       <b>type</b> <span class="symbol"><A NAME="ref_418_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
436       <b>function</b> <span class="symbol"><A NAME="ref_419_16">M_Scale</A></span> (<span class="symbol"><A NAME="ref_419_25" HREF="terminal_interface-curses-menus__adb.htm#ref_419_16">Men</A></span>    : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
437                         <span class="symbol"><A NAME="ref_420_25" HREF="terminal_interface-curses-menus__adb.htm#ref_419_16">Yp</A></span>, <span class="symbol"><A NAME="ref_420_29" HREF="terminal_interface-curses-menus__adb.htm#ref_419_16">Xp</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_418_12">C_Int_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
438       <b>pragma</b> Import (C, M_Scale, "scale_menu");
439
440       <span class="symbol"><A NAME="ref_423_7">X</A></span>, <span class="symbol"><A NAME="ref_423_10">Y</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
441    <b>begin</b>
442       <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_419_16">M_Scale</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_381_21">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_423_10">Y</A>'<b>Access</b>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_423_7">X</A>'<b>Access</b>));
443       <A HREF="terminal_interface-curses-menus__ads.htm#ref_382_21">Lines</A> := <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_423_10">Y</A>);
444       <A HREF="terminal_interface-curses-menus__ads.htm#ref_383_21">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_423_7">X</A>);
445    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_381_14">Scale</A>;
446 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
447    <b>procedure</b> <span class="symbol"><A NAME="ref_430_14" HREF="terminal_interface-curses-menus__ads.htm#ref_392_14">Position_Cursor</A></span> (<span class="symbol"><A NAME="ref_430_31" HREF="terminal_interface-curses-menus__ads.htm#ref_392_31">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>)
448    <b>is</b>
449       <b>function</b> <span class="symbol"><A NAME="ref_432_16">Pos_Menu_Cursor</A></span> (<span class="symbol"><A NAME="ref_432_33" HREF="terminal_interface-curses-menus__adb.htm#ref_432_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
450       <b>pragma</b> Import (C, Pos_Menu_Cursor, "pos_menu_cursor");
451
452    <b>begin</b>
453       <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_432_16">Pos_Menu_Cursor</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_392_31">Men</A>));
454    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_392_14">Position_Cursor</A>;
455
456 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
457    <b>procedure</b> <span class="symbol"><A NAME="ref_440_14" HREF="terminal_interface-curses-menus__ads.htm#ref_401_14">Set_Mark</A></span> (<span class="symbol"><A NAME="ref_440_24" HREF="terminal_interface-curses-menus__ads.htm#ref_401_24">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
458                        <span class="symbol"><A NAME="ref_441_24" HREF="terminal_interface-curses-menus__ads.htm#ref_402_24">Mark</A></span> : String)
459    <b>is</b>
460       <b>type</b> <span class="symbol"><A NAME="ref_443_12">Char_Ptr</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.char;
461       <b>function</b> <span class="symbol"><A NAME="ref_444_16">Set_Mark</A></span> (<span class="symbol"><A NAME="ref_444_26" HREF="terminal_interface-curses-menus__adb.htm#ref_444_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
462                          <span class="symbol"><A NAME="ref_445_26" HREF="terminal_interface-curses-menus__adb.htm#ref_444_16">Mark</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_443_12">Char_Ptr</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
463       <b>pragma</b> Import (C, Set_Mark, "set_menu_mark");
464
465       <span class="symbol"><A NAME="ref_448_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#ref_402_24">Mark</A>'Length);
466       <span class="symbol"><A NAME="ref_449_7">Len</A></span> : size_t;
467    <b>begin</b>
468       To_C (<A HREF="terminal_interface-curses-menus__ads.htm#ref_402_24">Mark</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_448_7">Txt</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_449_7">Len</A>);
469       <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_444_16">Set_Mark</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_401_24">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_448_7">Txt</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_448_7">Txt</A>'First)'<b>Access</b>));
470    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_401_14">Set_Mark</A>;
471
472    <b>procedure</b> <span class="symbol"><A NAME="ref_455_14" HREF="terminal_interface-curses-menus__ads.htm#ref_407_14">Mark</A></span> (<span class="symbol"><A NAME="ref_455_20" HREF="terminal_interface-curses-menus__ads.htm#ref_407_20">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
473                    <span class="symbol"><A NAME="ref_456_20" HREF="terminal_interface-curses-menus__ads.htm#ref_408_20">Mark</A></span> : <b>out</b> String)
474    <b>is</b>
475       <b>function</b> <span class="symbol"><A NAME="ref_458_16">Get_Menu_Mark</A></span> (<span class="symbol"><A NAME="ref_458_31" HREF="terminal_interface-curses-menus__adb.htm#ref_458_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_55_12">chars_ptr</A>;
476       <b>pragma</b> Import (C, Get_Menu_Mark, "menu_mark");
477    <b>begin</b>
478       <A HREF="terminal_interface-curses-aux__ads.htm#ref_90_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_458_16">Get_Menu_Mark</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_407_20">Men</A>), <A HREF="terminal_interface-curses-menus__ads.htm#ref_408_20">Mark</A>);
479    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_407_14">Mark</A>;
480
481    <b>function</b> <span class="symbol"><A NAME="ref_464_13" HREF="terminal_interface-curses-menus__ads.htm#ref_411_14">Mark</A></span> (<span class="symbol"><A NAME="ref_464_19" HREF="terminal_interface-curses-menus__ads.htm#ref_411_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> String
482    <b>is</b>
483       <b>function</b> <span class="symbol"><A NAME="ref_466_16">Get_Menu_Mark</A></span> (<span class="symbol"><A NAME="ref_466_31" HREF="terminal_interface-curses-menus__adb.htm#ref_466_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_55_12">chars_ptr</A>;
484       <b>pragma</b> Import (C, Get_Menu_Mark, "menu_mark");
485    <b>begin</b>
486       <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_95_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_466_16">Get_Menu_Mark</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_411_20">Men</A>));
487    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_411_14">Mark</A>;
488
489 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
490    <b>procedure</b> <span class="symbol"><A NAME="ref_473_14" HREF="terminal_interface-curses-menus__ads.htm#ref_421_14">Set_Foreground</A></span>
491      (<span class="symbol"><A NAME="ref_474_7" HREF="terminal_interface-curses-menus__ads.htm#ref_422_7">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
492       <span class="symbol"><A NAME="ref_475_7" HREF="terminal_interface-curses-menus__ads.htm#ref_423_7">Fore</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
493       <span class="symbol"><A NAME="ref_476_7" HREF="terminal_interface-curses-menus__ads.htm#ref_424_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First)
494    <b>is</b>
495       <b>function</b> <span class="symbol"><A NAME="ref_478_16">Set_Menu_Fore</A></span> (<span class="symbol"><A NAME="ref_478_31" HREF="terminal_interface-curses-menus__adb.htm#ref_478_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
496                               <span class="symbol"><A NAME="ref_479_31" HREF="terminal_interface-curses-menus__adb.htm#ref_478_16">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
497       <b>pragma</b> Import (C, Set_Menu_Fore, "set_menu_fore");
498
499       <span class="symbol"><A NAME="ref_482_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    =&gt; Character'First,
500                                              <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_424_7">Color</A>,
501                                              <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_423_7">Fore</A>);
502    <b>begin</b>
503       <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_478_16">Set_Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_422_7">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_482_7">Ch</A>));
504    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_421_14">Set_Foreground</A>;
505
506    <b>procedure</b> <span class="symbol"><A NAME="ref_489_14" HREF="terminal_interface-curses-menus__ads.htm#ref_429_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_489_26" HREF="terminal_interface-curses-menus__ads.htm#ref_429_26">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
507                          <span class="symbol"><A NAME="ref_490_26" HREF="terminal_interface-curses-menus__ads.htm#ref_430_26">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>)
508    <b>is</b>
509       <b>function</b> <span class="symbol"><A NAME="ref_492_16">Menu_Fore</A></span> (<span class="symbol"><A NAME="ref_492_27" HREF="terminal_interface-curses-menus__adb.htm#ref_492_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
510       <b>pragma</b> Import (C, Menu_Fore, "menu_fore");
511    <b>begin</b>
512       <A HREF="terminal_interface-curses-menus__ads.htm#ref_430_26">Fore</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_492_16">Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_429_26">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
513    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_429_14">Foreground</A>;
514
515    <b>procedure</b> <span class="symbol"><A NAME="ref_498_14" HREF="terminal_interface-curses-menus__ads.htm#ref_434_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_498_26" HREF="terminal_interface-curses-menus__ads.htm#ref_434_26">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
516                          <span class="symbol"><A NAME="ref_499_26" HREF="terminal_interface-curses-menus__ads.htm#ref_435_26">Fore</A></span>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
517                          <span class="symbol"><A NAME="ref_500_26" HREF="terminal_interface-curses-menus__ads.htm#ref_436_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>)
518    <b>is</b>
519       <b>function</b> <span class="symbol"><A NAME="ref_502_16">Menu_Fore</A></span> (<span class="symbol"><A NAME="ref_502_27" HREF="terminal_interface-curses-menus__adb.htm#ref_502_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
520       <b>pragma</b> Import (C, Menu_Fore, "menu_fore");
521    <b>begin</b>
522       <A HREF="terminal_interface-curses-menus__ads.htm#ref_435_26">Fore</A>  := <A HREF="terminal_interface-curses-menus__adb.htm#ref_502_16">Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_434_26">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
523       <A HREF="terminal_interface-curses-menus__ads.htm#ref_436_26">Color</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_502_16">Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_434_26">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A>;
524    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_434_14">Foreground</A>;
525
526    <b>procedure</b> <span class="symbol"><A NAME="ref_509_14" HREF="terminal_interface-curses-menus__ads.htm#ref_441_14">Set_Background</A></span>
527      (<span class="symbol"><A NAME="ref_510_7" HREF="terminal_interface-curses-menus__ads.htm#ref_442_7">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
528       <span class="symbol"><A NAME="ref_511_7" HREF="terminal_interface-curses-menus__ads.htm#ref_443_7">Back</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
529       <span class="symbol"><A NAME="ref_512_7" HREF="terminal_interface-curses-menus__ads.htm#ref_444_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First)
530    <b>is</b>
531       <b>function</b> <span class="symbol"><A NAME="ref_514_16">Set_Menu_Back</A></span> (<span class="symbol"><A NAME="ref_514_31" HREF="terminal_interface-curses-menus__adb.htm#ref_514_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
532                               <span class="symbol"><A NAME="ref_515_31" HREF="terminal_interface-curses-menus__adb.htm#ref_514_16">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
533       <b>pragma</b> Import (C, Set_Menu_Back, "set_menu_back");
534
535       <span class="symbol"><A NAME="ref_518_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    =&gt; Character'First,
536                                              <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_444_7">Color</A>,
537                                              <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_443_7">Back</A>);
538    <b>begin</b>
539       <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_514_16">Set_Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_442_7">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_518_7">Ch</A>));
540    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_441_14">Set_Background</A>;
541
542    <b>procedure</b> <span class="symbol"><A NAME="ref_525_14" HREF="terminal_interface-curses-menus__ads.htm#ref_449_14">Background</A></span> (<span class="symbol"><A NAME="ref_525_26" HREF="terminal_interface-curses-menus__ads.htm#ref_449_26">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
543                          <span class="symbol"><A NAME="ref_526_26" HREF="terminal_interface-curses-menus__ads.htm#ref_450_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>)
544    <b>is</b>
545       <b>function</b> <span class="symbol"><A NAME="ref_528_16">Menu_Back</A></span> (<span class="symbol"><A NAME="ref_528_27" HREF="terminal_interface-curses-menus__adb.htm#ref_528_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
546       <b>pragma</b> Import (C, Menu_Back, "menu_back");
547    <b>begin</b>
548       <A HREF="terminal_interface-curses-menus__ads.htm#ref_450_26">Back</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_528_16">Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_449_26">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
549    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_449_14">Background</A>;
550
551    <b>procedure</b> <span class="symbol"><A NAME="ref_534_14" HREF="terminal_interface-curses-menus__ads.htm#ref_454_14">Background</A></span> (<span class="symbol"><A NAME="ref_534_26" HREF="terminal_interface-curses-menus__ads.htm#ref_454_26">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
552                          <span class="symbol"><A NAME="ref_535_26" HREF="terminal_interface-curses-menus__ads.htm#ref_455_26">Back</A></span>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
553                          <span class="symbol"><A NAME="ref_536_26" HREF="terminal_interface-curses-menus__ads.htm#ref_456_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>)
554    <b>is</b>
555       <b>function</b> <span class="symbol"><A NAME="ref_538_16">Menu_Back</A></span> (<span class="symbol"><A NAME="ref_538_27" HREF="terminal_interface-curses-menus__adb.htm#ref_538_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
556       <b>pragma</b> Import (C, Menu_Back, "menu_back");
557    <b>begin</b>
558       <A HREF="terminal_interface-curses-menus__ads.htm#ref_455_26">Back</A>  := <A HREF="terminal_interface-curses-menus__adb.htm#ref_538_16">Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_454_26">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
559       <A HREF="terminal_interface-curses-menus__ads.htm#ref_456_26">Color</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_538_16">Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_454_26">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A>;
560    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_454_14">Background</A>;
561
562    <b>procedure</b> <span class="symbol"><A NAME="ref_545_14" HREF="terminal_interface-curses-menus__ads.htm#ref_461_14">Set_Grey</A></span> (<span class="symbol"><A NAME="ref_545_24" HREF="terminal_interface-curses-menus__ads.htm#ref_462_7">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
563                        <span class="symbol"><A NAME="ref_546_24" HREF="terminal_interface-curses-menus__ads.htm#ref_463_7">Grey</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
564                        <span class="symbol"><A NAME="ref_547_24" HREF="terminal_interface-curses-menus__ads.htm#ref_464_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First)
565    <b>is</b>
566       <b>function</b> <span class="symbol"><A NAME="ref_549_16">Set_Menu_Grey</A></span> (<span class="symbol"><A NAME="ref_549_31" HREF="terminal_interface-curses-menus__adb.htm#ref_549_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
567                               <span class="symbol"><A NAME="ref_550_31" HREF="terminal_interface-curses-menus__adb.htm#ref_549_16">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
568       <b>pragma</b> Import (C, Set_Menu_Grey, "set_menu_grey");
569
570       <span class="symbol"><A NAME="ref_553_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    =&gt; Character'First,
571                                              <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_464_7">Color</A>,
572                                              <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_463_7">Grey</A>);
573
574    <b>begin</b>
575       <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_549_16">Set_Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_462_7">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_553_7">Ch</A>));
576    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_461_14">Set_Grey</A>;
577
578    <b>procedure</b> <span class="symbol"><A NAME="ref_561_14" HREF="terminal_interface-curses-menus__ads.htm#ref_469_14">Grey</A></span> (<span class="symbol"><A NAME="ref_561_20" HREF="terminal_interface-curses-menus__ads.htm#ref_469_20">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
579                    <span class="symbol"><A NAME="ref_562_20" HREF="terminal_interface-curses-menus__ads.htm#ref_470_20">Grey</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>)
580    <b>is</b>
581       <b>function</b> <span class="symbol"><A NAME="ref_564_16">Menu_Grey</A></span> (<span class="symbol"><A NAME="ref_564_27" HREF="terminal_interface-curses-menus__adb.htm#ref_564_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
582       <b>pragma</b> Import (C, Menu_Grey, "menu_grey");
583    <b>begin</b>
584       <A HREF="terminal_interface-curses-menus__ads.htm#ref_470_20">Grey</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_564_16">Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_469_20">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
585    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_469_14">Grey</A>;
586
587    <b>procedure</b> <span class="symbol"><A NAME="ref_570_14" HREF="terminal_interface-curses-menus__ads.htm#ref_474_14">Grey</A></span> (<span class="symbol"><A NAME="ref_570_20" HREF="terminal_interface-curses-menus__ads.htm#ref_475_7">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
588                    <span class="symbol"><A NAME="ref_571_20" HREF="terminal_interface-curses-menus__ads.htm#ref_476_7">Grey</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
589                    <span class="symbol"><A NAME="ref_572_20" HREF="terminal_interface-curses-menus__ads.htm#ref_477_7">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>)
590    <b>is</b>
591       <b>function</b> <span class="symbol"><A NAME="ref_574_16">Menu_Grey</A></span> (<span class="symbol"><A NAME="ref_574_27" HREF="terminal_interface-curses-menus__adb.htm#ref_574_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
592       <b>pragma</b> Import (C, Menu_Grey, "menu_grey");
593    <b>begin</b>
594       <A HREF="terminal_interface-curses-menus__ads.htm#ref_476_7">Grey</A>  := <A HREF="terminal_interface-curses-menus__adb.htm#ref_574_16">Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_475_7">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
595       <A HREF="terminal_interface-curses-menus__ads.htm#ref_477_7">Color</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_574_16">Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_475_7">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A>;
596    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_474_14">Grey</A>;
597
598    <b>procedure</b> <span class="symbol"><A NAME="ref_581_14" HREF="terminal_interface-curses-menus__ads.htm#ref_482_14">Set_Pad_Character</A></span> (<span class="symbol"><A NAME="ref_581_33" HREF="terminal_interface-curses-menus__ads.htm#ref_482_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
599                                 <span class="symbol"><A NAME="ref_582_33" HREF="terminal_interface-curses-menus__ads.htm#ref_483_33">Pad</A></span> : Character := Space)
600    <b>is</b>
601       <b>function</b> <span class="symbol"><A NAME="ref_584_16">Set_Menu_Pad</A></span> (<span class="symbol"><A NAME="ref_584_30" HREF="terminal_interface-curses-menus__adb.htm#ref_584_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
602                              <span class="symbol"><A NAME="ref_585_30" HREF="terminal_interface-curses-menus__adb.htm#ref_584_16">Ch</A></span>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
603       <b>pragma</b> Import (C, Set_Menu_Pad, "set_menu_pad");
604
605    <b>begin</b>
606       <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_584_16">Set_Menu_Pad</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_482_33">Men</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (Character'Pos (<A HREF="terminal_interface-curses-menus__ads.htm#ref_483_33">Pad</A>))));
607    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_482_14">Set_Pad_Character</A>;
608
609    <b>procedure</b> <span class="symbol"><A NAME="ref_592_14" HREF="terminal_interface-curses-menus__ads.htm#ref_488_14">Pad_Character</A></span> (<span class="symbol"><A NAME="ref_592_29" HREF="terminal_interface-curses-menus__ads.htm#ref_488_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
610                             <span class="symbol"><A NAME="ref_593_29" HREF="terminal_interface-curses-menus__ads.htm#ref_489_29">Pad</A></span> : <b>out</b> Character)
611    <b>is</b>
612       <b>function</b> <span class="symbol"><A NAME="ref_595_16">Menu_Pad</A></span> (<span class="symbol"><A NAME="ref_595_26" HREF="terminal_interface-curses-menus__adb.htm#ref_595_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
613       <b>pragma</b> Import (C, Menu_Pad, "menu_pad");
614    <b>begin</b>
615       <A HREF="terminal_interface-curses-menus__ads.htm#ref_489_29">Pad</A> := Character'Val (<A HREF="terminal_interface-curses-menus__adb.htm#ref_595_16">Menu_Pad</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_488_29">Men</A>));
616    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_488_14">Pad_Character</A>;
617 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
618    <b>procedure</b> <span class="symbol"><A NAME="ref_601_14" HREF="terminal_interface-curses-menus__ads.htm#ref_498_14">Set_Spacing</A></span> (<span class="symbol"><A NAME="ref_601_27" HREF="terminal_interface-curses-menus__ads.htm#ref_498_27">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
619                           <span class="symbol"><A NAME="ref_602_27" HREF="terminal_interface-curses-menus__ads.htm#ref_499_27">Descr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> := 0;
620                           <span class="symbol"><A NAME="ref_603_27" HREF="terminal_interface-curses-menus__ads.htm#ref_500_27">Row</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>   := 0;
621                           <span class="symbol"><A NAME="ref_604_27" HREF="terminal_interface-curses-menus__ads.htm#ref_501_27">Col</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> := 0)
622    <b>is</b>
623       <b>function</b> <span class="symbol"><A NAME="ref_606_16">Set_Spacing</A></span> (<span class="symbol"><A NAME="ref_606_29" HREF="terminal_interface-curses-menus__adb.htm#ref_606_16">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
624                             <span class="symbol"><A NAME="ref_607_29" HREF="terminal_interface-curses-menus__adb.htm#ref_606_16">D</A></span>, <span class="symbol"><A NAME="ref_607_32" HREF="terminal_interface-curses-menus__adb.htm#ref_606_16">R</A></span>, <span class="symbol"><A NAME="ref_607_35" HREF="terminal_interface-curses-menus__adb.htm#ref_606_16">C</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
625       <b>pragma</b> Import (C, Set_Spacing, "set_menu_spacing");
626
627    <b>begin</b>
628       <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_606_16">Set_Spacing</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_498_27">Men</A>,
629                                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_499_27">Descr</A>),
630                                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_500_27">Row</A>),
631                                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_501_27">Col</A>)));
632    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_498_14">Set_Spacing</A>;
633
634    <b>procedure</b> <span class="symbol"><A NAME="ref_617_14" HREF="terminal_interface-curses-menus__ads.htm#ref_506_14">Spacing</A></span> (<span class="symbol"><A NAME="ref_617_23" HREF="terminal_interface-curses-menus__ads.htm#ref_506_23">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
635                       <span class="symbol"><A NAME="ref_618_23" HREF="terminal_interface-curses-menus__ads.htm#ref_507_23">Descr</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
636                       <span class="symbol"><A NAME="ref_619_23" HREF="terminal_interface-curses-menus__ads.htm#ref_508_23">Row</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
637                       <span class="symbol"><A NAME="ref_620_23" HREF="terminal_interface-curses-menus__ads.htm#ref_509_23">Col</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
638    <b>is</b>
639       <b>type</b> <span class="symbol"><A NAME="ref_622_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
640       <b>function</b> <span class="symbol"><A NAME="ref_623_16">Get_Spacing</A></span> (<span class="symbol"><A NAME="ref_623_29" HREF="terminal_interface-curses-menus__adb.htm#ref_623_16">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
641                             <span class="symbol"><A NAME="ref_624_29" HREF="terminal_interface-curses-menus__adb.htm#ref_623_16">D</A></span>, <span class="symbol"><A NAME="ref_624_32" HREF="terminal_interface-curses-menus__adb.htm#ref_623_16">R</A></span>, <span class="symbol"><A NAME="ref_624_35" HREF="terminal_interface-curses-menus__adb.htm#ref_623_16">C</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_622_12">C_Int_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
642       <b>pragma</b> Import (C, Get_Spacing, "menu_spacing");
643
644       <span class="symbol"><A NAME="ref_627_7">D</A></span>, <span class="symbol"><A NAME="ref_627_10">R</A></span>, <span class="symbol"><A NAME="ref_627_13">C</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
645    <b>begin</b>
646       <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_623_16">Get_Spacing</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_506_23">Men</A>,
647                                   <A HREF="terminal_interface-curses-menus__adb.htm#ref_627_7">D</A>'<b>Access</b>,
648                                   <A HREF="terminal_interface-curses-menus__adb.htm#ref_627_10">R</A>'<b>Access</b>,
649                                   <A HREF="terminal_interface-curses-menus__adb.htm#ref_627_13">C</A>'<b>Access</b>));
650       <A HREF="terminal_interface-curses-menus__ads.htm#ref_507_23">Descr</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_627_7">D</A>);
651       <A HREF="terminal_interface-curses-menus__ads.htm#ref_508_23">Row</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_627_10">R</A>);
652       <A HREF="terminal_interface-curses-menus__ads.htm#ref_509_23">Col</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_627_13">C</A>);
653    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_506_14">Spacing</A>;
654 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
655    <b>function</b> <span class="symbol"><A NAME="ref_638_13" HREF="terminal_interface-curses-menus__ads.htm#ref_518_13">Set_Pattern</A></span> (<span class="symbol"><A NAME="ref_638_26" HREF="terminal_interface-curses-menus__ads.htm#ref_518_26">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
656                          <span class="symbol"><A NAME="ref_639_26" HREF="terminal_interface-curses-menus__ads.htm#ref_519_26">Text</A></span> : String) <b>return</b> Boolean
657    <b>is</b>
658       <b>type</b> <span class="symbol"><A NAME="ref_641_12">Char_Ptr</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.char;
659       <b>function</b> <span class="symbol"><A NAME="ref_642_16">Set_Pattern</A></span> (<span class="symbol"><A NAME="ref_642_29" HREF="terminal_interface-curses-menus__adb.htm#ref_642_16">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
660                             <span class="symbol"><A NAME="ref_643_29" HREF="terminal_interface-curses-menus__adb.htm#ref_642_16">Pattern</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_641_12">Char_Ptr</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
661       <b>pragma</b> Import (C, Set_Pattern, "set_menu_pattern");
662
663       <span class="symbol"><A NAME="ref_646_7">S</A></span>   : char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#ref_519_26">Text</A>'Length);
664       <span class="symbol"><A NAME="ref_647_7">L</A></span>   : size_t;
665       <span class="symbol"><A NAME="ref_648_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
666    <b>begin</b>
667       To_C (<A HREF="terminal_interface-curses-menus__ads.htm#ref_519_26">Text</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_646_7">S</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_647_7">L</A>);
668       <A HREF="terminal_interface-curses-menus__adb.htm#ref_648_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_642_16">Set_Pattern</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_518_26">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_646_7">S</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_646_7">S</A>'First)'<b>Access</b>);
669       <b>case</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_648_7">Res</A> <b>is</b>
670          <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_7">E_No_Match</A> =&gt;
671             <b>return</b> False;
672          <b>when</b> <b>others</b> =&gt;
673             <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_648_7">Res</A>);
674             <b>return</b> True;
675       <b>end</b> <b>case</b>;
676    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_518_13">Set_Pattern</A>;
677
678    <b>procedure</b> <span class="symbol"><A NAME="ref_661_14" HREF="terminal_interface-curses-menus__ads.htm#ref_525_14">Pattern</A></span> (<span class="symbol"><A NAME="ref_661_23" HREF="terminal_interface-curses-menus__ads.htm#ref_525_23">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
679                       <span class="symbol"><A NAME="ref_662_23" HREF="terminal_interface-curses-menus__ads.htm#ref_526_23">Text</A></span> : <b>out</b> String)
680    <b>is</b>
681       <b>function</b> <span class="symbol"><A NAME="ref_664_16">Get_Pattern</A></span> (<span class="symbol"><A NAME="ref_664_29" HREF="terminal_interface-curses-menus__adb.htm#ref_664_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_55_12">chars_ptr</A>;
682       <b>pragma</b> Import (C, Get_Pattern, "menu_pattern");
683    <b>begin</b>
684       <A HREF="terminal_interface-curses-aux__ads.htm#ref_90_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_664_16">Get_Pattern</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_525_23">Men</A>), <A HREF="terminal_interface-curses-menus__ads.htm#ref_526_23">Text</A>);
685    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_525_14">Pattern</A>;
686 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
687    <b>procedure</b> <span class="symbol"><A NAME="ref_670_14" HREF="terminal_interface-curses-menus__ads.htm#ref_535_14">Set_Format</A></span> (<span class="symbol"><A NAME="ref_670_26" HREF="terminal_interface-curses-menus__ads.htm#ref_535_26">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
688                          <span class="symbol"><A NAME="ref_671_26" HREF="terminal_interface-curses-menus__ads.htm#ref_536_26">Lines</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
689                          <span class="symbol"><A NAME="ref_672_26" HREF="terminal_interface-curses-menus__ads.htm#ref_537_26">Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>)
690    <b>is</b>
691       <b>function</b> <span class="symbol"><A NAME="ref_674_16">Set_Menu_Fmt</A></span> (<span class="symbol"><A NAME="ref_674_30" HREF="terminal_interface-curses-menus__adb.htm#ref_674_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
692                              <span class="symbol"><A NAME="ref_675_30" HREF="terminal_interface-curses-menus__adb.htm#ref_674_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
693                              <span class="symbol"><A NAME="ref_676_30" HREF="terminal_interface-curses-menus__adb.htm#ref_674_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
694       <b>pragma</b> Import (C, Set_Menu_Fmt, "set_menu_format");
695
696    <b>begin</b>
697       <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_674_16">Set_Menu_Fmt</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_535_26">Men</A>,
698                                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_536_26">Lines</A>),
699                                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_537_26">Columns</A>)));
700
701    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_535_14">Set_Format</A>;
702
703    <b>procedure</b> <span class="symbol"><A NAME="ref_686_14" HREF="terminal_interface-curses-menus__ads.htm#ref_549_14">Format</A></span> (<span class="symbol"><A NAME="ref_686_22" HREF="terminal_interface-curses-menus__ads.htm#ref_549_22">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
704                      <span class="symbol"><A NAME="ref_687_22" HREF="terminal_interface-curses-menus__ads.htm#ref_550_22">Lines</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
705                      <span class="symbol"><A NAME="ref_688_22" HREF="terminal_interface-curses-menus__ads.htm#ref_551_22">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>)
706    <b>is</b>
707       <b>type</b> <span class="symbol"><A NAME="ref_690_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
708       <b>function</b> <span class="symbol"><A NAME="ref_691_16">Menu_Fmt</A></span> (<span class="symbol"><A NAME="ref_691_26" HREF="terminal_interface-curses-menus__adb.htm#ref_691_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
709                          <span class="symbol"><A NAME="ref_692_26" HREF="terminal_interface-curses-menus__adb.htm#ref_691_16">Y</A></span>, <span class="symbol"><A NAME="ref_692_29" HREF="terminal_interface-curses-menus__adb.htm#ref_691_16">X</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_690_12">C_Int_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
710       <b>pragma</b> Import (C, Menu_Fmt, "menu_format");
711
712       <span class="symbol"><A NAME="ref_695_7">L</A></span>, <span class="symbol"><A NAME="ref_695_10">C</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
713    <b>begin</b>
714       <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_691_16">Menu_Fmt</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_549_22">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_695_7">L</A>'<b>Access</b>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_695_10">C</A>'<b>Access</b>));
715       <A HREF="terminal_interface-curses-menus__ads.htm#ref_550_22">Lines</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_695_7">L</A>);
716       <A HREF="terminal_interface-curses-menus__ads.htm#ref_551_22">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_695_10">C</A>);
717    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_549_14">Format</A>;
718 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
719    <b>procedure</b> <span class="symbol"><A NAME="ref_702_14" HREF="terminal_interface-curses-menus__ads.htm#ref_563_14">Set_Item_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_702_34" HREF="terminal_interface-curses-menus__ads.htm#ref_563_34">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
720                                  <span class="symbol"><A NAME="ref_703_34" HREF="terminal_interface-curses-menus__ads.htm#ref_564_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>)
721    <b>is</b>
722       <b>function</b> <span class="symbol"><A NAME="ref_705_16">Set_Item_Init</A></span> (<span class="symbol"><A NAME="ref_705_31" HREF="terminal_interface-curses-menus__adb.htm#ref_705_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
723                               <span class="symbol"><A NAME="ref_706_31" HREF="terminal_interface-curses-menus__adb.htm#ref_705_16">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
724       <b>pragma</b> Import (C, Set_Item_Init, "set_item_init");
725
726    <b>begin</b>
727       <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_705_16">Set_Item_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_563_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_564_34">Proc</A>));
728    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_14">Set_Item_Init_Hook</A>;
729
730    <b>procedure</b> <span class="symbol"><A NAME="ref_713_14" HREF="terminal_interface-curses-menus__ads.htm#ref_569_14">Set_Item_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_713_34" HREF="terminal_interface-curses-menus__ads.htm#ref_569_34">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
731                                  <span class="symbol"><A NAME="ref_714_34" HREF="terminal_interface-curses-menus__ads.htm#ref_570_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>)
732    <b>is</b>
733       <b>function</b> <span class="symbol"><A NAME="ref_716_16">Set_Item_Term</A></span> (<span class="symbol"><A NAME="ref_716_31" HREF="terminal_interface-curses-menus__adb.htm#ref_716_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
734                               <span class="symbol"><A NAME="ref_717_31" HREF="terminal_interface-curses-menus__adb.htm#ref_716_16">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
735       <b>pragma</b> Import (C, Set_Item_Term, "set_item_term");
736
737    <b>begin</b>
738       <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_716_16">Set_Item_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_569_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_570_34">Proc</A>));
739    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_569_14">Set_Item_Term_Hook</A>;
740
741    <b>procedure</b> <span class="symbol"><A NAME="ref_724_14" HREF="terminal_interface-curses-menus__ads.htm#ref_575_14">Set_Menu_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_724_34" HREF="terminal_interface-curses-menus__ads.htm#ref_575_34">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
742                                  <span class="symbol"><A NAME="ref_725_34" HREF="terminal_interface-curses-menus__ads.htm#ref_576_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>)
743    <b>is</b>
744       <b>function</b> <span class="symbol"><A NAME="ref_727_16">Set_Menu_Init</A></span> (<span class="symbol"><A NAME="ref_727_31" HREF="terminal_interface-curses-menus__adb.htm#ref_727_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
745                               <span class="symbol"><A NAME="ref_728_31" HREF="terminal_interface-curses-menus__adb.htm#ref_727_16">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
746       <b>pragma</b> Import (C, Set_Menu_Init, "set_menu_init");
747
748    <b>begin</b>
749       <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_727_16">Set_Menu_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_575_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_576_34">Proc</A>));
750    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_575_14">Set_Menu_Init_Hook</A>;
751
752    <b>procedure</b> <span class="symbol"><A NAME="ref_735_14" HREF="terminal_interface-curses-menus__ads.htm#ref_581_14">Set_Menu_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_735_34" HREF="terminal_interface-curses-menus__ads.htm#ref_581_34">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
753                                  <span class="symbol"><A NAME="ref_736_34" HREF="terminal_interface-curses-menus__ads.htm#ref_582_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>)
754    <b>is</b>
755       <b>function</b> <span class="symbol"><A NAME="ref_738_16">Set_Menu_Term</A></span> (<span class="symbol"><A NAME="ref_738_31" HREF="terminal_interface-curses-menus__adb.htm#ref_738_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
756                               <span class="symbol"><A NAME="ref_739_31" HREF="terminal_interface-curses-menus__adb.htm#ref_738_16">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
757       <b>pragma</b> Import (C, Set_Menu_Term, "set_menu_term");
758
759    <b>begin</b>
760       <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_738_16">Set_Menu_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_581_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_582_34">Proc</A>));
761    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_581_14">Set_Menu_Term_Hook</A>;
762
763    <b>function</b> <span class="symbol"><A NAME="ref_746_13" HREF="terminal_interface-curses-menus__ads.htm#ref_587_13">Get_Item_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_746_33" HREF="terminal_interface-curses-menus__ads.htm#ref_587_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>
764    <b>is</b>
765       <b>function</b> <span class="symbol"><A NAME="ref_748_16">Item_Init</A></span> (<span class="symbol"><A NAME="ref_748_27" HREF="terminal_interface-curses-menus__adb.htm#ref_748_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>;
766       <b>pragma</b> Import (C, Item_Init, "item_init");
767    <b>begin</b>
768       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_748_16">Item_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_587_33">Men</A>);
769    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_587_13">Get_Item_Init_Hook</A>;
770
771    <b>function</b> <span class="symbol"><A NAME="ref_754_13" HREF="terminal_interface-curses-menus__ads.htm#ref_592_13">Get_Item_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_754_33" HREF="terminal_interface-curses-menus__ads.htm#ref_592_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>
772    <b>is</b>
773       <b>function</b> <span class="symbol"><A NAME="ref_756_16">Item_Term</A></span> (<span class="symbol"><A NAME="ref_756_27" HREF="terminal_interface-curses-menus__adb.htm#ref_756_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>;
774       <b>pragma</b> Import (C, Item_Term, "item_term");
775    <b>begin</b>
776       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_756_16">Item_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_592_33">Men</A>);
777    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_592_13">Get_Item_Term_Hook</A>;
778
779    <b>function</b> <span class="symbol"><A NAME="ref_762_13" HREF="terminal_interface-curses-menus__ads.htm#ref_597_13">Get_Menu_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_762_33" HREF="terminal_interface-curses-menus__ads.htm#ref_597_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>
780    <b>is</b>
781       <b>function</b> <span class="symbol"><A NAME="ref_764_16">Menu_Init</A></span> (<span class="symbol"><A NAME="ref_764_27" HREF="terminal_interface-curses-menus__adb.htm#ref_764_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>;
782       <b>pragma</b> Import (C, Menu_Init, "menu_init");
783    <b>begin</b>
784       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_764_16">Menu_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_597_33">Men</A>);
785    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_597_13">Get_Menu_Init_Hook</A>;
786
787    <b>function</b> <span class="symbol"><A NAME="ref_770_13" HREF="terminal_interface-curses-menus__ads.htm#ref_602_13">Get_Menu_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_770_33" HREF="terminal_interface-curses-menus__ads.htm#ref_602_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>
788    <b>is</b>
789       <b>function</b> <span class="symbol"><A NAME="ref_772_16">Menu_Term</A></span> (<span class="symbol"><A NAME="ref_772_27" HREF="terminal_interface-curses-menus__adb.htm#ref_772_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>;
790       <b>pragma</b> Import (C, Menu_Term, "menu_term");
791    <b>begin</b>
792       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_772_16">Menu_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_602_33">Men</A>);
793    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_602_13">Get_Menu_Term_Hook</A>;
794 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
795    <b>procedure</b> <span class="symbol"><A NAME="ref_778_14" HREF="terminal_interface-curses-menus__ads.htm#ref_611_14">Redefine</A></span> (<span class="symbol"><A NAME="ref_778_24" HREF="terminal_interface-curses-menus__ads.htm#ref_611_24">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
796                        <span class="symbol"><A NAME="ref_779_24" HREF="terminal_interface-curses-menus__ads.htm#ref_612_24">Items</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_176_9">Item_Array_Access</A>)
797    <b>is</b>
798       <b>function</b> <span class="symbol"><A NAME="ref_781_16">Set_Items</A></span> (<span class="symbol"><A NAME="ref_781_27" HREF="terminal_interface-curses-menus__adb.htm#ref_781_16">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
799                           <span class="symbol"><A NAME="ref_782_27" HREF="terminal_interface-curses-menus__adb.htm#ref_781_16">Items</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
800       <b>pragma</b> Import (C, Set_Items, "set_menu_items");
801
802    <b>begin</b>
803       <b>pragma</b> Assert (<A HREF="terminal_interface-curses-menus__ads.htm#ref_612_24">Items</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_612_24">Items</A>'Last) = <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A>);
804       <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_612_24">Items</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_612_24">Items</A>'Last) /= <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A> <b>then</b>
805          <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_111_4">Menu_Exception</A>;
806       <b>else</b>
807          <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_781_16">Set_Items</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_611_24">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_612_24">Items</A>.<b>all</b>'Address));
808       <b>end</b> <b>if</b>;
809    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_611_14">Redefine</A>;
810
811    <b>function</b> <span class="symbol"><A NAME="ref_794_13" HREF="terminal_interface-curses-menus__ads.htm#ref_627_13">Item_Count</A></span> (<span class="symbol"><A NAME="ref_794_25" HREF="terminal_interface-curses-menus__ads.htm#ref_627_25">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> Natural
812    <b>is</b>
813       <b>function</b> <span class="symbol"><A NAME="ref_796_16">Count</A></span> (<span class="symbol"><A NAME="ref_796_23" HREF="terminal_interface-curses-menus__adb.htm#ref_796_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
814       <b>pragma</b> Import (C, Count, "item_count");
815    <b>begin</b>
816       <b>return</b> Natural (<A HREF="terminal_interface-curses-menus__adb.htm#ref_796_16">Count</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_627_25">Men</A>));
817    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_627_13">Item_Count</A>;
818
819    <b>function</b> <span class="symbol"><A NAME="ref_802_13" HREF="terminal_interface-curses-menus__ads.htm#ref_621_13">Items</A></span> (<span class="symbol"><A NAME="ref_802_20" HREF="terminal_interface-curses-menus__ads.htm#ref_621_20">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
820                    <span class="symbol"><A NAME="ref_803_20" HREF="terminal_interface-curses-menus__ads.htm#ref_622_20">Index</A></span> : Positive) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>
821    <b>is</b>
822       <b>use</b> I_Array;
823
824       <b>function</b> C_Mitems (<span class="symbol"><A NAME="ref_807_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> Pointer;
825       <b>pragma</b> Import (C, C_Mitems, "menu_items");
826
827       P : Pointer := C_Mitems (<A HREF="terminal_interface-curses-menus__ads.htm#ref_621_20">Men</A>);
828    <b>begin</b>
829       <b>if</b> P = <b>null</b> <b>or</b> <b>else</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_622_20">Index</A> &gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_627_13">Item_Count</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_621_20">Men</A>) <b>then</b>
830          <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_111_4">Menu_Exception</A>;
831       <b>else</b>
832          P := P + ptrdiff_t (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_622_20">Index</A>) - 1);
833          <b>return</b> P.<b>all</b>;
834       <b>end</b> <b>if</b>;
835    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_621_13">Items</A>;
836
837 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
838    <b>function</b> <span class="symbol"><A NAME="ref_821_13" HREF="terminal_interface-curses-menus__ads.htm#ref_636_13">Create</A></span> (<span class="symbol"><A NAME="ref_821_21" HREF="terminal_interface-curses-menus__ads.htm#ref_636_21">Items</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_176_9">Item_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>
839    <b>is</b>
840       <b>function</b> <span class="symbol"><A NAME="ref_823_16">Newmenu</A></span> (<span class="symbol"><A NAME="ref_823_25" HREF="terminal_interface-curses-menus__adb.htm#ref_823_16">Items</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
841       <b>pragma</b> Import (C, Newmenu, "new_menu");
842
843       <span class="symbol"><A NAME="ref_826_7">M</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
844    <b>begin</b>
845       <b>pragma</b> Assert (<A HREF="terminal_interface-curses-menus__ads.htm#ref_636_21">Items</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_636_21">Items</A>'Last) = <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A>);
846       <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_636_21">Items</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_636_21">Items</A>'Last) /= <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A> <b>then</b>
847          <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_111_4">Menu_Exception</A>;
848       <b>else</b>
849          <A HREF="terminal_interface-curses-menus__adb.htm#ref_826_7">M</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_823_16">Newmenu</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_636_21">Items</A>.<b>all</b>'Address);
850          <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_826_7">M</A> = <A HREF="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Menu</A> <b>then</b>
851             <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_111_4">Menu_Exception</A>;
852          <b>end</b> <b>if</b>;
853          <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_826_7">M</A>;
854       <b>end</b> <b>if</b>;
855    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_636_13">Create</A>;
856
857    <b>procedure</b> <span class="symbol"><A NAME="ref_840_14" HREF="terminal_interface-curses-menus__ads.htm#ref_643_14">Delete</A></span> (<span class="symbol"><A NAME="ref_840_22" HREF="terminal_interface-curses-menus__ads.htm#ref_643_22">Men</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>)
858    <b>is</b>
859       <b>function</b> <span class="symbol"><A NAME="ref_842_16">Free</A></span> (<span class="symbol"><A NAME="ref_842_22" HREF="terminal_interface-curses-menus__adb.htm#ref_842_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
860       <b>pragma</b> Import (C, Free, "free_menu");
861
862    <b>begin</b>
863       <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_842_16">Free</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_643_22">Men</A>));
864       <A HREF="terminal_interface-curses-menus__ads.htm#ref_643_22">Men</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Menu</A>;
865    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_643_14">Delete</A>;
866
867 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
868    <b>function</b> <span class="symbol"><A NAME="ref_851_13" HREF="terminal_interface-curses-menus__ads.htm#ref_658_13">Driver</A></span> (<span class="symbol"><A NAME="ref_851_21" HREF="terminal_interface-curses-menus__ads.htm#ref_658_21">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
869                     <span class="symbol"><A NAME="ref_852_21" HREF="terminal_interface-curses-menus__ads.htm#ref_659_21">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_66_9">Key_Code</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_652_9">Driver_Result</A>
870    <b>is</b>
871       <b>function</b> <span class="symbol"><A NAME="ref_854_16">Driver</A></span> (<span class="symbol"><A NAME="ref_854_24" HREF="terminal_interface-curses-menus__adb.htm#ref_854_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
872                        <span class="symbol"><A NAME="ref_855_24" HREF="terminal_interface-curses-menus__adb.htm#ref_854_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
873       <b>pragma</b> Import (C, Driver, "menu_driver");
874
875       <span class="symbol"><A NAME="ref_858_7">R</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_854_16">Driver</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_658_21">Men</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_659_21">Key</A>));
876    <b>begin</b>
877       <b>case</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_858_7">R</A> <b>is</b>
878          <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_76_7">E_Unknown_Command</A> =&gt;
879             <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_654_27">Unknown_Request</A>;
880          <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_7">E_No_Match</A> =&gt;
881             <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_655_27">No_Match</A>;
882          <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_7">E_Request_Denied</A> | <A HREF="terminal_interface-curses-aux__ads.htm#ref_74_7">E_Not_Selectable</A> =&gt;
883             <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_653_27">Request_Denied</A>;
884          <b>when</b> <b>others</b> =&gt;
885             <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_858_7">R</A>);
886             <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_652_27">Menu_Ok</A>;
887       <b>end</b> <b>case</b>;
888    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_658_13">Driver</A>;
889
890    <b>procedure</b> <span class="symbol"><A NAME="ref_873_14" HREF="terminal_interface-curses-menus__ads.htm#ref_178_14">Free</A></span> (<span class="symbol"><A NAME="ref_873_20" HREF="terminal_interface-curses-menus__ads.htm#ref_178_20">IA</A></span>         : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_176_9">Item_Array_Access</A>;
891                    <span class="symbol"><A NAME="ref_874_20" HREF="terminal_interface-curses-menus__ads.htm#ref_179_20">Free_Items</A></span> : Boolean := False)
892    <b>is</b>
893       <b>procedure</b> Release <b>is</b> <b>new</b> Ada.Unchecked_Deallocation
894         (Item_Array, <A HREF="terminal_interface-curses-menus__ads.htm#ref_176_9">Item_Array_Access</A>);
895    <b>begin</b>
896       <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_178_20">IA</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_179_20">Free_Items</A> <b>then</b>
897          <b>for</b> <span class="symbol"><A NAME="ref_880_14">I</A></span> <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_178_20">IA</A>'First .. (<A HREF="terminal_interface-curses-menus__ads.htm#ref_178_20">IA</A>'Last - 1) <b>loop</b>
898             <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_178_20">IA</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_880_14">I</A>) /= <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A> <b>then</b>
899                <A HREF="terminal_interface-curses-menus__ads.htm#ref_201_14">Delete</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_178_20">IA</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_880_14">I</A>));
900             <b>end</b> <b>if</b>;
901          <b>end</b> <b>loop</b>;
902       <b>end</b> <b>if</b>;
903       Release (<A HREF="terminal_interface-curses-menus__ads.htm#ref_178_20">IA</A>);
904    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_178_14">Free</A>;
905
906 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
907    <b>function</b> <span class="symbol"><A NAME="ref_890_13" HREF="terminal_interface-curses-menus__ads.htm#ref_145_13">Default_Menu_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>
908    <b>is</b>
909    <b>begin</b>
910       <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_350_13">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Menu</A>);
911    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_145_13">Default_Menu_Options</A>;
912
913    <b>function</b> <span class="symbol"><A NAME="ref_896_13" HREF="terminal_interface-curses-menus__ads.htm#ref_166_13">Default_Item_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>
914    <b>is</b>
915    <b>begin</b>
916       <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_254_13">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A>);
917    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_166_13">Default_Item_Options</A>;
918 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
919
920 <b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A>;
921 </PRE></BODY></HTML>