1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
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">
16 <hr><div style="text-align:center"><h1> File : terminal_interface-curses-menus.adb </h1></div><hr>
18 <span class="comment"><em>------------------------------------------------------------------------------</em></span>
19 <span class="comment"><em>-- --</em></span>
20 <span class="comment"><em>-- <strong>GNAT</strong> 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 2018,2020 Thomas E. Dickey --</em></span>
28 <span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc. --</em></span>
29 <span class="comment"><em>-- --</em></span>
30 <span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span>
31 <span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span>
32 <span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span>
33 <span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span>
34 <span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span>
35 <span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span>
36 <span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span>
37 <span class="comment"><em>-- --</em></span>
38 <span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span>
39 <span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span>
40 <span class="comment"><em>-- --</em></span>
41 <span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span>
42 <span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span>
43 <span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span>
44 <span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span>
45 <span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span>
46 <span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span>
47 <span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span>
48 <span class="comment"><em>-- --</em></span>
49 <span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span>
50 <span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span>
51 <span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span>
52 <span class="comment"><em>-- authorization. --</em></span>
53 <span class="comment"><em>------------------------------------------------------------------------------</em></span>
54 <span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span>
55 <span class="comment"><em>-- Version Control:</em></span>
56 <span class="comment"><em>-- @Revision: 1.34 @</em></span>
57 <span class="comment"><em>-- @Date: 2020/02/02 23:34:34 @</em></span>
58 <span class="comment"><em>-- Binding Version 01.00</em></span>
59 <span class="comment"><em>------------------------------------------------------------------------------</em></span>
60 <b>with</b> Ada.Unchecked_Deallocation;
61 <b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
63 <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;
64 <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;
65 <b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Pointers;
67 <b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_50_40" href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a></span> <b>is</b>
69 <b>type</b> C_Item_Array <b>is</b> <b>array</b> (Natural <b>range</b> <>) <b>of</b> <b>aliased</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
70 <b>package</b> I_Array <b>is</b> <b>new</b>
71 <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Pointers (Natural, <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>, C_Item_Array, <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a>);
73 <b>subtype</b> <span class="symbol"><a name="ref_56_12">chars_ptr</a></span> <b>is</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings.chars_ptr;
75 <span class="comment"><em>------------------------------------------------------------------------------</em></span>
76 <b>procedure</b> <span class="symbol"><a name="ref_59_14" href="terminal_interface-curses-menus__ads.htm#ref_102_14">Request_Name</a></span> (<span class="symbol"><a name="ref_59_28" href="terminal_interface-curses-menus__ads.htm#ref_102_28">Key</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a>;
77 <span class="symbol"><a name="ref_60_28" href="terminal_interface-curses-menus__ads.htm#ref_103_28">Name</a></span> : <b>out</b> String)
79 <b>function</b> <span class="symbol"><a name="ref_62_16">Request_Name</a></span> (<span class="symbol"><a name="ref_62_30">Key</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>;
80 <b>pragma</b> Import (C, Request_Name, "menu_request_name");
82 <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_62_16">Request_Name</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_102_28">Key</a>)), <a href="terminal_interface-curses-menus__ads.htm#ref_103_28">Name</a>);
83 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_102_14">Request_Name</a>;
85 <b>function</b> <span class="symbol"><a name="ref_68_13" href="terminal_interface-curses-menus__ads.htm#ref_105_14">Request_Name</a></span> (<span class="symbol"><a name="ref_68_27" href="terminal_interface-curses-menus__ads.htm#ref_105_28">Key</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a>) <b>return</b> String
87 <b>function</b> <span class="symbol"><a name="ref_70_16">Request_Name</a></span> (<span class="symbol"><a name="ref_70_30">Key</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>;
88 <b>pragma</b> Import (C, Request_Name, "menu_request_name");
90 <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_70_16">Request_Name</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_105_28">Key</a>)));
91 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_105_14">Request_Name</a>;
93 <b>function</b> <span class="symbol"><a name="ref_76_13" href="terminal_interface-curses-menus__ads.htm#ref_190_13">Create</a></span> (<span class="symbol"><a name="ref_76_21" href="terminal_interface-curses-menus__ads.htm#ref_190_21">Name</a></span> : String;
94 <span class="symbol"><a name="ref_77_21" href="terminal_interface-curses-menus__ads.htm#ref_191_21">Description</a></span> : String := "") <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>
96 <b>type</b> <span class="symbol"><a name="ref_79_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;
97 <b>function</b> <span class="symbol"><a name="ref_80_16">Newitem</a></span> (<span class="symbol"><a name="ref_80_25">Name</a></span>, <span class="symbol"><a name="ref_80_31">Desc</a></span> : <a href="terminal_interface-curses-menus__adb.htm#ref_79_12">Char_Ptr</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
98 <b>pragma</b> Import (C, Newitem, "new_item");
100 <b>type</b> Name_String <b>is</b> <b>new</b> char_array (0 .. <a href="terminal_interface-curses-menus__ads.htm#ref_190_21">Name</a>'Length);
101 <b>type</b> <span class="symbol"><a name="ref_84_12">Name_String_Ptr</a></span> <b>is</b> <b>access</b> Name_String;
102 <b>pragma</b> Controlled (<a href="terminal_interface-curses-menus__adb.htm#ref_84_12">Name_String_Ptr</a>);
104 <b>type</b> Desc_String <b>is</b> <b>new</b> char_array (0 .. <a href="terminal_interface-curses-menus__ads.htm#ref_191_21">Description</a>'Length);
105 <b>type</b> <span class="symbol"><a name="ref_88_12">Desc_String_Ptr</a></span> <b>is</b> <b>access</b> Desc_String;
106 <b>pragma</b> Controlled (<a href="terminal_interface-curses-menus__adb.htm#ref_88_12">Desc_String_Ptr</a>);
108 <span class="symbol"><a name="ref_91_7">Name_Str</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__adb.htm#ref_84_12">Name_String_Ptr</a> := <b>new</b> Name_String;
109 <span class="symbol"><a name="ref_92_7">Desc_Str</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__adb.htm#ref_88_12">Desc_String_Ptr</a> := <b>new</b> Desc_String;
110 <span class="symbol"><a name="ref_93_7">Name_Len</a></span>, <span class="symbol"><a name="ref_93_17">Desc_Len</a></span> : size_t;
111 <span class="symbol"><a name="ref_94_7">Result</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
113 To_C (<a href="terminal_interface-curses-menus__ads.htm#ref_190_21">Name</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_91_7">Name_Str</a>.<b>all</b>, <a href="terminal_interface-curses-menus__adb.htm#ref_93_7">Name_Len</a>);
114 To_C (<a href="terminal_interface-curses-menus__ads.htm#ref_191_21">Description</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_92_7">Desc_Str</a>.<b>all</b>, <a href="terminal_interface-curses-menus__adb.htm#ref_93_17">Desc_Len</a>);
115 <a href="terminal_interface-curses-menus__adb.htm#ref_94_7">Result</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_80_16">Newitem</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_91_7">Name_Str</a>.<b>all</b> (<a href="terminal_interface-curses-menus__adb.htm#ref_91_7">Name_Str</a>.<b>all</b>'First)'<b>Access</b>,
116 <a href="terminal_interface-curses-menus__adb.htm#ref_92_7">Desc_Str</a>.<b>all</b> (<a href="terminal_interface-curses-menus__adb.htm#ref_92_7">Desc_Str</a>.<b>all</b>'First)'<b>Access</b>);
117 <b>if</b> <a href="terminal_interface-curses-menus__adb.htm#ref_94_7">Result</a> = <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a> <b>then</b>
118 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_528_4">Eti_System_Error</a>;
119 <b>end</b> <b>if</b>;
120 <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_94_7">Result</a>;
121 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_190_13">Create</a>;
123 <b>procedure</b> <span class="symbol"><a name="ref_106_14" href="terminal_interface-curses-menus__ads.htm#ref_202_14">Delete</a></span> (<span class="symbol"><a name="ref_106_22" href="terminal_interface-curses-menus__ads.htm#ref_202_22">Itm</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>)
125 <b>function</b> <span class="symbol"><a name="ref_108_16">Descname</a></span> (<span class="symbol"><a name="ref_108_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>;
126 <b>pragma</b> Import (C, Descname, "item_description");
127 <b>function</b> <span class="symbol"><a name="ref_110_16">Itemname</a></span> (<span class="symbol"><a name="ref_110_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>;
128 <b>pragma</b> Import (C, Itemname, "item_name");
130 <b>function</b> <span class="symbol"><a name="ref_113_16">Freeitem</a></span> (<span class="symbol"><a name="ref_113_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
131 <b>pragma</b> Import (C, Freeitem, "free_item");
133 <span class="symbol"><a name="ref_116_7">Ptr</a></span> : <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>;
135 <a href="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_108_16">Descname</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_202_22">Itm</a>);
136 <b>if</b> <a href="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</a> /= Null_Ptr <b>then</b>
137 <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings.Free (<a href="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</a>);
138 <b>end</b> <b>if</b>;
139 <a href="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_110_16">Itemname</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_202_22">Itm</a>);
140 <b>if</b> <a href="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</a> /= Null_Ptr <b>then</b>
141 <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings.Free (<a href="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</a>);
142 <b>end</b> <b>if</b>;
143 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_113_16">Freeitem</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_202_22">Itm</a>));
144 <a href="terminal_interface-curses-menus__ads.htm#ref_202_22">Itm</a> := <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a>;
145 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_202_14">Delete</a>;
146 <span class="comment"><em>-------------------------------------------------------------------------------</em></span>
147 <b>procedure</b> <span class="symbol"><a name="ref_130_14" href="terminal_interface-curses-menus__ads.htm#ref_211_14">Set_Value</a></span> (<span class="symbol"><a name="ref_130_25" href="terminal_interface-curses-menus__ads.htm#ref_211_25">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
148 <span class="symbol"><a name="ref_131_25" href="terminal_interface-curses-menus__ads.htm#ref_212_25">Value</a></span> : Boolean := True)
150 <b>function</b> <span class="symbol"><a name="ref_133_16">Set_Item_Val</a></span> (<span class="symbol"><a name="ref_133_30">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
151 <span class="symbol"><a name="ref_134_30">Val</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
152 <b>pragma</b> Import (C, Set_Item_Val, "set_item_value");
155 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_133_16">Set_Item_Val</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_211_25">Itm</a>, Boolean'Pos (<a href="terminal_interface-curses-menus__ads.htm#ref_212_25">Value</a>)));
156 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_211_14">Set_Value</a>;
158 <b>function</b> <span class="symbol"><a name="ref_141_13" href="terminal_interface-curses-menus__ads.htm#ref_217_13">Value</a></span> (<span class="symbol"><a name="ref_141_20" href="terminal_interface-curses-menus__ads.htm#ref_217_20">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> Boolean
160 <b>function</b> <span class="symbol"><a name="ref_143_16">Item_Val</a></span> (<span class="symbol"><a name="ref_143_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
161 <b>pragma</b> Import (C, Item_Val, "item_value");
163 <b>if</b> <a href="terminal_interface-curses-menus__adb.htm#ref_143_16">Item_Val</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_217_20">Itm</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</a> <b>then</b>
167 <b>end</b> <b>if</b>;
168 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_217_13">Value</a>;
170 <span class="comment"><em>-------------------------------------------------------------------------------</em></span>
171 <b>function</b> <span class="symbol"><a name="ref_154_13" href="terminal_interface-curses-menus__ads.htm#ref_226_13">Visible</a></span> (<span class="symbol"><a name="ref_154_22" href="terminal_interface-curses-menus__ads.htm#ref_226_22">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> Boolean
173 <b>function</b> <span class="symbol"><a name="ref_156_16">Item_Vis</a></span> (<span class="symbol"><a name="ref_156_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
174 <b>pragma</b> Import (C, Item_Vis, "item_visible");
176 <b>if</b> <a href="terminal_interface-curses-menus__adb.htm#ref_156_16">Item_Vis</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_226_22">Itm</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</a> <b>then</b>
180 <b>end</b> <b>if</b>;
181 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_226_13">Visible</a>;
182 <span class="comment"><em>-------------------------------------------------------------------------------</em></span>
183 <b>procedure</b> <span class="symbol"><a name="ref_166_14" href="terminal_interface-curses-menus__ads.htm#ref_235_14">Set_Options</a></span> (<span class="symbol"><a name="ref_166_27" href="terminal_interface-curses-menus__ads.htm#ref_235_27">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
184 <span class="symbol"><a name="ref_167_27" href="terminal_interface-curses-menus__ads.htm#ref_236_27">Options</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>)
186 <b>function</b> <span class="symbol"><a name="ref_169_16">Set_Item_Opts</a></span> (<span class="symbol"><a name="ref_169_31">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
187 <span class="symbol"><a name="ref_170_31">Opt</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
188 <b>pragma</b> Import (C, Set_Item_Opts, "set_item_opts");
191 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_169_16">Set_Item_Opts</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_235_27">Itm</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_236_27">Options</a>));
192 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_235_14">Set_Options</a>;
194 <b>procedure</b> <span class="symbol"><a name="ref_177_14" href="terminal_interface-curses-menus__ads.htm#ref_241_14">Switch_Options</a></span> (<span class="symbol"><a name="ref_177_30" href="terminal_interface-curses-menus__ads.htm#ref_241_30">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
195 <span class="symbol"><a name="ref_178_30" href="terminal_interface-curses-menus__ads.htm#ref_242_30">Options</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>;
196 <span class="symbol"><a name="ref_179_30" href="terminal_interface-curses-menus__ads.htm#ref_243_30">On</a></span> : Boolean := True)
198 <b>function</b> <span class="symbol"><a name="ref_181_16">Item_Opts_On</a></span> (<span class="symbol"><a name="ref_181_30">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
199 <span class="symbol"><a name="ref_182_30">Opt</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
200 <b>pragma</b> Import (C, Item_Opts_On, "item_opts_on");
201 <b>function</b> <span class="symbol"><a name="ref_184_16">Item_Opts_Off</a></span> (<span class="symbol"><a name="ref_184_31">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
202 <span class="symbol"><a name="ref_185_31">Opt</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
203 <b>pragma</b> Import (C, Item_Opts_Off, "item_opts_off");
206 <b>if</b> <a href="terminal_interface-curses-menus__ads.htm#ref_243_30">On</a> <b>then</b>
207 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_181_16">Item_Opts_On</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_241_30">Itm</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_242_30">Options</a>));
209 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_184_16">Item_Opts_Off</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_241_30">Itm</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_242_30">Options</a>));
210 <b>end</b> <b>if</b>;
211 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_241_14">Switch_Options</a>;
213 <b>procedure</b> <span class="symbol"><a name="ref_196_14" href="terminal_interface-curses-menus__ads.htm#ref_250_14">Get_Options</a></span> (<span class="symbol"><a name="ref_196_27" href="terminal_interface-curses-menus__ads.htm#ref_250_27">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
214 <span class="symbol"><a name="ref_197_27" href="terminal_interface-curses-menus__ads.htm#ref_251_27">Options</a></span> : <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>)
216 <b>function</b> <span class="symbol"><a name="ref_199_16">Item_Opts</a></span> (<span class="symbol"><a name="ref_199_27">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>;
217 <b>pragma</b> Import (C, Item_Opts, "item_opts");
220 <a href="terminal_interface-curses-menus__ads.htm#ref_251_27">Options</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_199_16">Item_Opts</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_250_27">Itm</a>);
221 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_250_14">Get_Options</a>;
223 <b>function</b> <span class="symbol"><a name="ref_206_13" href="terminal_interface-curses-menus__ads.htm#ref_255_13">Get_Options</a></span> (<span class="symbol"><a name="ref_206_26" href="terminal_interface-curses-menus__ads.htm#ref_255_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a> := <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>
225 <span class="symbol"><a name="ref_208_7">Ios</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>;
227 <a href="terminal_interface-curses-menus__ads.htm#ref_250_14">Get_Options</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_255_26">Itm</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_208_7">Ios</a>);
228 <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_208_7">Ios</a>;
229 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_255_13">Get_Options</a>;
230 <span class="comment"><em>-------------------------------------------------------------------------------</em></span>
231 <b>procedure</b> <span class="symbol"><a name="ref_214_14" href="terminal_interface-curses-menus__ads.htm#ref_264_14">Name</a></span> (<span class="symbol"><a name="ref_214_20" href="terminal_interface-curses-menus__ads.htm#ref_264_20">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
232 <span class="symbol"><a name="ref_215_20" href="terminal_interface-curses-menus__ads.htm#ref_265_20">Name</a></span> : <b>out</b> String)
234 <b>function</b> <span class="symbol"><a name="ref_217_16">Itemname</a></span> (<span class="symbol"><a name="ref_217_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>;
235 <b>pragma</b> Import (C, Itemname, "item_name");
237 <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_217_16">Itemname</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_264_20">Itm</a>), <a href="terminal_interface-curses-menus__ads.htm#ref_265_20">Name</a>);
238 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_264_14">Name</a>;
240 <b>function</b> <span class="symbol"><a name="ref_223_13" href="terminal_interface-curses-menus__ads.htm#ref_267_14">Name</a></span> (<span class="symbol"><a name="ref_223_19" href="terminal_interface-curses-menus__ads.htm#ref_267_20">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> String
242 <b>function</b> <span class="symbol"><a name="ref_225_16">Itemname</a></span> (<span class="symbol"><a name="ref_225_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>;
243 <b>pragma</b> Import (C, Itemname, "item_name");
245 <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_225_16">Itemname</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_267_20">Itm</a>));
246 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_267_14">Name</a>;
248 <b>procedure</b> <span class="symbol"><a name="ref_231_14" href="terminal_interface-curses-menus__ads.htm#ref_273_14">Description</a></span> (<span class="symbol"><a name="ref_231_27" href="terminal_interface-curses-menus__ads.htm#ref_273_27">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
249 <span class="symbol"><a name="ref_232_27" href="terminal_interface-curses-menus__ads.htm#ref_274_27">Description</a></span> : <b>out</b> String)
251 <b>function</b> <span class="symbol"><a name="ref_234_16">Descname</a></span> (<span class="symbol"><a name="ref_234_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>;
252 <b>pragma</b> Import (C, Descname, "item_description");
254 <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_234_16">Descname</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_273_27">Itm</a>), <a href="terminal_interface-curses-menus__ads.htm#ref_274_27">Description</a>);
255 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_273_14">Description</a>;
257 <b>function</b> <span class="symbol"><a name="ref_240_13" href="terminal_interface-curses-menus__ads.htm#ref_277_14">Description</a></span> (<span class="symbol"><a name="ref_240_26" href="terminal_interface-curses-menus__ads.htm#ref_277_27">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> String
259 <b>function</b> <span class="symbol"><a name="ref_242_16">Descname</a></span> (<span class="symbol"><a name="ref_242_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>;
260 <b>pragma</b> Import (C, Descname, "item_description");
262 <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_242_16">Descname</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_277_27">Itm</a>));
263 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_277_14">Description</a>;
264 <span class="comment"><em>-------------------------------------------------------------------------------</em></span>
265 <b>procedure</b> <span class="symbol"><a name="ref_248_14" href="terminal_interface-curses-menus__ads.htm#ref_287_14">Set_Current</a></span> (<span class="symbol"><a name="ref_248_27" href="terminal_interface-curses-menus__ads.htm#ref_287_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
266 <span class="symbol"><a name="ref_249_27" href="terminal_interface-curses-menus__ads.htm#ref_288_27">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>)
268 <b>function</b> <span class="symbol"><a name="ref_251_16">Set_Curr_Item</a></span> (<span class="symbol"><a name="ref_251_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
269 <span class="symbol"><a name="ref_252_31">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
270 <b>pragma</b> Import (C, Set_Curr_Item, "set_current_item");
273 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_251_16">Set_Curr_Item</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_287_27">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_288_27">Itm</a>));
274 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_287_14">Set_Current</a>;
276 <b>function</b> <span class="symbol"><a name="ref_259_13" href="terminal_interface-curses-menus__ads.htm#ref_293_13">Current</a></span> (<span class="symbol"><a name="ref_259_22" href="terminal_interface-curses-menus__ads.htm#ref_293_22">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>
278 <b>function</b> <span class="symbol"><a name="ref_261_16">Curr_Item</a></span> (<span class="symbol"><a name="ref_261_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
279 <b>pragma</b> Import (C, Curr_Item, "current_item");
281 <span class="symbol"><a name="ref_264_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_261_16">Curr_Item</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_293_22">Men</a>);
283 <b>if</b> <a href="terminal_interface-curses-menus__adb.htm#ref_264_7">Res</a> = <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a> <b>then</b>
284 <b>raise</b> <a href="terminal_interface-curses-menus__ads.htm#ref_112_4">Menu_Exception</a>;
285 <b>end</b> <b>if</b>;
286 <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_264_7">Res</a>;
287 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_293_13">Current</a>;
289 <b>procedure</b> <span class="symbol"><a name="ref_272_14" href="terminal_interface-curses-menus__ads.htm#ref_298_14">Set_Top_Row</a></span> (<span class="symbol"><a name="ref_272_27" href="terminal_interface-curses-menus__ads.htm#ref_298_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
290 <span class="symbol"><a name="ref_273_27" href="terminal_interface-curses-menus__ads.htm#ref_299_27">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>)
292 <b>function</b> <span class="symbol"><a name="ref_275_16">Set_Toprow</a></span> (<span class="symbol"><a name="ref_275_28">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
293 <span class="symbol"><a name="ref_276_28">Line</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
294 <b>pragma</b> Import (C, Set_Toprow, "set_top_row");
297 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_275_16">Set_Toprow</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_298_27">Men</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_299_27">Line</a>)));
298 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_298_14">Set_Top_Row</a>;
300 <b>function</b> <span class="symbol"><a name="ref_283_13" href="terminal_interface-curses-menus__ads.htm#ref_304_13">Top_Row</a></span> (<span class="symbol"><a name="ref_283_22" href="terminal_interface-curses-menus__ads.htm#ref_304_22">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>
302 <b>function</b> <span class="symbol"><a name="ref_285_16">Toprow</a></span> (<span class="symbol"><a name="ref_285_24">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
303 <b>pragma</b> Import (C, Toprow, "top_row");
305 <span class="symbol"><a name="ref_288_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_285_16">Toprow</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_304_22">Men</a>);
307 <b>if</b> <a href="terminal_interface-curses-menus__adb.htm#ref_288_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
308 <b>raise</b> <a href="terminal_interface-curses-menus__ads.htm#ref_112_4">Menu_Exception</a>;
309 <b>end</b> <b>if</b>;
310 <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_288_7">Res</a>);
311 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_304_13">Top_Row</a>;
313 <b>function</b> <span class="symbol"><a name="ref_296_13" href="terminal_interface-curses-menus__ads.htm#ref_309_13">Get_Index</a></span> (<span class="symbol"><a name="ref_296_24" href="terminal_interface-curses-menus__ads.htm#ref_309_24">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> Positive
315 <b>function</b> <span class="symbol"><a name="ref_298_16">Get_Itemindex</a></span> (<span class="symbol"><a name="ref_298_31">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
316 <b>pragma</b> Import (C, Get_Itemindex, "item_index");
318 <span class="symbol"><a name="ref_301_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_298_16">Get_Itemindex</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_309_24">Itm</a>);
320 <b>if</b> <a href="terminal_interface-curses-menus__adb.htm#ref_301_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
321 <b>raise</b> <a href="terminal_interface-curses-menus__ads.htm#ref_112_4">Menu_Exception</a>;
322 <b>end</b> <b>if</b>;
323 <b>return</b> Positive (Natural (<a href="terminal_interface-curses-menus__adb.htm#ref_301_7">Res</a>) + Positive'First);
324 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_309_13">Get_Index</a>;
325 <span class="comment"><em>-------------------------------------------------------------------------------</em></span>
326 <b>procedure</b> <span class="symbol"><a name="ref_309_14" href="terminal_interface-curses-menus__ads.htm#ref_321_14">Post</a></span> (<span class="symbol"><a name="ref_309_20" href="terminal_interface-curses-menus__ads.htm#ref_321_20">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
327 <span class="symbol"><a name="ref_310_20" href="terminal_interface-curses-menus__ads.htm#ref_322_20">Post</a></span> : Boolean := True)
329 <b>function</b> <span class="symbol"><a name="ref_312_16">M_Post</a></span> (<span class="symbol"><a name="ref_312_24">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
330 <b>pragma</b> Import (C, M_Post, "post_menu");
331 <b>function</b> <span class="symbol"><a name="ref_314_16">M_Unpost</a></span> (<span class="symbol"><a name="ref_314_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
332 <b>pragma</b> Import (C, M_Unpost, "unpost_menu");
335 <b>if</b> <a href="terminal_interface-curses-menus__ads.htm#ref_322_20">Post</a> <b>then</b>
336 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_312_16">M_Post</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_321_20">Men</a>));
338 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_314_16">M_Unpost</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_321_20">Men</a>));
339 <b>end</b> <b>if</b>;
340 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_321_14">Post</a>;
341 <span class="comment"><em>-------------------------------------------------------------------------------</em></span>
342 <b>procedure</b> <span class="symbol"><a name="ref_325_14" href="terminal_interface-curses-menus__ads.htm#ref_332_14">Set_Options</a></span> (<span class="symbol"><a name="ref_325_27" href="terminal_interface-curses-menus__ads.htm#ref_332_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
343 <span class="symbol"><a name="ref_326_27" href="terminal_interface-curses-menus__ads.htm#ref_333_27">Options</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>)
345 <b>function</b> <span class="symbol"><a name="ref_328_16">Set_Menu_Opts</a></span> (<span class="symbol"><a name="ref_328_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
346 <span class="symbol"><a name="ref_329_31">Opt</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
347 <b>pragma</b> Import (C, Set_Menu_Opts, "set_menu_opts");
350 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_328_16">Set_Menu_Opts</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_332_27">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_333_27">Options</a>));
351 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_332_14">Set_Options</a>;
353 <b>procedure</b> <span class="symbol"><a name="ref_336_14" href="terminal_interface-curses-menus__ads.htm#ref_338_14">Switch_Options</a></span> (<span class="symbol"><a name="ref_336_30" href="terminal_interface-curses-menus__ads.htm#ref_338_30">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
354 <span class="symbol"><a name="ref_337_30" href="terminal_interface-curses-menus__ads.htm#ref_339_30">Options</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>;
355 <span class="symbol"><a name="ref_338_30" href="terminal_interface-curses-menus__ads.htm#ref_340_30">On</a></span> : Boolean := True)
357 <b>function</b> <span class="symbol"><a name="ref_340_16">Menu_Opts_On</a></span> (<span class="symbol"><a name="ref_340_30">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
358 <span class="symbol"><a name="ref_341_30">Opt</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
359 <b>pragma</b> Import (C, Menu_Opts_On, "menu_opts_on");
360 <b>function</b> <span class="symbol"><a name="ref_343_16">Menu_Opts_Off</a></span> (<span class="symbol"><a name="ref_343_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
361 <span class="symbol"><a name="ref_344_31">Opt</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
362 <b>pragma</b> Import (C, Menu_Opts_Off, "menu_opts_off");
365 <b>if</b> <a href="terminal_interface-curses-menus__ads.htm#ref_340_30">On</a> <b>then</b>
366 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_340_16">Menu_Opts_On</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_338_30">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_339_30">Options</a>));
368 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_343_16">Menu_Opts_Off</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_338_30">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_339_30">Options</a>));
369 <b>end</b> <b>if</b>;
370 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_338_14">Switch_Options</a>;
372 <b>procedure</b> <span class="symbol"><a name="ref_355_14" href="terminal_interface-curses-menus__ads.htm#ref_346_14">Get_Options</a></span> (<span class="symbol"><a name="ref_355_27" href="terminal_interface-curses-menus__ads.htm#ref_346_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
373 <span class="symbol"><a name="ref_356_27" href="terminal_interface-curses-menus__ads.htm#ref_347_27">Options</a></span> : <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>)
375 <b>function</b> <span class="symbol"><a name="ref_358_16">Menu_Opts</a></span> (<span class="symbol"><a name="ref_358_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>;
376 <b>pragma</b> Import (C, Menu_Opts, "menu_opts");
379 <a href="terminal_interface-curses-menus__ads.htm#ref_347_27">Options</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_358_16">Menu_Opts</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_346_27">Men</a>);
380 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_346_14">Get_Options</a>;
382 <b>function</b> <span class="symbol"><a name="ref_365_13" href="terminal_interface-curses-menus__ads.htm#ref_351_13">Get_Options</a></span> (<span class="symbol"><a name="ref_365_26" href="terminal_interface-curses-menus__ads.htm#ref_351_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a> := <a href="terminal_interface-curses-menus__ads.htm#ref_59_4">Null_Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>
384 <span class="symbol"><a name="ref_367_7">Mos</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>;
386 <a href="terminal_interface-curses-menus__ads.htm#ref_346_14">Get_Options</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_351_26">Men</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_367_7">Mos</a>);
387 <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_367_7">Mos</a>;
388 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_351_13">Get_Options</a>;
389 <span class="comment"><em>-------------------------------------------------------------------------------</em></span>
390 <b>procedure</b> <span class="symbol"><a name="ref_373_14" href="terminal_interface-curses-menus__ads.htm#ref_360_14">Set_Window</a></span> (<span class="symbol"><a name="ref_373_26" href="terminal_interface-curses-menus__ads.htm#ref_360_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
391 <span class="symbol"><a name="ref_374_26" href="terminal_interface-curses-menus__ads.htm#ref_361_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>)
393 <b>function</b> <span class="symbol"><a name="ref_376_16">Set_Menu_Win</a></span> (<span class="symbol"><a name="ref_376_30">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
394 <span class="symbol"><a name="ref_377_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
395 <b>pragma</b> Import (C, Set_Menu_Win, "set_menu_win");
398 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_376_16">Set_Menu_Win</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_360_26">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_361_26">Win</a>));
399 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_360_14">Set_Window</a>;
401 <b>function</b> <span class="symbol"><a name="ref_384_13" href="terminal_interface-curses-menus__ads.htm#ref_366_13">Get_Window</a></span> (<span class="symbol"><a name="ref_384_25" href="terminal_interface-curses-menus__ads.htm#ref_366_25">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>
403 <b>function</b> <span class="symbol"><a name="ref_386_16">Menu_Win</a></span> (<span class="symbol"><a name="ref_386_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
404 <b>pragma</b> Import (C, Menu_Win, "menu_win");
406 <span class="symbol"><a name="ref_389_7">W</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_386_16">Menu_Win</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_366_25">Men</a>);
408 <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_389_7">W</a>;
409 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_366_13">Get_Window</a>;
411 <b>procedure</b> <span class="symbol"><a name="ref_394_14" href="terminal_interface-curses-menus__ads.htm#ref_371_14">Set_Sub_Window</a></span> (<span class="symbol"><a name="ref_394_30" href="terminal_interface-curses-menus__ads.htm#ref_371_30">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
412 <span class="symbol"><a name="ref_395_30" href="terminal_interface-curses-menus__ads.htm#ref_372_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>)
414 <b>function</b> <span class="symbol"><a name="ref_397_16">Set_Menu_Sub</a></span> (<span class="symbol"><a name="ref_397_30">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
415 <span class="symbol"><a name="ref_398_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
416 <b>pragma</b> Import (C, Set_Menu_Sub, "set_menu_sub");
419 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_397_16">Set_Menu_Sub</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_371_30">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_372_30">Win</a>));
420 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_371_14">Set_Sub_Window</a>;
422 <b>function</b> <span class="symbol"><a name="ref_405_13" href="terminal_interface-curses-menus__ads.htm#ref_377_13">Get_Sub_Window</a></span> (<span class="symbol"><a name="ref_405_29" href="terminal_interface-curses-menus__ads.htm#ref_377_29">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>
424 <b>function</b> <span class="symbol"><a name="ref_407_16">Menu_Sub</a></span> (<span class="symbol"><a name="ref_407_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
425 <b>pragma</b> Import (C, Menu_Sub, "menu_sub");
427 <span class="symbol"><a name="ref_410_7">W</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_407_16">Menu_Sub</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_377_29">Men</a>);
429 <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_410_7">W</a>;
430 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_377_13">Get_Sub_Window</a>;
432 <b>procedure</b> <span class="symbol"><a name="ref_415_14" href="terminal_interface-curses-menus__ads.htm#ref_382_14">Scale</a></span> (<span class="symbol"><a name="ref_415_21" href="terminal_interface-curses-menus__ads.htm#ref_382_21">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
433 <span class="symbol"><a name="ref_416_21" href="terminal_interface-curses-menus__ads.htm#ref_383_21">Lines</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
434 <span class="symbol"><a name="ref_417_21" href="terminal_interface-curses-menus__ads.htm#ref_384_21">Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>)
436 <b>type</b> <span class="symbol"><a name="ref_419_12">C_Int_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
437 <b>function</b> <span class="symbol"><a name="ref_420_16">M_Scale</a></span> (<span class="symbol"><a name="ref_420_25">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
438 <span class="symbol"><a name="ref_421_25">Yp</a></span>, <span class="symbol"><a name="ref_421_29">Xp</a></span> : <a href="terminal_interface-curses-menus__adb.htm#ref_419_12">C_Int_Access</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
439 <b>pragma</b> Import (C, M_Scale, "scale_menu");
441 <span class="symbol"><a name="ref_424_7">X</a></span>, <span class="symbol"><a name="ref_424_10">Y</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
443 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_420_16">M_Scale</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_382_21">Men</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_424_10">Y</a>'<b>Access</b>, <a href="terminal_interface-curses-menus__adb.htm#ref_424_7">X</a>'<b>Access</b>));
444 <a href="terminal_interface-curses-menus__ads.htm#ref_383_21">Lines</a> := <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_424_10">Y</a>);
445 <a href="terminal_interface-curses-menus__ads.htm#ref_384_21">Columns</a> := <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_424_7">X</a>);
446 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_382_14">Scale</a>;
447 <span class="comment"><em>-------------------------------------------------------------------------------</em></span>
448 <b>procedure</b> <span class="symbol"><a name="ref_431_14" href="terminal_interface-curses-menus__ads.htm#ref_393_14">Position_Cursor</a></span> (<span class="symbol"><a name="ref_431_31" href="terminal_interface-curses-menus__ads.htm#ref_393_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>)
450 <b>function</b> <span class="symbol"><a name="ref_433_16">Pos_Menu_Cursor</a></span> (<span class="symbol"><a name="ref_433_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
451 <b>pragma</b> Import (C, Pos_Menu_Cursor, "pos_menu_cursor");
454 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_433_16">Pos_Menu_Cursor</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_393_31">Men</a>));
455 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_393_14">Position_Cursor</a>;
457 <span class="comment"><em>-------------------------------------------------------------------------------</em></span>
458 <b>procedure</b> <span class="symbol"><a name="ref_441_14" href="terminal_interface-curses-menus__ads.htm#ref_402_14">Set_Mark</a></span> (<span class="symbol"><a name="ref_441_24" href="terminal_interface-curses-menus__ads.htm#ref_402_24">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
459 <span class="symbol"><a name="ref_442_24" href="terminal_interface-curses-menus__ads.htm#ref_403_24">Mark</a></span> : String)
461 <b>type</b> <span class="symbol"><a name="ref_444_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;
462 <b>function</b> <span class="symbol"><a name="ref_445_16">Set_Mark</a></span> (<span class="symbol"><a name="ref_445_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
463 <span class="symbol"><a name="ref_446_26">Mark</a></span> : <a href="terminal_interface-curses-menus__adb.htm#ref_444_12">Char_Ptr</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
464 <b>pragma</b> Import (C, Set_Mark, "set_menu_mark");
466 <span class="symbol"><a name="ref_449_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses-menus__ads.htm#ref_403_24">Mark</a>'Length);
467 <span class="symbol"><a name="ref_450_7">Len</a></span> : size_t;
469 To_C (<a href="terminal_interface-curses-menus__ads.htm#ref_403_24">Mark</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_449_7">Txt</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_450_7">Len</a>);
470 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_445_16">Set_Mark</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_402_24">Men</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_449_7">Txt</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_449_7">Txt</a>'First)'<b>Access</b>));
471 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_402_14">Set_Mark</a>;
473 <b>procedure</b> <span class="symbol"><a name="ref_456_14" href="terminal_interface-curses-menus__ads.htm#ref_408_14">Mark</a></span> (<span class="symbol"><a name="ref_456_20" href="terminal_interface-curses-menus__ads.htm#ref_408_20">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
474 <span class="symbol"><a name="ref_457_20" href="terminal_interface-curses-menus__ads.htm#ref_409_20">Mark</a></span> : <b>out</b> String)
476 <b>function</b> <span class="symbol"><a name="ref_459_16">Get_Menu_Mark</a></span> (<span class="symbol"><a name="ref_459_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>;
477 <b>pragma</b> Import (C, Get_Menu_Mark, "menu_mark");
479 <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_459_16">Get_Menu_Mark</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_408_20">Men</a>), <a href="terminal_interface-curses-menus__ads.htm#ref_409_20">Mark</a>);
480 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_408_14">Mark</a>;
482 <b>function</b> <span class="symbol"><a name="ref_465_13" href="terminal_interface-curses-menus__ads.htm#ref_412_14">Mark</a></span> (<span class="symbol"><a name="ref_465_19" href="terminal_interface-curses-menus__ads.htm#ref_412_20">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> String
484 <b>function</b> <span class="symbol"><a name="ref_467_16">Get_Menu_Mark</a></span> (<span class="symbol"><a name="ref_467_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>;
485 <b>pragma</b> Import (C, Get_Menu_Mark, "menu_mark");
487 <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_467_16">Get_Menu_Mark</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_412_20">Men</a>));
488 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_412_14">Mark</a>;
490 <span class="comment"><em>-------------------------------------------------------------------------------</em></span>
491 <b>procedure</b> <span class="symbol"><a name="ref_474_14" href="terminal_interface-curses-menus__ads.htm#ref_422_14">Set_Foreground</a></span>
492 (<span class="symbol"><a name="ref_475_7" href="terminal_interface-curses-menus__ads.htm#ref_423_7">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
493 <span class="symbol"><a name="ref_476_7" href="terminal_interface-curses-menus__ads.htm#ref_424_7">Fore</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>;
494 <span class="symbol"><a name="ref_477_7" href="terminal_interface-curses-menus__ads.htm#ref_425_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First)
496 <b>function</b> <span class="symbol"><a name="ref_479_16">Set_Menu_Fore</a></span> (<span class="symbol"><a name="ref_479_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
497 <span class="symbol"><a name="ref_480_31">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
498 <b>pragma</b> Import (C, Set_Menu_Fore, "set_menu_fore");
500 <span class="symbol"><a name="ref_483_7">Ch</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => Character'First,
501 <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses-menus__ads.htm#ref_425_7">Color</a>,
502 <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses-menus__ads.htm#ref_424_7">Fore</a>);
504 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_479_16">Set_Menu_Fore</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_423_7">Men</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_483_7">Ch</a>));
505 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_422_14">Set_Foreground</a>;
507 <b>procedure</b> <span class="symbol"><a name="ref_490_14" href="terminal_interface-curses-menus__ads.htm#ref_430_14">Foreground</a></span> (<span class="symbol"><a name="ref_490_26" href="terminal_interface-curses-menus__ads.htm#ref_430_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
508 <span class="symbol"><a name="ref_491_26" href="terminal_interface-curses-menus__ads.htm#ref_431_26">Fore</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>)
510 <b>function</b> <span class="symbol"><a name="ref_493_16">Menu_Fore</a></span> (<span class="symbol"><a name="ref_493_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
511 <b>pragma</b> Import (C, Menu_Fore, "menu_fore");
513 <a href="terminal_interface-curses-menus__ads.htm#ref_431_26">Fore</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_493_16">Menu_Fore</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_430_26">Men</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>;
514 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_430_14">Foreground</a>;
516 <b>procedure</b> <span class="symbol"><a name="ref_499_14" href="terminal_interface-curses-menus__ads.htm#ref_435_14">Foreground</a></span> (<span class="symbol"><a name="ref_499_26" href="terminal_interface-curses-menus__ads.htm#ref_435_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
517 <span class="symbol"><a name="ref_500_26" href="terminal_interface-curses-menus__ads.htm#ref_436_26">Fore</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>;
518 <span class="symbol"><a name="ref_501_26" href="terminal_interface-curses-menus__ads.htm#ref_437_26">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>)
520 <b>function</b> <span class="symbol"><a name="ref_503_16">Menu_Fore</a></span> (<span class="symbol"><a name="ref_503_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
521 <b>pragma</b> Import (C, Menu_Fore, "menu_fore");
523 <a href="terminal_interface-curses-menus__ads.htm#ref_436_26">Fore</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_503_16">Menu_Fore</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_435_26">Men</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>;
524 <a href="terminal_interface-curses-menus__ads.htm#ref_437_26">Color</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_503_16">Menu_Fore</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_435_26">Men</a>).<a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a>;
525 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_435_14">Foreground</a>;
527 <b>procedure</b> <span class="symbol"><a name="ref_510_14" href="terminal_interface-curses-menus__ads.htm#ref_442_14">Set_Background</a></span>
528 (<span class="symbol"><a name="ref_511_7" href="terminal_interface-curses-menus__ads.htm#ref_443_7">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
529 <span class="symbol"><a name="ref_512_7" href="terminal_interface-curses-menus__ads.htm#ref_444_7">Back</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>;
530 <span class="symbol"><a name="ref_513_7" href="terminal_interface-curses-menus__ads.htm#ref_445_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First)
532 <b>function</b> <span class="symbol"><a name="ref_515_16">Set_Menu_Back</a></span> (<span class="symbol"><a name="ref_515_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
533 <span class="symbol"><a name="ref_516_31">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
534 <b>pragma</b> Import (C, Set_Menu_Back, "set_menu_back");
536 <span class="symbol"><a name="ref_519_7">Ch</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => Character'First,
537 <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses-menus__ads.htm#ref_445_7">Color</a>,
538 <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses-menus__ads.htm#ref_444_7">Back</a>);
540 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_515_16">Set_Menu_Back</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_443_7">Men</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_519_7">Ch</a>));
541 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_442_14">Set_Background</a>;
543 <b>procedure</b> <span class="symbol"><a name="ref_526_14" href="terminal_interface-curses-menus__ads.htm#ref_450_14">Background</a></span> (<span class="symbol"><a name="ref_526_26" href="terminal_interface-curses-menus__ads.htm#ref_450_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
544 <span class="symbol"><a name="ref_527_26" href="terminal_interface-curses-menus__ads.htm#ref_451_26">Back</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>)
546 <b>function</b> <span class="symbol"><a name="ref_529_16">Menu_Back</a></span> (<span class="symbol"><a name="ref_529_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
547 <b>pragma</b> Import (C, Menu_Back, "menu_back");
549 <a href="terminal_interface-curses-menus__ads.htm#ref_451_26">Back</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_529_16">Menu_Back</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_450_26">Men</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>;
550 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_450_14">Background</a>;
552 <b>procedure</b> <span class="symbol"><a name="ref_535_14" href="terminal_interface-curses-menus__ads.htm#ref_455_14">Background</a></span> (<span class="symbol"><a name="ref_535_26" href="terminal_interface-curses-menus__ads.htm#ref_455_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
553 <span class="symbol"><a name="ref_536_26" href="terminal_interface-curses-menus__ads.htm#ref_456_26">Back</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>;
554 <span class="symbol"><a name="ref_537_26" href="terminal_interface-curses-menus__ads.htm#ref_457_26">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>)
556 <b>function</b> <span class="symbol"><a name="ref_539_16">Menu_Back</a></span> (<span class="symbol"><a name="ref_539_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
557 <b>pragma</b> Import (C, Menu_Back, "menu_back");
559 <a href="terminal_interface-curses-menus__ads.htm#ref_456_26">Back</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_539_16">Menu_Back</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_455_26">Men</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>;
560 <a href="terminal_interface-curses-menus__ads.htm#ref_457_26">Color</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_539_16">Menu_Back</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_455_26">Men</a>).<a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a>;
561 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_455_14">Background</a>;
563 <b>procedure</b> <span class="symbol"><a name="ref_546_14" href="terminal_interface-curses-menus__ads.htm#ref_462_14">Set_Grey</a></span> (<span class="symbol"><a name="ref_546_24" href="terminal_interface-curses-menus__ads.htm#ref_463_7">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
564 <span class="symbol"><a name="ref_547_24" href="terminal_interface-curses-menus__ads.htm#ref_464_7">Grey</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>;
565 <span class="symbol"><a name="ref_548_24" href="terminal_interface-curses-menus__ads.htm#ref_465_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First)
567 <b>function</b> <span class="symbol"><a name="ref_550_16">Set_Menu_Grey</a></span> (<span class="symbol"><a name="ref_550_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
568 <span class="symbol"><a name="ref_551_31">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
569 <b>pragma</b> Import (C, Set_Menu_Grey, "set_menu_grey");
571 <span class="symbol"><a name="ref_554_7">Ch</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => Character'First,
572 <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses-menus__ads.htm#ref_465_7">Color</a>,
573 <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses-menus__ads.htm#ref_464_7">Grey</a>);
576 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_550_16">Set_Menu_Grey</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_463_7">Men</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_554_7">Ch</a>));
577 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_462_14">Set_Grey</a>;
579 <b>procedure</b> <span class="symbol"><a name="ref_562_14" href="terminal_interface-curses-menus__ads.htm#ref_470_14">Grey</a></span> (<span class="symbol"><a name="ref_562_20" href="terminal_interface-curses-menus__ads.htm#ref_470_20">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
580 <span class="symbol"><a name="ref_563_20" href="terminal_interface-curses-menus__ads.htm#ref_471_20">Grey</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>)
582 <b>function</b> <span class="symbol"><a name="ref_565_16">Menu_Grey</a></span> (<span class="symbol"><a name="ref_565_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
583 <b>pragma</b> Import (C, Menu_Grey, "menu_grey");
585 <a href="terminal_interface-curses-menus__ads.htm#ref_471_20">Grey</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_565_16">Menu_Grey</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_470_20">Men</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>;
586 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_470_14">Grey</a>;
588 <b>procedure</b> <span class="symbol"><a name="ref_571_14" href="terminal_interface-curses-menus__ads.htm#ref_475_14">Grey</a></span> (<span class="symbol"><a name="ref_571_20" href="terminal_interface-curses-menus__ads.htm#ref_476_7">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
589 <span class="symbol"><a name="ref_572_20" href="terminal_interface-curses-menus__ads.htm#ref_477_7">Grey</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>;
590 <span class="symbol"><a name="ref_573_20" href="terminal_interface-curses-menus__ads.htm#ref_478_7">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>)
592 <b>function</b> <span class="symbol"><a name="ref_575_16">Menu_Grey</a></span> (<span class="symbol"><a name="ref_575_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
593 <b>pragma</b> Import (C, Menu_Grey, "menu_grey");
595 <a href="terminal_interface-curses-menus__ads.htm#ref_477_7">Grey</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_575_16">Menu_Grey</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_476_7">Men</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>;
596 <a href="terminal_interface-curses-menus__ads.htm#ref_478_7">Color</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_575_16">Menu_Grey</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_476_7">Men</a>).<a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a>;
597 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_475_14">Grey</a>;
599 <b>procedure</b> <span class="symbol"><a name="ref_582_14" href="terminal_interface-curses-menus__ads.htm#ref_483_14">Set_Pad_Character</a></span> (<span class="symbol"><a name="ref_582_33" href="terminal_interface-curses-menus__ads.htm#ref_483_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
600 <span class="symbol"><a name="ref_583_33" href="terminal_interface-curses-menus__ads.htm#ref_484_33">Pad</a></span> : Character := Space)
602 <b>function</b> <span class="symbol"><a name="ref_585_16">Set_Menu_Pad</a></span> (<span class="symbol"><a name="ref_585_30">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
603 <span class="symbol"><a name="ref_586_30">Ch</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
604 <b>pragma</b> Import (C, Set_Menu_Pad, "set_menu_pad");
607 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_585_16">Set_Menu_Pad</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_483_33">Men</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (Character'Pos (<a href="terminal_interface-curses-menus__ads.htm#ref_484_33">Pad</a>))));
608 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_483_14">Set_Pad_Character</a>;
610 <b>procedure</b> <span class="symbol"><a name="ref_593_14" href="terminal_interface-curses-menus__ads.htm#ref_489_14">Pad_Character</a></span> (<span class="symbol"><a name="ref_593_29" href="terminal_interface-curses-menus__ads.htm#ref_489_29">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
611 <span class="symbol"><a name="ref_594_29" href="terminal_interface-curses-menus__ads.htm#ref_490_29">Pad</a></span> : <b>out</b> Character)
613 <b>function</b> <span class="symbol"><a name="ref_596_16">Menu_Pad</a></span> (<span class="symbol"><a name="ref_596_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
614 <b>pragma</b> Import (C, Menu_Pad, "menu_pad");
616 <a href="terminal_interface-curses-menus__ads.htm#ref_490_29">Pad</a> := Character'Val (<a href="terminal_interface-curses-menus__adb.htm#ref_596_16">Menu_Pad</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_489_29">Men</a>));
617 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_489_14">Pad_Character</a>;
618 <span class="comment"><em>-------------------------------------------------------------------------------</em></span>
619 <b>procedure</b> <span class="symbol"><a name="ref_602_14" href="terminal_interface-curses-menus__ads.htm#ref_499_14">Set_Spacing</a></span> (<span class="symbol"><a name="ref_602_27" href="terminal_interface-curses-menus__ads.htm#ref_499_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
620 <span class="symbol"><a name="ref_603_27" href="terminal_interface-curses-menus__ads.htm#ref_500_27">Descr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> := 0;
621 <span class="symbol"><a name="ref_604_27" href="terminal_interface-curses-menus__ads.htm#ref_501_27">Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> := 0;
622 <span class="symbol"><a name="ref_605_27" href="terminal_interface-curses-menus__ads.htm#ref_502_27">Col</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> := 0)
624 <b>function</b> <span class="symbol"><a name="ref_607_16">Set_Spacing</a></span> (<span class="symbol"><a name="ref_607_29">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
625 <span class="symbol"><a name="ref_608_29">D</a></span>, <span class="symbol"><a name="ref_608_32">R</a></span>, <span class="symbol"><a name="ref_608_35">C</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
626 <b>pragma</b> Import (C, Set_Spacing, "set_menu_spacing");
629 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_607_16">Set_Spacing</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_499_27">Men</a>,
630 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_500_27">Descr</a>),
631 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_501_27">Row</a>),
632 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_502_27">Col</a>)));
633 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_499_14">Set_Spacing</a>;
635 <b>procedure</b> <span class="symbol"><a name="ref_618_14" href="terminal_interface-curses-menus__ads.htm#ref_507_14">Spacing</a></span> (<span class="symbol"><a name="ref_618_23" href="terminal_interface-curses-menus__ads.htm#ref_507_23">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
636 <span class="symbol"><a name="ref_619_23" href="terminal_interface-curses-menus__ads.htm#ref_508_23">Descr</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
637 <span class="symbol"><a name="ref_620_23" href="terminal_interface-curses-menus__ads.htm#ref_509_23">Row</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
638 <span class="symbol"><a name="ref_621_23" href="terminal_interface-curses-menus__ads.htm#ref_510_23">Col</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>)
640 <b>type</b> <span class="symbol"><a name="ref_623_12">C_Int_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
641 <b>function</b> <span class="symbol"><a name="ref_624_16">Get_Spacing</a></span> (<span class="symbol"><a name="ref_624_29">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
642 <span class="symbol"><a name="ref_625_29">D</a></span>, <span class="symbol"><a name="ref_625_32">R</a></span>, <span class="symbol"><a name="ref_625_35">C</a></span> : <a href="terminal_interface-curses-menus__adb.htm#ref_623_12">C_Int_Access</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
643 <b>pragma</b> Import (C, Get_Spacing, "menu_spacing");
645 <span class="symbol"><a name="ref_628_7">D</a></span>, <span class="symbol"><a name="ref_628_10">R</a></span>, <span class="symbol"><a name="ref_628_13">C</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
647 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_624_16">Get_Spacing</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_507_23">Men</a>,
648 <a href="terminal_interface-curses-menus__adb.htm#ref_628_7">D</a>'<b>Access</b>,
649 <a href="terminal_interface-curses-menus__adb.htm#ref_628_10">R</a>'<b>Access</b>,
650 <a href="terminal_interface-curses-menus__adb.htm#ref_628_13">C</a>'<b>Access</b>));
651 <a href="terminal_interface-curses-menus__ads.htm#ref_508_23">Descr</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_628_7">D</a>);
652 <a href="terminal_interface-curses-menus__ads.htm#ref_509_23">Row</a> := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_628_10">R</a>);
653 <a href="terminal_interface-curses-menus__ads.htm#ref_510_23">Col</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_628_13">C</a>);
654 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_507_14">Spacing</a>;
655 <span class="comment"><em>-------------------------------------------------------------------------------</em></span>
656 <b>function</b> <span class="symbol"><a name="ref_639_13" href="terminal_interface-curses-menus__ads.htm#ref_519_13">Set_Pattern</a></span> (<span class="symbol"><a name="ref_639_26" href="terminal_interface-curses-menus__ads.htm#ref_519_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
657 <span class="symbol"><a name="ref_640_26" href="terminal_interface-curses-menus__ads.htm#ref_520_26">Text</a></span> : String) <b>return</b> Boolean
659 <b>type</b> <span class="symbol"><a name="ref_642_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;
660 <b>function</b> <span class="symbol"><a name="ref_643_16">Set_Pattern</a></span> (<span class="symbol"><a name="ref_643_29">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
661 <span class="symbol"><a name="ref_644_29">Pattern</a></span> : <a href="terminal_interface-curses-menus__adb.htm#ref_642_12">Char_Ptr</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
662 <b>pragma</b> Import (C, Set_Pattern, "set_menu_pattern");
664 <span class="symbol"><a name="ref_647_7">S</a></span> : char_array (0 .. <a href="terminal_interface-curses-menus__ads.htm#ref_520_26">Text</a>'Length);
665 <span class="symbol"><a name="ref_648_7">L</a></span> : size_t;
666 <span class="symbol"><a name="ref_649_7">Res</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
668 To_C (<a href="terminal_interface-curses-menus__ads.htm#ref_520_26">Text</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_647_7">S</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_648_7">L</a>);
669 <a href="terminal_interface-curses-menus__adb.htm#ref_649_7">Res</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_643_16">Set_Pattern</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_519_26">Men</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_647_7">S</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_647_7">S</a>'First)'<b>Access</b>);
670 <b>case</b> <a href="terminal_interface-curses-menus__adb.htm#ref_649_7">Res</a> <b>is</b>
671 <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_76_7">E_No_Match</a> =>
673 <b>when</b> <b>others</b> =>
674 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_649_7">Res</a>);
676 <b>end</b> <b>case</b>;
677 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_519_13">Set_Pattern</a>;
679 <b>procedure</b> <span class="symbol"><a name="ref_662_14" href="terminal_interface-curses-menus__ads.htm#ref_526_14">Pattern</a></span> (<span class="symbol"><a name="ref_662_23" href="terminal_interface-curses-menus__ads.htm#ref_526_23">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
680 <span class="symbol"><a name="ref_663_23" href="terminal_interface-curses-menus__ads.htm#ref_527_23">Text</a></span> : <b>out</b> String)
682 <b>function</b> <span class="symbol"><a name="ref_665_16">Get_Pattern</a></span> (<span class="symbol"><a name="ref_665_29">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>;
683 <b>pragma</b> Import (C, Get_Pattern, "menu_pattern");
685 <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_665_16">Get_Pattern</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_526_23">Men</a>), <a href="terminal_interface-curses-menus__ads.htm#ref_527_23">Text</a>);
686 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_526_14">Pattern</a>;
687 <span class="comment"><em>-------------------------------------------------------------------------------</em></span>
688 <b>procedure</b> <span class="symbol"><a name="ref_671_14" href="terminal_interface-curses-menus__ads.htm#ref_536_14">Set_Format</a></span> (<span class="symbol"><a name="ref_671_26" href="terminal_interface-curses-menus__ads.htm#ref_536_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
689 <span class="symbol"><a name="ref_672_26" href="terminal_interface-curses-menus__ads.htm#ref_537_26">Lines</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
690 <span class="symbol"><a name="ref_673_26" href="terminal_interface-curses-menus__ads.htm#ref_538_26">Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>)
692 <b>function</b> <span class="symbol"><a name="ref_675_16">Set_Menu_Fmt</a></span> (<span class="symbol"><a name="ref_675_30">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
693 <span class="symbol"><a name="ref_676_30">Lin</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
694 <span class="symbol"><a name="ref_677_30">Col</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
695 <b>pragma</b> Import (C, Set_Menu_Fmt, "set_menu_format");
698 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_675_16">Set_Menu_Fmt</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_536_26">Men</a>,
699 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_537_26">Lines</a>),
700 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_538_26">Columns</a>)));
702 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_536_14">Set_Format</a>;
704 <b>procedure</b> <span class="symbol"><a name="ref_687_14" href="terminal_interface-curses-menus__ads.htm#ref_550_14">Format</a></span> (<span class="symbol"><a name="ref_687_22" href="terminal_interface-curses-menus__ads.htm#ref_550_22">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
705 <span class="symbol"><a name="ref_688_22" href="terminal_interface-curses-menus__ads.htm#ref_551_22">Lines</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
706 <span class="symbol"><a name="ref_689_22" href="terminal_interface-curses-menus__ads.htm#ref_552_22">Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>)
708 <b>type</b> <span class="symbol"><a name="ref_691_12">C_Int_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
709 <b>function</b> <span class="symbol"><a name="ref_692_16">Menu_Fmt</a></span> (<span class="symbol"><a name="ref_692_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
710 <span class="symbol"><a name="ref_693_26">Y</a></span>, <span class="symbol"><a name="ref_693_29">X</a></span> : <a href="terminal_interface-curses-menus__adb.htm#ref_691_12">C_Int_Access</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
711 <b>pragma</b> Import (C, Menu_Fmt, "menu_format");
713 <span class="symbol"><a name="ref_696_7">L</a></span>, <span class="symbol"><a name="ref_696_10">C</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
715 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_692_16">Menu_Fmt</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_550_22">Men</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_696_7">L</a>'<b>Access</b>, <a href="terminal_interface-curses-menus__adb.htm#ref_696_10">C</a>'<b>Access</b>));
716 <a href="terminal_interface-curses-menus__ads.htm#ref_551_22">Lines</a> := <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_696_7">L</a>);
717 <a href="terminal_interface-curses-menus__ads.htm#ref_552_22">Columns</a> := <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_696_10">C</a>);
718 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_550_14">Format</a>;
719 <span class="comment"><em>-------------------------------------------------------------------------------</em></span>
720 <b>procedure</b> <span class="symbol"><a name="ref_703_14" href="terminal_interface-curses-menus__ads.htm#ref_564_14">Set_Item_Init_Hook</a></span> (<span class="symbol"><a name="ref_703_34" href="terminal_interface-curses-menus__ads.htm#ref_564_34">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
721 <span class="symbol"><a name="ref_704_34" href="terminal_interface-curses-menus__ads.htm#ref_565_34">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>)
723 <b>function</b> <span class="symbol"><a name="ref_706_16">Set_Item_Init</a></span> (<span class="symbol"><a name="ref_706_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
724 <span class="symbol"><a name="ref_707_31">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
725 <b>pragma</b> Import (C, Set_Item_Init, "set_item_init");
728 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_706_16">Set_Item_Init</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_564_34">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_565_34">Proc</a>));
729 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_564_14">Set_Item_Init_Hook</a>;
731 <b>procedure</b> <span class="symbol"><a name="ref_714_14" href="terminal_interface-curses-menus__ads.htm#ref_570_14">Set_Item_Term_Hook</a></span> (<span class="symbol"><a name="ref_714_34" href="terminal_interface-curses-menus__ads.htm#ref_570_34">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
732 <span class="symbol"><a name="ref_715_34" href="terminal_interface-curses-menus__ads.htm#ref_571_34">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>)
734 <b>function</b> <span class="symbol"><a name="ref_717_16">Set_Item_Term</a></span> (<span class="symbol"><a name="ref_717_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
735 <span class="symbol"><a name="ref_718_31">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
736 <b>pragma</b> Import (C, Set_Item_Term, "set_item_term");
739 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_717_16">Set_Item_Term</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_570_34">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_571_34">Proc</a>));
740 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_570_14">Set_Item_Term_Hook</a>;
742 <b>procedure</b> <span class="symbol"><a name="ref_725_14" href="terminal_interface-curses-menus__ads.htm#ref_576_14">Set_Menu_Init_Hook</a></span> (<span class="symbol"><a name="ref_725_34" href="terminal_interface-curses-menus__ads.htm#ref_576_34">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
743 <span class="symbol"><a name="ref_726_34" href="terminal_interface-curses-menus__ads.htm#ref_577_34">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>)
745 <b>function</b> <span class="symbol"><a name="ref_728_16">Set_Menu_Init</a></span> (<span class="symbol"><a name="ref_728_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
746 <span class="symbol"><a name="ref_729_31">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
747 <b>pragma</b> Import (C, Set_Menu_Init, "set_menu_init");
750 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_728_16">Set_Menu_Init</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_576_34">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_577_34">Proc</a>));
751 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_576_14">Set_Menu_Init_Hook</a>;
753 <b>procedure</b> <span class="symbol"><a name="ref_736_14" href="terminal_interface-curses-menus__ads.htm#ref_582_14">Set_Menu_Term_Hook</a></span> (<span class="symbol"><a name="ref_736_34" href="terminal_interface-curses-menus__ads.htm#ref_582_34">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
754 <span class="symbol"><a name="ref_737_34" href="terminal_interface-curses-menus__ads.htm#ref_583_34">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>)
756 <b>function</b> <span class="symbol"><a name="ref_739_16">Set_Menu_Term</a></span> (<span class="symbol"><a name="ref_739_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
757 <span class="symbol"><a name="ref_740_31">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
758 <b>pragma</b> Import (C, Set_Menu_Term, "set_menu_term");
761 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_739_16">Set_Menu_Term</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_582_34">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_583_34">Proc</a>));
762 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_582_14">Set_Menu_Term_Hook</a>;
764 <b>function</b> <span class="symbol"><a name="ref_747_13" href="terminal_interface-curses-menus__ads.htm#ref_588_13">Get_Item_Init_Hook</a></span> (<span class="symbol"><a name="ref_747_33" href="terminal_interface-curses-menus__ads.htm#ref_588_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>
766 <b>function</b> <span class="symbol"><a name="ref_749_16">Item_Init</a></span> (<span class="symbol"><a name="ref_749_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>;
767 <b>pragma</b> Import (C, Item_Init, "item_init");
769 <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_749_16">Item_Init</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_588_33">Men</a>);
770 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_588_13">Get_Item_Init_Hook</a>;
772 <b>function</b> <span class="symbol"><a name="ref_755_13" href="terminal_interface-curses-menus__ads.htm#ref_593_13">Get_Item_Term_Hook</a></span> (<span class="symbol"><a name="ref_755_33" href="terminal_interface-curses-menus__ads.htm#ref_593_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>
774 <b>function</b> <span class="symbol"><a name="ref_757_16">Item_Term</a></span> (<span class="symbol"><a name="ref_757_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>;
775 <b>pragma</b> Import (C, Item_Term, "item_term");
777 <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_757_16">Item_Term</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_593_33">Men</a>);
778 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_593_13">Get_Item_Term_Hook</a>;
780 <b>function</b> <span class="symbol"><a name="ref_763_13" href="terminal_interface-curses-menus__ads.htm#ref_598_13">Get_Menu_Init_Hook</a></span> (<span class="symbol"><a name="ref_763_33" href="terminal_interface-curses-menus__ads.htm#ref_598_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>
782 <b>function</b> <span class="symbol"><a name="ref_765_16">Menu_Init</a></span> (<span class="symbol"><a name="ref_765_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>;
783 <b>pragma</b> Import (C, Menu_Init, "menu_init");
785 <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_765_16">Menu_Init</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_598_33">Men</a>);
786 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_598_13">Get_Menu_Init_Hook</a>;
788 <b>function</b> <span class="symbol"><a name="ref_771_13" href="terminal_interface-curses-menus__ads.htm#ref_603_13">Get_Menu_Term_Hook</a></span> (<span class="symbol"><a name="ref_771_33" href="terminal_interface-curses-menus__ads.htm#ref_603_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>
790 <b>function</b> <span class="symbol"><a name="ref_773_16">Menu_Term</a></span> (<span class="symbol"><a name="ref_773_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>;
791 <b>pragma</b> Import (C, Menu_Term, "menu_term");
793 <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_773_16">Menu_Term</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_603_33">Men</a>);
794 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_603_13">Get_Menu_Term_Hook</a>;
795 <span class="comment"><em>-------------------------------------------------------------------------------</em></span>
796 <b>procedure</b> <span class="symbol"><a name="ref_779_14" href="terminal_interface-curses-menus__ads.htm#ref_612_14">Redefine</a></span> (<span class="symbol"><a name="ref_779_24" href="terminal_interface-curses-menus__ads.htm#ref_612_24">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
797 <span class="symbol"><a name="ref_780_24" href="terminal_interface-curses-menus__ads.htm#ref_613_24">Items</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>)
799 <b>function</b> <span class="symbol"><a name="ref_782_16">Set_Items</a></span> (<span class="symbol"><a name="ref_782_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
800 <span class="symbol"><a name="ref_783_27">Items</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
801 <b>pragma</b> Import (C, Set_Items, "set_menu_items");
804 <b>pragma</b> Assert (<a href="terminal_interface-curses-menus__ads.htm#ref_613_24">Items</a>.<b>all</b> (<a href="terminal_interface-curses-menus__ads.htm#ref_613_24">Items</a>'Last) = <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a>);
805 <b>if</b> <a href="terminal_interface-curses-menus__ads.htm#ref_613_24">Items</a>.<b>all</b> (<a href="terminal_interface-curses-menus__ads.htm#ref_613_24">Items</a>'Last) /= <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a> <b>then</b>
806 <b>raise</b> <a href="terminal_interface-curses-menus__ads.htm#ref_112_4">Menu_Exception</a>;
808 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_782_16">Set_Items</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_612_24">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_613_24">Items</a>.<b>all</b>'Address));
809 <b>end</b> <b>if</b>;
810 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_612_14">Redefine</a>;
812 <b>function</b> <span class="symbol"><a name="ref_795_13" href="terminal_interface-curses-menus__ads.htm#ref_628_13">Item_Count</a></span> (<span class="symbol"><a name="ref_795_25" href="terminal_interface-curses-menus__ads.htm#ref_628_25">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> Natural
814 <b>function</b> <span class="symbol"><a name="ref_797_16">Count</a></span> (<span class="symbol"><a name="ref_797_23">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
815 <b>pragma</b> Import (C, Count, "item_count");
817 <b>return</b> Natural (<a href="terminal_interface-curses-menus__adb.htm#ref_797_16">Count</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_628_25">Men</a>));
818 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_628_13">Item_Count</a>;
820 <b>function</b> <span class="symbol"><a name="ref_803_13" href="terminal_interface-curses-menus__ads.htm#ref_622_13">Items</a></span> (<span class="symbol"><a name="ref_803_20" href="terminal_interface-curses-menus__ads.htm#ref_622_20">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
821 <span class="symbol"><a name="ref_804_20" href="terminal_interface-curses-menus__ads.htm#ref_623_20">Index</a></span> : Positive) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>
825 <b>function</b> C_Mitems (<span class="symbol"><a name="ref_808_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> Pointer;
826 <b>pragma</b> Import (C, C_Mitems, "menu_items");
828 P : Pointer := C_Mitems (<a href="terminal_interface-curses-menus__ads.htm#ref_622_20">Men</a>);
830 <b>if</b> P = <b>null</b> <b>or</b> <b>else</b> <a href="terminal_interface-curses-menus__ads.htm#ref_623_20">Index</a> > <a href="terminal_interface-curses-menus__ads.htm#ref_628_13">Item_Count</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_622_20">Men</a>) <b>then</b>
831 <b>raise</b> <a href="terminal_interface-curses-menus__ads.htm#ref_112_4">Menu_Exception</a>;
833 P := P + ptrdiff_t (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_623_20">Index</a>) - 1);
834 <b>return</b> P.<b>all</b>;
835 <b>end</b> <b>if</b>;
836 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_622_13">Items</a>;
838 <span class="comment"><em>-------------------------------------------------------------------------------</em></span>
839 <b>function</b> <span class="symbol"><a name="ref_822_13" href="terminal_interface-curses-menus__ads.htm#ref_637_13">Create</a></span> (<span class="symbol"><a name="ref_822_21" href="terminal_interface-curses-menus__ads.htm#ref_637_21">Items</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>
841 <b>function</b> <span class="symbol"><a name="ref_824_16">Newmenu</a></span> (<span class="symbol"><a name="ref_824_25">Items</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
842 <b>pragma</b> Import (C, Newmenu, "new_menu");
844 <span class="symbol"><a name="ref_827_7">M</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
846 <b>pragma</b> Assert (<a href="terminal_interface-curses-menus__ads.htm#ref_637_21">Items</a>.<b>all</b> (<a href="terminal_interface-curses-menus__ads.htm#ref_637_21">Items</a>'Last) = <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a>);
847 <b>if</b> <a href="terminal_interface-curses-menus__ads.htm#ref_637_21">Items</a>.<b>all</b> (<a href="terminal_interface-curses-menus__ads.htm#ref_637_21">Items</a>'Last) /= <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a> <b>then</b>
848 <b>raise</b> <a href="terminal_interface-curses-menus__ads.htm#ref_112_4">Menu_Exception</a>;
850 <a href="terminal_interface-curses-menus__adb.htm#ref_827_7">M</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_824_16">Newmenu</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_637_21">Items</a>.<b>all</b>'Address);
851 <b>if</b> <a href="terminal_interface-curses-menus__adb.htm#ref_827_7">M</a> = <a href="terminal_interface-curses-menus__ads.htm#ref_59_4">Null_Menu</a> <b>then</b>
852 <b>raise</b> <a href="terminal_interface-curses-menus__ads.htm#ref_112_4">Menu_Exception</a>;
853 <b>end</b> <b>if</b>;
854 <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_827_7">M</a>;
855 <b>end</b> <b>if</b>;
856 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_637_13">Create</a>;
858 <b>procedure</b> <span class="symbol"><a name="ref_841_14" href="terminal_interface-curses-menus__ads.htm#ref_644_14">Delete</a></span> (<span class="symbol"><a name="ref_841_22" href="terminal_interface-curses-menus__ads.htm#ref_644_22">Men</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>)
860 <b>function</b> <span class="symbol"><a name="ref_843_16">Free</a></span> (<span class="symbol"><a name="ref_843_22">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
861 <b>pragma</b> Import (C, Free, "free_menu");
864 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_843_16">Free</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_644_22">Men</a>));
865 <a href="terminal_interface-curses-menus__ads.htm#ref_644_22">Men</a> := <a href="terminal_interface-curses-menus__ads.htm#ref_59_4">Null_Menu</a>;
866 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_644_14">Delete</a>;
868 <span class="comment"><em>------------------------------------------------------------------------------</em></span>
869 <b>function</b> <span class="symbol"><a name="ref_852_13" href="terminal_interface-curses-menus__ads.htm#ref_659_13">Driver</a></span> (<span class="symbol"><a name="ref_852_21" href="terminal_interface-curses-menus__ads.htm#ref_659_21">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
870 <span class="symbol"><a name="ref_853_21" href="terminal_interface-curses-menus__ads.htm#ref_660_21">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_653_9">Driver_Result</a>
872 <b>function</b> <span class="symbol"><a name="ref_855_16">Driver</a></span> (<span class="symbol"><a name="ref_855_24">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
873 <span class="symbol"><a name="ref_856_24">Key</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
874 <b>pragma</b> Import (C, Driver, "menu_driver");
876 <span class="symbol"><a name="ref_859_7">R</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_855_16">Driver</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_659_21">Men</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_660_21">Key</a>));
878 <b>case</b> <a href="terminal_interface-curses-menus__adb.htm#ref_859_7">R</a> <b>is</b>
879 <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_77_7">E_Unknown_Command</a> =>
880 <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_655_27">Unknown_Request</a>;
881 <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_76_7">E_No_Match</a> =>
882 <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_656_27">No_Match</a>;
883 <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_73_7">E_Request_Denied</a> | <a href="terminal_interface-curses-aux__ads.htm#ref_75_7">E_Not_Selectable</a> =>
884 <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_654_27">Request_Denied</a>;
885 <b>when</b> <b>others</b> =>
886 <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_859_7">R</a>);
887 <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_653_27">Menu_Ok</a>;
888 <b>end</b> <b>case</b>;
889 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_659_13">Driver</a>;
891 <b>procedure</b> <span class="symbol"><a name="ref_874_14" href="terminal_interface-curses-menus__ads.htm#ref_179_14">Free</a></span> (<span class="symbol"><a name="ref_874_20" href="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>;
892 <span class="symbol"><a name="ref_875_20" href="terminal_interface-curses-menus__ads.htm#ref_180_20">Free_Items</a></span> : Boolean := False)
894 <b>procedure</b> Release <b>is</b> <b>new</b> Ada.Unchecked_Deallocation
895 (Item_Array, <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>);
897 <b>if</b> <a href="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</a> /= <b>null</b> <b>and</b> <b>then</b> <a href="terminal_interface-curses-menus__ads.htm#ref_180_20">Free_Items</a> <b>then</b>
898 <b>for</b> <span class="symbol"><a name="ref_881_14">I</a></span> <b>in</b> <a href="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</a>'First .. (<a href="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</a>'Last - 1) <b>loop</b>
899 <b>if</b> <a href="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</a>.<b>all</b> (<a href="terminal_interface-curses-menus__adb.htm#ref_881_14">I</a>) /= <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a> <b>then</b>
900 <a href="terminal_interface-curses-menus__ads.htm#ref_202_14">Delete</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</a>.<b>all</b> (<a href="terminal_interface-curses-menus__adb.htm#ref_881_14">I</a>));
901 <b>end</b> <b>if</b>;
902 <b>end</b> <b>loop</b>;
903 <b>end</b> <b>if</b>;
904 Release (<a href="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</a>);
905 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_179_14">Free</a>;
907 <span class="comment"><em>-------------------------------------------------------------------------------</em></span>
908 <b>function</b> <span class="symbol"><a name="ref_891_13" href="terminal_interface-curses-menus__ads.htm#ref_146_13">Default_Menu_Options</a></span> <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>
911 <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_351_13">Get_Options</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_59_4">Null_Menu</a>);
912 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_146_13">Default_Menu_Options</a>;
914 <b>function</b> <span class="symbol"><a name="ref_897_13" href="terminal_interface-curses-menus__ads.htm#ref_167_13">Default_Item_Options</a></span> <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>
917 <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_255_13">Get_Options</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a>);
918 <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_167_13">Default_Item_Options</a>;
919 <span class="comment"><em>-------------------------------------------------------------------------------</em></span>
921 <b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a>;