• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
2<html>
3<head>
4<title>terminal_interface-curses-menus.ads</title>
5<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
6<style type="text/css">
7*.comment {
8	color: green;
9}
10*.symbol {
11	color: red;
12}
13</style>
14</head>
15<body>
16<hr><div style="text-align:center"><h1> File : terminal_interface-curses-menus.ads </h1></div><hr>
17<pre>
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.Menu                      --</em></span>
23<span class="comment"><em>--                                                                          --</em></span>
24<span class="comment"><em>--                                 S P E C                                  --</em></span>
25<span class="comment"><em>--                                                                          --</em></span>
26<span class="comment"><em>------------------------------------------------------------------------------</em></span>
27<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
28<span class="comment"><em>-- Copyright 1998-2009,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.32 @</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> System;
61<b>with</b> Ada.Characters.Latin_1;
62
63<b>package</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_46_35" href="terminal_interface-curses-menus__adb.htm#ref_50_40">Menus</a></span> <b>is</b>
64   <b>pragma</b> Preelaborate (<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>);
65   <b>pragma</b> Linker_Options ("-lmenu" &amp; <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_9_4">DFT_ARG_SUFFIX</a>);
66
67   Space : Character <b>renames</b> Ada.Characters.Latin_1.Space;
68
69   <b>type</b> <span class="symbol"><a name="ref_52_9">Item</a></span> <b>is</b> <b>private</b>;
70   <b>type</b> <span class="symbol"><a name="ref_53_9">Menu</a></span> <b>is</b> <b>private</b>;
71
72   <span class="comment"><em>---------------------------</em></span>
73   <span class="comment"><em>--  Interface constants  --</em></span>
74   <span class="comment"><em>---------------------------</em></span>
75   <span class="symbol"><a name="ref_58_4">Null_Item</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
76   <span class="symbol"><a name="ref_59_4">Null_Menu</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
77
78   <b>subtype</b> <span class="symbol"><a name="ref_61_12">Menu_Request_Code</a></span> <b>is</b> <a href="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</a>
79     <b>range</b> (<a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 1) .. (<a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 17);
80
81   <span class="comment"><em>--  The prefix M_ stands for "Menu Request"</em></span>
82   <span class="symbol"><a name="ref_65_4">M_Left_Item</a></span>       : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 1;
83   <span class="symbol"><a name="ref_66_4">M_Right_Item</a></span>      : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 2;
84   <span class="symbol"><a name="ref_67_4">M_Up_Item</a></span>         : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 3;
85   <span class="symbol"><a name="ref_68_4">M_Down_Item</a></span>       : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 4;
86   <span class="symbol"><a name="ref_69_4">M_ScrollUp_Line</a></span>   : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 5;
87   <span class="symbol"><a name="ref_70_4">M_ScrollDown_Line</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 6;
88   <span class="symbol"><a name="ref_71_4">M_ScrollDown_Page</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 7;
89   <span class="symbol"><a name="ref_72_4">M_ScrollUp_Page</a></span>   : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 8;
90   <span class="symbol"><a name="ref_73_4">M_First_Item</a></span>      : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 9;
91   <span class="symbol"><a name="ref_74_4">M_Last_Item</a></span>       : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 10;
92   <span class="symbol"><a name="ref_75_4">M_Next_Item</a></span>       : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 11;
93   <span class="symbol"><a name="ref_76_4">M_Previous_Item</a></span>   : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 12;
94   <span class="symbol"><a name="ref_77_4">M_Toggle_Item</a></span>     : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 13;
95   <span class="symbol"><a name="ref_78_4">M_Clear_Pattern</a></span>   : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 14;
96   <span class="symbol"><a name="ref_79_4">M_Back_Pattern</a></span>    : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 15;
97   <span class="symbol"><a name="ref_80_4">M_Next_Match</a></span>      : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 16;
98   <span class="symbol"><a name="ref_81_4">M_Previous_Match</a></span>  : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 17;
99
100   <span class="comment"><em>--  For those who like the old 'C' names for the request codes</em></span>
101   REQ_LEFT_ITEM     : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_65_4">M_Left_Item</a>;
102   REQ_RIGHT_ITEM    : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_66_4">M_Right_Item</a>;
103   REQ_UP_ITEM       : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_67_4">M_Up_Item</a>;
104   REQ_DOWN_ITEM     : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_68_4">M_Down_Item</a>;
105   REQ_SCR_ULINE     : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_69_4">M_ScrollUp_Line</a>;
106   REQ_SCR_DLINE     : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_70_4">M_ScrollDown_Line</a>;
107   REQ_SCR_DPAGE     : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_71_4">M_ScrollDown_Page</a>;
108   REQ_SCR_UPAGE     : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_72_4">M_ScrollUp_Page</a>;
109   REQ_FIRST_ITEM    : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_73_4">M_First_Item</a>;
110   REQ_LAST_ITEM     : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_74_4">M_Last_Item</a>;
111   REQ_NEXT_ITEM     : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_75_4">M_Next_Item</a>;
112   REQ_PREV_ITEM     : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_76_4">M_Previous_Item</a>;
113   REQ_TOGGLE_ITEM   : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_77_4">M_Toggle_Item</a>;
114   REQ_CLEAR_PATTERN : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_78_4">M_Clear_Pattern</a>;
115   REQ_BACK_PATTERN  : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_79_4">M_Back_Pattern</a>;
116   REQ_NEXT_MATCH    : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_80_4">M_Next_Match</a>;
117   REQ_PREV_MATCH    : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_81_4">M_Previous_Match</a>;
118
119   <b>procedure</b> <span class="symbol"><a name="ref_102_14" href="terminal_interface-curses-menus__adb.htm#ref_59_14">Request_Name</a></span> (<span class="symbol"><a name="ref_102_28" href="terminal_interface-curses-menus__adb.htm#ref_59_28">Key</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a>;
120                           <span class="symbol"><a name="ref_103_28" href="terminal_interface-curses-menus__adb.htm#ref_60_28">Name</a></span> : <b>out</b> String);
121
122   <b>function</b>  <span class="symbol"><a name="ref_105_14" href="terminal_interface-curses-menus__adb.htm#ref_68_13">Request_Name</a></span> (<span class="symbol"><a name="ref_105_28" href="terminal_interface-curses-menus__adb.htm#ref_68_27">Key</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a>) <b>return</b> String;
123   <span class="comment"><em>--  Same as function</em></span>
124
125   <span class="comment"><em>------------------</em></span>
126   <span class="comment"><em>--  Exceptions  --</em></span>
127   <span class="comment"><em>------------------</em></span>
128
129   <span class="symbol"><a name="ref_112_4">Menu_Exception</a></span> : <b>exception</b>;
130   <span class="comment"><em>--</em></span>
131   <span class="comment"><em>--  Menu options</em></span>
132   <span class="comment"><em>--</em></span>
133   <b>type</b> <span class="symbol"><a name="ref_116_9">Menu_Option_Set</a></span> <b>is</b>
134      <b>record</b>
135         <span class="symbol"><a name="ref_118_10">One_Valued</a></span>        : Boolean;
136         <span class="symbol"><a name="ref_119_10">Show_Descriptions</a></span> : Boolean;
137         <span class="symbol"><a name="ref_120_10">Row_Major_Order</a></span>   : Boolean;
138         <span class="symbol"><a name="ref_121_10">Ignore_Case</a></span>       : Boolean;
139         <span class="symbol"><a name="ref_122_10">Show_Matches</a></span>      : Boolean;
140         <span class="symbol"><a name="ref_123_10">Non_Cyclic</a></span>        : Boolean;
141      <b>end</b> <b>record</b>;
142   <b>pragma</b> Convention (C_Pass_By_Copy, <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>);
143
144   <b>for</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a> <b>use</b>
145      <b>record</b>
146         <a href="terminal_interface-curses-menus__ads.htm#ref_118_10">One_Valued</a>        <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_257_4">O_ONEVALUE_First</a>
147           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_258_4">O_ONEVALUE_Last</a>;
148         <a href="terminal_interface-curses-menus__ads.htm#ref_119_10">Show_Descriptions</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_259_4">O_SHOWDESC_First</a>
149           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_260_4">O_SHOWDESC_Last</a>;
150         <a href="terminal_interface-curses-menus__ads.htm#ref_120_10">Row_Major_Order</a>   <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_261_4">O_ROWMAJOR_First</a>
151           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_262_4">O_ROWMAJOR_Last</a>;
152         <a href="terminal_interface-curses-menus__ads.htm#ref_121_10">Ignore_Case</a>       <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_263_4">O_IGNORECASE_First</a>
153           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_264_4">O_IGNORECASE_Last</a>;
154         <a href="terminal_interface-curses-menus__ads.htm#ref_122_10">Show_Matches</a>      <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_265_4">O_SHOWMATCH_First</a>
155           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_266_4">O_SHOWMATCH_Last</a>;
156         <a href="terminal_interface-curses-menus__ads.htm#ref_123_10">Non_Cyclic</a>        <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_267_4">O_NONCYCLIC_First</a>
157           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_268_4">O_NONCYCLIC_Last</a>;
158      <b>end</b> <b>record</b>;
159   <b>pragma</b> Warnings (Off);
160   <b>for</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>'Size <b>use</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_269_4">Menu_Options_Size</a>;
161   <b>pragma</b> Warnings (On);
162
163   <b>function</b> <span class="symbol"><a name="ref_146_13" href="terminal_interface-curses-menus__adb.htm#ref_891_13">Default_Menu_Options</a></span> <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>;
164   <span class="comment"><em>--  Initial default options for a menu.</em></span>
165   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_146_13">Default_Menu_Options</a>);
166   <span class="comment"><em>--</em></span>
167   <span class="comment"><em>--  Item options</em></span>
168   <span class="comment"><em>--</em></span>
169   <b>type</b> <span class="symbol"><a name="ref_152_9">Item_Option_Set</a></span> <b>is</b>
170      <b>record</b>
171         <span class="symbol"><a name="ref_154_10">Selectable</a></span> : Boolean;
172      <b>end</b> <b>record</b>;
173   <b>pragma</b> Convention (C_Pass_By_Copy, <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>);
174
175   <b>for</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a> <b>use</b>
176      <b>record</b>
177         <a href="terminal_interface-curses-menus__ads.htm#ref_154_10">Selectable</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_273_4">O_SELECTABLE_First</a>
178           ..  <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_274_4">O_SELECTABLE_Last</a>;
179      <b>end</b> <b>record</b>;
180   <b>pragma</b> Warnings (Off);
181   <b>for</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>'Size <b>use</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_275_4">Item_Options_Size</a>;
182   <b>pragma</b> Warnings (On);
183
184   <b>function</b> <span class="symbol"><a name="ref_167_13" href="terminal_interface-curses-menus__adb.htm#ref_897_13">Default_Item_Options</a></span> <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>;
185   <span class="comment"><em>--  Initial default options for an item.</em></span>
186   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_167_13">Default_Item_Options</a>);
187
188   <span class="comment"><em>--</em></span>
189   <span class="comment"><em>--  Item Array</em></span>
190   <span class="comment"><em>--</em></span>
191   <b>type</b> Item_Array <b>is</b> <b>array</b> (Positive <b>range</b> &lt;&gt;) <b>of</b> <b>aliased</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
192   <b>pragma</b> Convention (C, Item_Array);
193
194   <b>type</b> <span class="symbol"><a name="ref_177_9">Item_Array_Access</a></span> <b>is</b> <b>access</b> Item_Array;
195
196   <b>procedure</b> <span class="symbol"><a name="ref_179_14" href="terminal_interface-curses-menus__adb.htm#ref_874_14">Free</a></span> (<span class="symbol"><a name="ref_179_20" href="terminal_interface-curses-menus__adb.htm#ref_874_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>;
197                   <span class="symbol"><a name="ref_180_20" href="terminal_interface-curses-menus__adb.htm#ref_875_20">Free_Items</a></span> : Boolean := False);
198   <span class="comment"><em>--  Release the memory for an allocated item array</em></span>
199   <span class="comment"><em>--  If Free_Items is True, call Delete() for all the items in</em></span>
200   <span class="comment"><em>--  the array.</em></span>
201
202   <span class="comment"><em>--  |=====================================================================</em></span>
203   <span class="comment"><em>--  | Man page <A HREF="../man/mitem_new.3x.html">mitem_new.3x</A></em></span>
204   <span class="comment"><em>--  |=====================================================================</em></span>
205
206   <span class="comment"><em>--  <A NAME="AFU_1">|</A></em></span>
207   <b>function</b> <span class="symbol"><a name="ref_190_13" href="terminal_interface-curses-menus__adb.htm#ref_76_13">Create</a></span> (<span class="symbol"><a name="ref_190_21" href="terminal_interface-curses-menus__adb.htm#ref_76_21">Name</a></span>        : String;
208                    <span class="symbol"><a name="ref_191_21" href="terminal_interface-curses-menus__adb.htm#ref_77_21">Description</a></span> : String := "") <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
209   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_new.3x.html">new_item()</A></em></span>
210   <span class="comment"><em>--  Not inlined.</em></span>
211
212   <span class="comment"><em>--  <A NAME="AFU_2">|</A></em></span>
213   <b>function</b> New_Item (<span class="symbol"><a name="ref_196_23">Name</a></span>        : String;
214                      <span class="symbol"><a name="ref_197_23">Description</a></span> : String := "") <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>
215     <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_190_13">Create</a>;
216   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_new.3x.html">new_item()</A></em></span>
217
218   <span class="comment"><em>--  <A NAME="AFU_3">|</A></em></span>
219   <b>procedure</b> <span class="symbol"><a name="ref_202_14" href="terminal_interface-curses-menus__adb.htm#ref_106_14">Delete</a></span> (<span class="symbol"><a name="ref_202_22" href="terminal_interface-curses-menus__adb.htm#ref_106_22">Itm</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>);
220   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_new.3x.html">free_item()</A></em></span>
221   <span class="comment"><em>--  Resets Itm to Null_Item</em></span>
222
223   <span class="comment"><em>--  |=====================================================================</em></span>
224   <span class="comment"><em>--  | Man page <A HREF="../man/mitem_value.3x.html">mitem_value.3x</A></em></span>
225   <span class="comment"><em>--  |=====================================================================</em></span>
226
227   <span class="comment"><em>--  <A NAME="AFU_4">|</A></em></span>
228   <b>procedure</b> <span class="symbol"><a name="ref_211_14" href="terminal_interface-curses-menus__adb.htm#ref_130_14">Set_Value</a></span> (<span class="symbol"><a name="ref_211_25" href="terminal_interface-curses-menus__adb.htm#ref_130_25">Itm</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
229                        <span class="symbol"><a name="ref_212_25" href="terminal_interface-curses-menus__adb.htm#ref_131_25">Value</a></span> : Boolean := True);
230   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_value.3x.html">set_item_value()</A></em></span>
231   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_211_14">Set_Value</a>);
232
233   <span class="comment"><em>--  <A NAME="AFU_5">|</A></em></span>
234   <b>function</b> <span class="symbol"><a name="ref_217_13" href="terminal_interface-curses-menus__adb.htm#ref_141_13">Value</a></span> (<span class="symbol"><a name="ref_217_20" href="terminal_interface-curses-menus__adb.htm#ref_141_20">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> Boolean;
235   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_value.3x.html">item_value()</A></em></span>
236   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_217_13">Value</a>);
237
238   <span class="comment"><em>--  |=====================================================================</em></span>
239   <span class="comment"><em>--  | Man page <A HREF="../man/mitem_visible.3x.html">mitem_visible.3x</A></em></span>
240   <span class="comment"><em>--  |=====================================================================</em></span>
241
242   <span class="comment"><em>--  <A NAME="AFU_6">|</A></em></span>
243   <b>function</b> <span class="symbol"><a name="ref_226_13" href="terminal_interface-curses-menus__adb.htm#ref_154_13">Visible</a></span> (<span class="symbol"><a name="ref_226_22" href="terminal_interface-curses-menus__adb.htm#ref_154_22">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> Boolean;
244   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_visible.3x.html">item_visible()</A></em></span>
245   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_226_13">Visible</a>);
246
247   <span class="comment"><em>--  |=====================================================================</em></span>
248   <span class="comment"><em>--  | Man page <A HREF="../man/mitem_opts.3x.html">mitem_opts.3x</A></em></span>
249   <span class="comment"><em>--  |=====================================================================</em></span>
250
251   <span class="comment"><em>--  <A NAME="AFU_7">|</A></em></span>
252   <b>procedure</b> <span class="symbol"><a name="ref_235_14" href="terminal_interface-curses-menus__adb.htm#ref_166_14">Set_Options</a></span> (<span class="symbol"><a name="ref_235_27" href="terminal_interface-curses-menus__adb.htm#ref_166_27">Itm</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
253                          <span class="symbol"><a name="ref_236_27" href="terminal_interface-curses-menus__adb.htm#ref_167_27">Options</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>);
254   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_opts.3x.html">set_item_opts()</A></em></span>
255   <span class="comment"><em>--  An overloaded Set_Options is defined later. Pragma Inline appears there</em></span>
256
257   <span class="comment"><em>--  <A NAME="AFU_8">|</A></em></span>
258   <b>procedure</b> <span class="symbol"><a name="ref_241_14" href="terminal_interface-curses-menus__adb.htm#ref_177_14">Switch_Options</a></span> (<span class="symbol"><a name="ref_241_30" href="terminal_interface-curses-menus__adb.htm#ref_177_30">Itm</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
259                             <span class="symbol"><a name="ref_242_30" href="terminal_interface-curses-menus__adb.htm#ref_178_30">Options</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>;
260                             <span class="symbol"><a name="ref_243_30" href="terminal_interface-curses-menus__adb.htm#ref_179_30">On</a></span>      : Boolean := True);
261   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_opts.3x.html">item_opts_on()</A></em></span>
262   <span class="comment"><em>--  AKA: item_opts_off()</em></span>
263   <span class="comment"><em>--  An overloaded Switch_Options is defined later.</em></span>
264   <span class="comment"><em>--  Pragma Inline appears there</em></span>
265
266   <span class="comment"><em>--  <A NAME="AFU_9">|</A></em></span>
267   <b>procedure</b> <span class="symbol"><a name="ref_250_14" href="terminal_interface-curses-menus__adb.htm#ref_196_14">Get_Options</a></span> (<span class="symbol"><a name="ref_250_27" href="terminal_interface-curses-menus__adb.htm#ref_196_27">Itm</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
268                          <span class="symbol"><a name="ref_251_27" href="terminal_interface-curses-menus__adb.htm#ref_197_27">Options</a></span> : <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>);
269   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_opts.3x.html">item_opts()</A></em></span>
270
271   <span class="comment"><em>--  <A NAME="AFU_10">|</A></em></span>
272   <b>function</b> <span class="symbol"><a name="ref_255_13" href="terminal_interface-curses-menus__adb.htm#ref_206_13">Get_Options</a></span> (<span class="symbol"><a name="ref_255_26" href="terminal_interface-curses-menus__adb.htm#ref_206_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>;
273   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_opts.3x.html">item_opts()</A></em></span>
274   <span class="comment"><em>--  An overloaded Get_Options is defined later. Pragma Inline appears there</em></span>
275
276   <span class="comment"><em>--  |=====================================================================</em></span>
277   <span class="comment"><em>--  | Man page <A HREF="../man/mitem_name.3x.html">mitem_name.3x</A></em></span>
278   <span class="comment"><em>--  |=====================================================================</em></span>
279
280   <span class="comment"><em>--  <A NAME="AFU_11">|</A></em></span>
281   <b>procedure</b> <span class="symbol"><a name="ref_264_14" href="terminal_interface-curses-menus__adb.htm#ref_214_14">Name</a></span> (<span class="symbol"><a name="ref_264_20" href="terminal_interface-curses-menus__adb.htm#ref_214_20">Itm</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
282                   <span class="symbol"><a name="ref_265_20" href="terminal_interface-curses-menus__adb.htm#ref_215_20">Name</a></span> : <b>out</b> String);
283   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_name.3x.html">item_name()</A></em></span>
284   <b>function</b>  <span class="symbol"><a name="ref_267_14" href="terminal_interface-curses-menus__adb.htm#ref_223_13">Name</a></span> (<span class="symbol"><a name="ref_267_20" href="terminal_interface-curses-menus__adb.htm#ref_223_19">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> String;
285   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_name.3x.html">item_name()</A></em></span>
286   <span class="comment"><em>--  Implemented as function</em></span>
287   <b>pragma</b> Inline (Name);
288
289   <span class="comment"><em>--  <A NAME="AFU_12">|</A></em></span>
290   <b>procedure</b> <span class="symbol"><a name="ref_273_14" href="terminal_interface-curses-menus__adb.htm#ref_231_14">Description</a></span> (<span class="symbol"><a name="ref_273_27" href="terminal_interface-curses-menus__adb.htm#ref_231_27">Itm</a></span>         : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
291                          <span class="symbol"><a name="ref_274_27" href="terminal_interface-curses-menus__adb.htm#ref_232_27">Description</a></span> : <b>out</b> String);
292   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_name.3x.html">item_description();</A></em></span>
293
294   <b>function</b>  <span class="symbol"><a name="ref_277_14" href="terminal_interface-curses-menus__adb.htm#ref_240_13">Description</a></span> (<span class="symbol"><a name="ref_277_27" href="terminal_interface-curses-menus__adb.htm#ref_240_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> String;
295   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_name.3x.html">item_description();</A></em></span>
296   <span class="comment"><em>--  Implemented as function</em></span>
297   <b>pragma</b> Inline (Description);
298
299   <span class="comment"><em>--  |=====================================================================</em></span>
300   <span class="comment"><em>--  | Man page <A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></em></span>
301   <span class="comment"><em>--  |=====================================================================</em></span>
302
303   <span class="comment"><em>--  <A NAME="AFU_13">|</A></em></span>
304   <b>procedure</b> <span class="symbol"><a name="ref_287_14" href="terminal_interface-curses-menus__adb.htm#ref_248_14">Set_Current</a></span> (<span class="symbol"><a name="ref_287_27" href="terminal_interface-curses-menus__adb.htm#ref_248_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
305                          <span class="symbol"><a name="ref_288_27" href="terminal_interface-curses-menus__adb.htm#ref_249_27">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>);
306   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_current.3x.html">set_current_item()</A></em></span>
307   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_287_14">Set_Current</a>);
308
309   <span class="comment"><em>--  <A NAME="AFU_14">|</A></em></span>
310   <b>function</b> <span class="symbol"><a name="ref_293_13" href="terminal_interface-curses-menus__adb.htm#ref_259_13">Current</a></span> (<span class="symbol"><a name="ref_293_22" href="terminal_interface-curses-menus__adb.htm#ref_259_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>;
311   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_current.3x.html">current_item()</A></em></span>
312   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_293_13">Current</a>);
313
314   <span class="comment"><em>--  <A NAME="AFU_15">|</A></em></span>
315   <b>procedure</b> <span class="symbol"><a name="ref_298_14" href="terminal_interface-curses-menus__adb.htm#ref_272_14">Set_Top_Row</a></span> (<span class="symbol"><a name="ref_298_27" href="terminal_interface-curses-menus__adb.htm#ref_272_27">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
316                          <span class="symbol"><a name="ref_299_27" href="terminal_interface-curses-menus__adb.htm#ref_273_27">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>);
317   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_current.3x.html">set_top_row()</A></em></span>
318   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_298_14">Set_Top_Row</a>);
319
320   <span class="comment"><em>--  <A NAME="AFU_16">|</A></em></span>
321   <b>function</b> <span class="symbol"><a name="ref_304_13" href="terminal_interface-curses-menus__adb.htm#ref_283_13">Top_Row</a></span> (<span class="symbol"><a name="ref_304_22" href="terminal_interface-curses-menus__adb.htm#ref_283_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>;
322   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_current.3x.html">top_row()</A></em></span>
323   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_304_13">Top_Row</a>);
324
325   <span class="comment"><em>--  <A NAME="AFU_17">|</A></em></span>
326   <b>function</b> <span class="symbol"><a name="ref_309_13" href="terminal_interface-curses-menus__adb.htm#ref_296_13">Get_Index</a></span> (<span class="symbol"><a name="ref_309_24" href="terminal_interface-curses-menus__adb.htm#ref_296_24">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> Positive;
327   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_current.3x.html">item_index()</A></em></span>
328   <span class="comment"><em>--  Please note that in this binding we start the numbering of items</em></span>
329   <span class="comment"><em>--  with 1. So this is number is one more than you get from the low</em></span>
330   <span class="comment"><em>--  level call.</em></span>
331   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_309_13">Get_Index</a>);
332
333   <span class="comment"><em>--  |=====================================================================</em></span>
334   <span class="comment"><em>--  | Man page <A HREF="../man/menu_post.3x.html">menu_post.3x</A></em></span>
335   <span class="comment"><em>--  |=====================================================================</em></span>
336
337   <span class="comment"><em>--  <A NAME="AFU_18">|</A></em></span>
338   <b>procedure</b> <span class="symbol"><a name="ref_321_14" href="terminal_interface-curses-menus__adb.htm#ref_309_14">Post</a></span> (<span class="symbol"><a name="ref_321_20" href="terminal_interface-curses-menus__adb.htm#ref_309_20">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
339                   <span class="symbol"><a name="ref_322_20" href="terminal_interface-curses-menus__adb.htm#ref_310_20">Post</a></span> : Boolean := True);
340   <span class="comment"><em>--  AKA: <A HREF="../man/menu_post.3x.html">post_menu()</A></em></span>
341   <span class="comment"><em>--  AKA: unpost_menu()</em></span>
342   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_321_14">Post</a>);
343
344   <span class="comment"><em>--  |=====================================================================</em></span>
345   <span class="comment"><em>--  | Man page <A HREF="../man/menu_opts.3x.html">menu_opts.3x</A></em></span>
346   <span class="comment"><em>--  |=====================================================================</em></span>
347
348   <span class="comment"><em>--  <A NAME="AFU_19">|</A></em></span>
349   <b>procedure</b> <span class="symbol"><a name="ref_332_14" href="terminal_interface-curses-menus__adb.htm#ref_325_14">Set_Options</a></span> (<span class="symbol"><a name="ref_332_27" href="terminal_interface-curses-menus__adb.htm#ref_325_27">Men</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
350                          <span class="symbol"><a name="ref_333_27" href="terminal_interface-curses-menus__adb.htm#ref_326_27">Options</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>);
351   <span class="comment"><em>--  AKA: <A HREF="../man/menu_opts.3x.html">set_menu_opts()</A></em></span>
352   <b>pragma</b> Inline (Set_Options);
353
354   <span class="comment"><em>--  <A NAME="AFU_20">|</A></em></span>
355   <b>procedure</b> <span class="symbol"><a name="ref_338_14" href="terminal_interface-curses-menus__adb.htm#ref_336_14">Switch_Options</a></span> (<span class="symbol"><a name="ref_338_30" href="terminal_interface-curses-menus__adb.htm#ref_336_30">Men</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
356                             <span class="symbol"><a name="ref_339_30" href="terminal_interface-curses-menus__adb.htm#ref_337_30">Options</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>;
357                             <span class="symbol"><a name="ref_340_30" href="terminal_interface-curses-menus__adb.htm#ref_338_30">On</a></span>      : Boolean := True);
358   <span class="comment"><em>--  AKA: <A HREF="../man/menu_opts.3x.html">menu_opts_on()</A></em></span>
359   <span class="comment"><em>--  AKA: menu_opts_off()</em></span>
360   <b>pragma</b> Inline (Switch_Options);
361
362   <span class="comment"><em>--  <A NAME="AFU_21">|</A></em></span>
363   <b>procedure</b> <span class="symbol"><a name="ref_346_14" href="terminal_interface-curses-menus__adb.htm#ref_355_14">Get_Options</a></span> (<span class="symbol"><a name="ref_346_27" href="terminal_interface-curses-menus__adb.htm#ref_355_27">Men</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
364                          <span class="symbol"><a name="ref_347_27" href="terminal_interface-curses-menus__adb.htm#ref_356_27">Options</a></span> : <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>);
365   <span class="comment"><em>--  AKA: <A HREF="../man/menu_opts.3x.html">menu_opts()</A></em></span>
366
367   <span class="comment"><em>--  <A NAME="AFU_22">|</A></em></span>
368   <b>function</b> <span class="symbol"><a name="ref_351_13" href="terminal_interface-curses-menus__adb.htm#ref_365_13">Get_Options</a></span> (<span class="symbol"><a name="ref_351_26" href="terminal_interface-curses-menus__adb.htm#ref_365_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>;
369   <span class="comment"><em>--  AKA: <A HREF="../man/menu_opts.3x.html">menu_opts()</A></em></span>
370   <b>pragma</b> Inline (Get_Options);
371
372   <span class="comment"><em>--  |=====================================================================</em></span>
373   <span class="comment"><em>--  | Man page <A HREF="../man/menu_win.3x.html">menu_win.3x</A></em></span>
374   <span class="comment"><em>--  |=====================================================================</em></span>
375
376   <span class="comment"><em>--  <A NAME="AFU_23">|</A></em></span>
377   <b>procedure</b> <span class="symbol"><a name="ref_360_14" href="terminal_interface-curses-menus__adb.htm#ref_373_14">Set_Window</a></span> (<span class="symbol"><a name="ref_360_26" href="terminal_interface-curses-menus__adb.htm#ref_373_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
378                         <span class="symbol"><a name="ref_361_26" href="terminal_interface-curses-menus__adb.htm#ref_374_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>);
379   <span class="comment"><em>--  AKA: <A HREF="../man/menu_win.3x.html">set_menu_win()</A></em></span>
380   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_360_14">Set_Window</a>);
381
382   <span class="comment"><em>--  <A NAME="AFU_24">|</A></em></span>
383   <b>function</b> <span class="symbol"><a name="ref_366_13" href="terminal_interface-curses-menus__adb.htm#ref_384_13">Get_Window</a></span> (<span class="symbol"><a name="ref_366_25" href="terminal_interface-curses-menus__adb.htm#ref_384_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>;
384   <span class="comment"><em>--  AKA: <A HREF="../man/menu_win.3x.html">menu_win()</A></em></span>
385   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_366_13">Get_Window</a>);
386
387   <span class="comment"><em>--  <A NAME="AFU_25">|</A></em></span>
388   <b>procedure</b> <span class="symbol"><a name="ref_371_14" href="terminal_interface-curses-menus__adb.htm#ref_394_14">Set_Sub_Window</a></span> (<span class="symbol"><a name="ref_371_30" href="terminal_interface-curses-menus__adb.htm#ref_394_30">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
389                             <span class="symbol"><a name="ref_372_30" href="terminal_interface-curses-menus__adb.htm#ref_395_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>);
390   <span class="comment"><em>--  AKA: <A HREF="../man/menu_win.3x.html">set_menu_sub()</A></em></span>
391   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_371_14">Set_Sub_Window</a>);
392
393   <span class="comment"><em>--  <A NAME="AFU_26">|</A></em></span>
394   <b>function</b> <span class="symbol"><a name="ref_377_13" href="terminal_interface-curses-menus__adb.htm#ref_405_13">Get_Sub_Window</a></span> (<span class="symbol"><a name="ref_377_29" href="terminal_interface-curses-menus__adb.htm#ref_405_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>;
395   <span class="comment"><em>--  AKA: <A HREF="../man/menu_win.3x.html">menu_sub()</A></em></span>
396   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_377_13">Get_Sub_Window</a>);
397
398   <span class="comment"><em>--  <A NAME="AFU_27">|</A></em></span>
399   <b>procedure</b> <span class="symbol"><a name="ref_382_14" href="terminal_interface-curses-menus__adb.htm#ref_415_14">Scale</a></span> (<span class="symbol"><a name="ref_382_21" href="terminal_interface-curses-menus__adb.htm#ref_415_21">Men</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
400                    <span class="symbol"><a name="ref_383_21" href="terminal_interface-curses-menus__adb.htm#ref_416_21">Lines</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
401                    <span class="symbol"><a name="ref_384_21" href="terminal_interface-curses-menus__adb.htm#ref_417_21">Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>);
402   <span class="comment"><em>--  AKA: <A HREF="../man/menu_win.3x.html">scale_menu()</A></em></span>
403   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_382_14">Scale</a>);
404
405   <span class="comment"><em>--  |=====================================================================</em></span>
406   <span class="comment"><em>--  | Man page <A HREF="../man/menu_cursor.3x.html">menu_cursor.3x</A></em></span>
407   <span class="comment"><em>--  |=====================================================================</em></span>
408
409   <span class="comment"><em>--  <A NAME="AFU_28">|</A></em></span>
410   <b>procedure</b> <span class="symbol"><a name="ref_393_14" href="terminal_interface-curses-menus__adb.htm#ref_431_14">Position_Cursor</a></span> (<span class="symbol"><a name="ref_393_31" href="terminal_interface-curses-menus__adb.htm#ref_431_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>);
411   <span class="comment"><em>--  AKA: <A HREF="../man/menu_cursor.3x.html">pos_menu_cursor()</A></em></span>
412   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_393_14">Position_Cursor</a>);
413
414   <span class="comment"><em>--  |=====================================================================</em></span>
415   <span class="comment"><em>--  | Man page <A HREF="../man/menu_mark.3x.html">menu_mark.3x</A></em></span>
416   <span class="comment"><em>--  |=====================================================================</em></span>
417
418   <span class="comment"><em>--  <A NAME="AFU_29">|</A></em></span>
419   <b>procedure</b> <span class="symbol"><a name="ref_402_14" href="terminal_interface-curses-menus__adb.htm#ref_441_14">Set_Mark</a></span> (<span class="symbol"><a name="ref_402_24" href="terminal_interface-curses-menus__adb.htm#ref_441_24">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
420                       <span class="symbol"><a name="ref_403_24" href="terminal_interface-curses-menus__adb.htm#ref_442_24">Mark</a></span> : String);
421   <span class="comment"><em>--  AKA: <A HREF="../man/menu_mark.3x.html">set_menu_mark()</A></em></span>
422   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_402_14">Set_Mark</a>);
423
424   <span class="comment"><em>--  <A NAME="AFU_30">|</A></em></span>
425   <b>procedure</b> <span class="symbol"><a name="ref_408_14" href="terminal_interface-curses-menus__adb.htm#ref_456_14">Mark</a></span> (<span class="symbol"><a name="ref_408_20" href="terminal_interface-curses-menus__adb.htm#ref_456_20">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
426                   <span class="symbol"><a name="ref_409_20" href="terminal_interface-curses-menus__adb.htm#ref_457_20">Mark</a></span> : <b>out</b> String);
427   <span class="comment"><em>--  AKA: <A HREF="../man/menu_mark.3x.html">menu_mark()</A></em></span>
428
429   <b>function</b>  <span class="symbol"><a name="ref_412_14" href="terminal_interface-curses-menus__adb.htm#ref_465_13">Mark</a></span> (<span class="symbol"><a name="ref_412_20" href="terminal_interface-curses-menus__adb.htm#ref_465_19">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> String;
430   <span class="comment"><em>--  AKA: <A HREF="../man/menu_mark.3x.html">menu_mark()</A></em></span>
431   <span class="comment"><em>--  Implemented as function</em></span>
432   <b>pragma</b> Inline (Mark);
433
434   <span class="comment"><em>--  |=====================================================================</em></span>
435   <span class="comment"><em>--  | Man page <A HREF="../man/menu_attributes.3x.html">menu_attributes.3x</A></em></span>
436   <span class="comment"><em>--  |=====================================================================</em></span>
437
438   <span class="comment"><em>--  <A NAME="AFU_31">|</A></em></span>
439   <b>procedure</b> <span class="symbol"><a name="ref_422_14" href="terminal_interface-curses-menus__adb.htm#ref_474_14">Set_Foreground</a></span>
440     (<span class="symbol"><a name="ref_423_7" href="terminal_interface-curses-menus__adb.htm#ref_475_7">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
441      <span class="symbol"><a name="ref_424_7" href="terminal_interface-curses-menus__adb.htm#ref_476_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>;
442      <span class="symbol"><a name="ref_425_7" href="terminal_interface-curses-menus__adb.htm#ref_477_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);
443   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_fore()</A></em></span>
444   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_422_14">Set_Foreground</a>);
445
446   <span class="comment"><em>--  <A NAME="AFU_32">|</A></em></span>
447   <b>procedure</b> <span class="symbol"><a name="ref_430_14" href="terminal_interface-curses-menus__adb.htm#ref_490_14">Foreground</a></span> (<span class="symbol"><a name="ref_430_26" href="terminal_interface-curses-menus__adb.htm#ref_490_26">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
448                         <span class="symbol"><a name="ref_431_26" href="terminal_interface-curses-menus__adb.htm#ref_491_26">Fore</a></span>  : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>);
449   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_fore()</A></em></span>
450
451   <span class="comment"><em>--  <A NAME="AFU_33">|</A></em></span>
452   <b>procedure</b> <span class="symbol"><a name="ref_435_14" href="terminal_interface-curses-menus__adb.htm#ref_499_14">Foreground</a></span> (<span class="symbol"><a name="ref_435_26" href="terminal_interface-curses-menus__adb.htm#ref_499_26">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
453                         <span class="symbol"><a name="ref_436_26" href="terminal_interface-curses-menus__adb.htm#ref_500_26">Fore</a></span>  : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>;
454                         <span class="symbol"><a name="ref_437_26" href="terminal_interface-curses-menus__adb.htm#ref_501_26">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>);
455   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_fore()</A></em></span>
456   <b>pragma</b> Inline (Foreground);
457
458   <span class="comment"><em>--  <A NAME="AFU_34">|</A></em></span>
459   <b>procedure</b> <span class="symbol"><a name="ref_442_14" href="terminal_interface-curses-menus__adb.htm#ref_510_14">Set_Background</a></span>
460     (<span class="symbol"><a name="ref_443_7" href="terminal_interface-curses-menus__adb.htm#ref_511_7">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
461      <span class="symbol"><a name="ref_444_7" href="terminal_interface-curses-menus__adb.htm#ref_512_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>;
462      <span class="symbol"><a name="ref_445_7" href="terminal_interface-curses-menus__adb.htm#ref_513_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);
463   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_back()</A></em></span>
464   <b>pragma</b> Inline (Set_Background);
465
466   <span class="comment"><em>--  <A NAME="AFU_35">|</A></em></span>
467   <b>procedure</b> <span class="symbol"><a name="ref_450_14" href="terminal_interface-curses-menus__adb.htm#ref_526_14">Background</a></span> (<span class="symbol"><a name="ref_450_26" href="terminal_interface-curses-menus__adb.htm#ref_526_26">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
468                         <span class="symbol"><a name="ref_451_26" href="terminal_interface-curses-menus__adb.htm#ref_527_26">Back</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>);
469   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_back()</A></em></span>
470   <span class="comment"><em>--  <A NAME="AFU_36">|</A></em></span>
471
472   <b>procedure</b> <span class="symbol"><a name="ref_455_14" href="terminal_interface-curses-menus__adb.htm#ref_535_14">Background</a></span> (<span class="symbol"><a name="ref_455_26" href="terminal_interface-curses-menus__adb.htm#ref_535_26">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
473                         <span class="symbol"><a name="ref_456_26" href="terminal_interface-curses-menus__adb.htm#ref_536_26">Back</a></span>  : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>;
474                         <span class="symbol"><a name="ref_457_26" href="terminal_interface-curses-menus__adb.htm#ref_537_26">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>);
475   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_back()</A></em></span>
476   <b>pragma</b> Inline (Background);
477
478   <span class="comment"><em>--  <A NAME="AFU_37">|</A></em></span>
479   <b>procedure</b> <span class="symbol"><a name="ref_462_14" href="terminal_interface-curses-menus__adb.htm#ref_546_14">Set_Grey</a></span>
480     (<span class="symbol"><a name="ref_463_7" href="terminal_interface-curses-menus__adb.htm#ref_546_24">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
481      <span class="symbol"><a name="ref_464_7" href="terminal_interface-curses-menus__adb.htm#ref_547_24">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>;
482      <span class="symbol"><a name="ref_465_7" href="terminal_interface-curses-menus__adb.htm#ref_548_24">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);
483   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_grey()</A></em></span>
484   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_462_14">Set_Grey</a>);
485
486   <span class="comment"><em>--  <A NAME="AFU_38">|</A></em></span>
487   <b>procedure</b> <span class="symbol"><a name="ref_470_14" href="terminal_interface-curses-menus__adb.htm#ref_562_14">Grey</a></span> (<span class="symbol"><a name="ref_470_20" href="terminal_interface-curses-menus__adb.htm#ref_562_20">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
488                   <span class="symbol"><a name="ref_471_20" href="terminal_interface-curses-menus__adb.htm#ref_563_20">Grey</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>);
489   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_grey()</A></em></span>
490
491   <span class="comment"><em>--  <A NAME="AFU_39">|</A></em></span>
492   <b>procedure</b> <span class="symbol"><a name="ref_475_14" href="terminal_interface-curses-menus__adb.htm#ref_571_14">Grey</a></span>
493     (<span class="symbol"><a name="ref_476_7" href="terminal_interface-curses-menus__adb.htm#ref_571_20">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
494      <span class="symbol"><a name="ref_477_7" href="terminal_interface-curses-menus__adb.htm#ref_572_20">Grey</a></span>  : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>;
495      <span class="symbol"><a name="ref_478_7" href="terminal_interface-curses-menus__adb.htm#ref_573_20">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>);
496   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_grey()</A></em></span>
497   <b>pragma</b> Inline (Grey);
498
499   <span class="comment"><em>--  <A NAME="AFU_40">|</A></em></span>
500   <b>procedure</b> <span class="symbol"><a name="ref_483_14" href="terminal_interface-curses-menus__adb.htm#ref_582_14">Set_Pad_Character</a></span> (<span class="symbol"><a name="ref_483_33" href="terminal_interface-curses-menus__adb.htm#ref_582_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
501                                <span class="symbol"><a name="ref_484_33" href="terminal_interface-curses-menus__adb.htm#ref_583_33">Pad</a></span> : Character := Space);
502   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_pad()</A></em></span>
503   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_483_14">Set_Pad_Character</a>);
504
505   <span class="comment"><em>--  <A NAME="AFU_41">|</A></em></span>
506   <b>procedure</b> <span class="symbol"><a name="ref_489_14" href="terminal_interface-curses-menus__adb.htm#ref_593_14">Pad_Character</a></span> (<span class="symbol"><a name="ref_489_29" href="terminal_interface-curses-menus__adb.htm#ref_593_29">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
507                            <span class="symbol"><a name="ref_490_29" href="terminal_interface-curses-menus__adb.htm#ref_594_29">Pad</a></span> : <b>out</b> Character);
508   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_pad()</A></em></span>
509   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_489_14">Pad_Character</a>);
510
511   <span class="comment"><em>--  |=====================================================================</em></span>
512   <span class="comment"><em>--  | Man page <A HREF="../man/menu_spacing.3x.html">menu_spacing.3x</A></em></span>
513   <span class="comment"><em>--  |=====================================================================</em></span>
514
515   <span class="comment"><em>--  <A NAME="AFU_42">|</A></em></span>
516   <b>procedure</b> <span class="symbol"><a name="ref_499_14" href="terminal_interface-curses-menus__adb.htm#ref_602_14">Set_Spacing</a></span> (<span class="symbol"><a name="ref_499_27" href="terminal_interface-curses-menus__adb.htm#ref_602_27">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
517                          <span class="symbol"><a name="ref_500_27" href="terminal_interface-curses-menus__adb.htm#ref_603_27">Descr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> := 0;
518                          <span class="symbol"><a name="ref_501_27" href="terminal_interface-curses-menus__adb.htm#ref_604_27">Row</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>   := 0;
519                          <span class="symbol"><a name="ref_502_27" href="terminal_interface-curses-menus__adb.htm#ref_605_27">Col</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> := 0);
520   <span class="comment"><em>--  AKA: <A HREF="../man/menu_spacing.3x.html">set_menu_spacing()</A></em></span>
521   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_499_14">Set_Spacing</a>);
522
523   <span class="comment"><em>--  <A NAME="AFU_43">|</A></em></span>
524   <b>procedure</b> <span class="symbol"><a name="ref_507_14" href="terminal_interface-curses-menus__adb.htm#ref_618_14">Spacing</a></span> (<span class="symbol"><a name="ref_507_23" href="terminal_interface-curses-menus__adb.htm#ref_618_23">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
525                      <span class="symbol"><a name="ref_508_23" href="terminal_interface-curses-menus__adb.htm#ref_619_23">Descr</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
526                      <span class="symbol"><a name="ref_509_23" href="terminal_interface-curses-menus__adb.htm#ref_620_23">Row</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
527                      <span class="symbol"><a name="ref_510_23" href="terminal_interface-curses-menus__adb.htm#ref_621_23">Col</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>);
528   <span class="comment"><em>--  AKA: <A HREF="../man/menu_spacing.3x.html">menu_spacing()</A></em></span>
529   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_507_14">Spacing</a>);
530
531   <span class="comment"><em>--  |=====================================================================</em></span>
532   <span class="comment"><em>--  | Man page <A HREF="../man/menu_pattern.3x.html">menu_pattern.3x</A></em></span>
533   <span class="comment"><em>--  |=====================================================================</em></span>
534
535   <span class="comment"><em>--  <A NAME="AFU_44">|</A></em></span>
536   <b>function</b> <span class="symbol"><a name="ref_519_13" href="terminal_interface-curses-menus__adb.htm#ref_639_13">Set_Pattern</a></span> (<span class="symbol"><a name="ref_519_26" href="terminal_interface-curses-menus__adb.htm#ref_639_26">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
537                         <span class="symbol"><a name="ref_520_26" href="terminal_interface-curses-menus__adb.htm#ref_640_26">Text</a></span> : String) <b>return</b> Boolean;
538   <span class="comment"><em>--  AKA: <A HREF="../man/menu_pattern.3x.html">set_menu_pattern()</A></em></span>
539   <span class="comment"><em>--  Return TRUE if the pattern matches, FALSE otherwise</em></span>
540   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_519_13">Set_Pattern</a>);
541
542   <span class="comment"><em>--  <A NAME="AFU_45">|</A></em></span>
543   <b>procedure</b> <span class="symbol"><a name="ref_526_14" href="terminal_interface-curses-menus__adb.htm#ref_662_14">Pattern</a></span> (<span class="symbol"><a name="ref_526_23" href="terminal_interface-curses-menus__adb.htm#ref_662_23">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
544                      <span class="symbol"><a name="ref_527_23" href="terminal_interface-curses-menus__adb.htm#ref_663_23">Text</a></span> : <b>out</b> String);
545   <span class="comment"><em>--  AKA: <A HREF="../man/menu_pattern.3x.html">menu_pattern()</A></em></span>
546   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_526_14">Pattern</a>);
547
548   <span class="comment"><em>--  |=====================================================================</em></span>
549   <span class="comment"><em>--  | Man page <A HREF="../man/menu_format.3x.html">menu_format.3x</A></em></span>
550   <span class="comment"><em>--  |=====================================================================</em></span>
551
552   <span class="comment"><em>--  <A NAME="AFU_46">|</A></em></span>
553   <b>procedure</b> <span class="symbol"><a name="ref_536_14" href="terminal_interface-curses-menus__adb.htm#ref_671_14">Set_Format</a></span> (<span class="symbol"><a name="ref_536_26" href="terminal_interface-curses-menus__adb.htm#ref_671_26">Men</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
554                         <span class="symbol"><a name="ref_537_26" href="terminal_interface-curses-menus__adb.htm#ref_672_26">Lines</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
555                         <span class="symbol"><a name="ref_538_26" href="terminal_interface-curses-menus__adb.htm#ref_673_26">Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>);
556   <span class="comment"><em>--  Not implemented: 0 argument for Lines or Columns;</em></span>
557   <span class="comment"><em>--  instead use Format to get the current sizes</em></span>
558   <span class="comment"><em>--      The  default  format  is  16  rows,  1  column.    Calling</em></span>
559   <span class="comment"><em>--      set_menu_format  with a null menu pointer will change this</em></span>
560   <span class="comment"><em>--      default.  A zero row or column argument to set_menu_format</em></span>
561   <span class="comment"><em>--      is  interpreted  as  a  request  not to change the current</em></span>
562   <span class="comment"><em>--      value.</em></span>
563   <span class="comment"><em>--  AKA: <A HREF="../man/menu_format.3x.html">set_menu_format()</A></em></span>
564   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_536_14">Set_Format</a>);
565
566   <span class="comment"><em>--  <A NAME="AFU_47">|</A></em></span>
567   <b>procedure</b> <span class="symbol"><a name="ref_550_14" href="terminal_interface-curses-menus__adb.htm#ref_687_14">Format</a></span> (<span class="symbol"><a name="ref_550_22" href="terminal_interface-curses-menus__adb.htm#ref_687_22">Men</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
568                     <span class="symbol"><a name="ref_551_22" href="terminal_interface-curses-menus__adb.htm#ref_688_22">Lines</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
569                     <span class="symbol"><a name="ref_552_22" href="terminal_interface-curses-menus__adb.htm#ref_689_22">Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>);
570   <span class="comment"><em>--  AKA: <A HREF="../man/menu_format.3x.html">menu_format()</A></em></span>
571   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_550_14">Format</a>);
572
573   <span class="comment"><em>--  |=====================================================================</em></span>
574   <span class="comment"><em>--  | Man page <A HREF="../man/menu_hook.3x.html">menu_hook.3x</A></em></span>
575   <span class="comment"><em>--  |=====================================================================</em></span>
576
577   <b>type</b> <span class="symbol"><a name="ref_560_9">Menu_Hook_Function</a></span> <b>is</b> <b>access</b> <b>procedure</b> (<span class="symbol"><a name="ref_560_49">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>);
578   <b>pragma</b> Convention (C, <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>);
579
580   <span class="comment"><em>--  <A NAME="AFU_48">|</A></em></span>
581   <b>procedure</b> <span class="symbol"><a name="ref_564_14" href="terminal_interface-curses-menus__adb.htm#ref_703_14">Set_Item_Init_Hook</a></span> (<span class="symbol"><a name="ref_564_34" href="terminal_interface-curses-menus__adb.htm#ref_703_34">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
582                                 <span class="symbol"><a name="ref_565_34" href="terminal_interface-curses-menus__adb.htm#ref_704_34">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>);
583   <span class="comment"><em>--  AKA: <A HREF="../man/menu_hook.3x.html">set_item_init()</A></em></span>
584   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_564_14">Set_Item_Init_Hook</a>);
585
586   <span class="comment"><em>--  <A NAME="AFU_49">|</A></em></span>
587   <b>procedure</b> <span class="symbol"><a name="ref_570_14" href="terminal_interface-curses-menus__adb.htm#ref_714_14">Set_Item_Term_Hook</a></span> (<span class="symbol"><a name="ref_570_34" href="terminal_interface-curses-menus__adb.htm#ref_714_34">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
588                                 <span class="symbol"><a name="ref_571_34" href="terminal_interface-curses-menus__adb.htm#ref_715_34">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>);
589   <span class="comment"><em>--  AKA: <A HREF="../man/menu_hook.3x.html">set_item_term()</A></em></span>
590   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_570_14">Set_Item_Term_Hook</a>);
591
592   <span class="comment"><em>--  <A NAME="AFU_50">|</A></em></span>
593   <b>procedure</b> <span class="symbol"><a name="ref_576_14" href="terminal_interface-curses-menus__adb.htm#ref_725_14">Set_Menu_Init_Hook</a></span> (<span class="symbol"><a name="ref_576_34" href="terminal_interface-curses-menus__adb.htm#ref_725_34">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
594                                 <span class="symbol"><a name="ref_577_34" href="terminal_interface-curses-menus__adb.htm#ref_726_34">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>);
595   <span class="comment"><em>--  AKA: <A HREF="../man/menu_hook.3x.html">set_menu_init()</A></em></span>
596   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_576_14">Set_Menu_Init_Hook</a>);
597
598   <span class="comment"><em>--  <A NAME="AFU_51">|</A></em></span>
599   <b>procedure</b> <span class="symbol"><a name="ref_582_14" href="terminal_interface-curses-menus__adb.htm#ref_736_14">Set_Menu_Term_Hook</a></span> (<span class="symbol"><a name="ref_582_34" href="terminal_interface-curses-menus__adb.htm#ref_736_34">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
600                                 <span class="symbol"><a name="ref_583_34" href="terminal_interface-curses-menus__adb.htm#ref_737_34">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>);
601   <span class="comment"><em>--  AKA: <A HREF="../man/menu_hook.3x.html">set_menu_term()</A></em></span>
602   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_582_14">Set_Menu_Term_Hook</a>);
603
604   <span class="comment"><em>--  <A NAME="AFU_52">|</A></em></span>
605   <b>function</b> <span class="symbol"><a name="ref_588_13" href="terminal_interface-curses-menus__adb.htm#ref_747_13">Get_Item_Init_Hook</a></span> (<span class="symbol"><a name="ref_588_33" href="terminal_interface-curses-menus__adb.htm#ref_747_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>;
606   <span class="comment"><em>--  AKA: <A HREF="../man/menu_hook.3x.html">item_init()</A></em></span>
607   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_588_13">Get_Item_Init_Hook</a>);
608
609   <span class="comment"><em>--  <A NAME="AFU_53">|</A></em></span>
610   <b>function</b> <span class="symbol"><a name="ref_593_13" href="terminal_interface-curses-menus__adb.htm#ref_755_13">Get_Item_Term_Hook</a></span> (<span class="symbol"><a name="ref_593_33" href="terminal_interface-curses-menus__adb.htm#ref_755_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>;
611   <span class="comment"><em>--  AKA: <A HREF="../man/menu_hook.3x.html">item_term()</A></em></span>
612   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_593_13">Get_Item_Term_Hook</a>);
613
614   <span class="comment"><em>--  <A NAME="AFU_54">|</A></em></span>
615   <b>function</b> <span class="symbol"><a name="ref_598_13" href="terminal_interface-curses-menus__adb.htm#ref_763_13">Get_Menu_Init_Hook</a></span> (<span class="symbol"><a name="ref_598_33" href="terminal_interface-curses-menus__adb.htm#ref_763_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>;
616   <span class="comment"><em>--  AKA: <A HREF="../man/menu_hook.3x.html">menu_init()</A></em></span>
617   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_598_13">Get_Menu_Init_Hook</a>);
618
619   <span class="comment"><em>--  <A NAME="AFU_55">|</A></em></span>
620   <b>function</b> <span class="symbol"><a name="ref_603_13" href="terminal_interface-curses-menus__adb.htm#ref_771_13">Get_Menu_Term_Hook</a></span> (<span class="symbol"><a name="ref_603_33" href="terminal_interface-curses-menus__adb.htm#ref_771_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>;
621   <span class="comment"><em>--  AKA: <A HREF="../man/menu_hook.3x.html">menu_term()</A></em></span>
622   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_603_13">Get_Menu_Term_Hook</a>);
623
624   <span class="comment"><em>--  |=====================================================================</em></span>
625   <span class="comment"><em>--  | Man page <A HREF="../man/menu_items.3x.html">menu_items.3x</A></em></span>
626   <span class="comment"><em>--  |=====================================================================</em></span>
627
628   <span class="comment"><em>--  <A NAME="AFU_56">|</A></em></span>
629   <b>procedure</b> <span class="symbol"><a name="ref_612_14" href="terminal_interface-curses-menus__adb.htm#ref_779_14">Redefine</a></span> (<span class="symbol"><a name="ref_612_24" href="terminal_interface-curses-menus__adb.htm#ref_779_24">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
630                       <span class="symbol"><a name="ref_613_24" href="terminal_interface-curses-menus__adb.htm#ref_780_24">Items</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>);
631   <span class="comment"><em>--  AKA: <A HREF="../man/menu_items.3x.html">set_menu_items()</A></em></span>
632   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_612_14">Redefine</a>);
633
634   <b>procedure</b> <span class="symbol"><a name="ref_617_14">Set_Items</a></span> (<span class="symbol"><a name="ref_617_25">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
635                        <span class="symbol"><a name="ref_618_25">Items</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>) <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_612_14">Redefine</a>;
636   <span class="comment"><em>--  pragma Inline (Set_Items);</em></span>
637
638   <span class="comment"><em>--  <A NAME="AFU_57">|</A></em></span>
639   <b>function</b> <span class="symbol"><a name="ref_622_13" href="terminal_interface-curses-menus__adb.htm#ref_803_13">Items</a></span> (<span class="symbol"><a name="ref_622_20" href="terminal_interface-curses-menus__adb.htm#ref_803_20">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
640                   <span class="symbol"><a name="ref_623_20" href="terminal_interface-curses-menus__adb.htm#ref_804_20">Index</a></span> : Positive) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
641   <span class="comment"><em>--  AKA: <A HREF="../man/menu_items.3x.html">menu_items()</A></em></span>
642   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_622_13">Items</a>);
643
644   <span class="comment"><em>--  <A NAME="AFU_58">|</A></em></span>
645   <b>function</b> <span class="symbol"><a name="ref_628_13" href="terminal_interface-curses-menus__adb.htm#ref_795_13">Item_Count</a></span> (<span class="symbol"><a name="ref_628_25" href="terminal_interface-curses-menus__adb.htm#ref_795_25">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> Natural;
646   <span class="comment"><em>--  AKA: <A HREF="../man/menu_items.3x.html">item_count()</A></em></span>
647   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_628_13">Item_Count</a>);
648
649   <span class="comment"><em>--  |=====================================================================</em></span>
650   <span class="comment"><em>--  | Man page <A HREF="../man/menu_new.3x.html">menu_new.3x</A></em></span>
651   <span class="comment"><em>--  |=====================================================================</em></span>
652
653   <span class="comment"><em>--  <A NAME="AFU_59">|</A></em></span>
654   <b>function</b> <span class="symbol"><a name="ref_637_13" href="terminal_interface-curses-menus__adb.htm#ref_822_13">Create</a></span> (<span class="symbol"><a name="ref_637_21" href="terminal_interface-curses-menus__adb.htm#ref_822_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>;
655   <span class="comment"><em>--  AKA: <A HREF="../man/menu_new.3x.html">new_menu()</A></em></span>
656   <span class="comment"><em>--  Not inlined</em></span>
657
658   <b>function</b> New_Menu (<span class="symbol"><a name="ref_641_23">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> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_637_13">Create</a>;
659
660   <span class="comment"><em>--  <A NAME="AFU_60">|</A></em></span>
661   <b>procedure</b> <span class="symbol"><a name="ref_644_14" href="terminal_interface-curses-menus__adb.htm#ref_841_14">Delete</a></span> (<span class="symbol"><a name="ref_644_22" href="terminal_interface-curses-menus__adb.htm#ref_841_22">Men</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>);
662   <span class="comment"><em>--  AKA: <A HREF="../man/menu_new.3x.html">free_menu()</A></em></span>
663   <span class="comment"><em>--  Reset Men to Null_Menu</em></span>
664   <span class="comment"><em>--  Not inlined</em></span>
665
666   <span class="comment"><em>--  |=====================================================================</em></span>
667   <span class="comment"><em>--  | Man page <A HREF="../man/menu_driver.3x.html">menu_driver.3x</A></em></span>
668   <span class="comment"><em>--  |=====================================================================</em></span>
669
670   <b>type</b> <span class="symbol"><a name="ref_653_9">Driver_Result</a></span> <b>is</b> (<span class="symbol"><a name="ref_653_27">Menu_Ok</a></span>,
671                          <span class="symbol"><a name="ref_654_27">Request_Denied</a></span>,
672                          <span class="symbol"><a name="ref_655_27">Unknown_Request</a></span>,
673                          <span class="symbol"><a name="ref_656_27">No_Match</a></span>);
674
675   <span class="comment"><em>--  <A NAME="AFU_61">|</A></em></span>
676   <b>function</b> <span class="symbol"><a name="ref_659_13" href="terminal_interface-curses-menus__adb.htm#ref_852_13">Driver</a></span> (<span class="symbol"><a name="ref_659_21" href="terminal_interface-curses-menus__adb.htm#ref_852_21">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
677                    <span class="symbol"><a name="ref_660_21" href="terminal_interface-curses-menus__adb.htm#ref_853_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>;
678   <span class="comment"><em>--  AKA: <A HREF="../man/menu_driver.3x.html">menu_driver()</A></em></span>
679   <span class="comment"><em>--  Driver is not inlined</em></span>
680
681   <span class="comment"><em>--  <A NAME="AFU_62">|</A></em></span>
682   <span class="comment"><em>--  Not Implemented: menu_request_name, menu_request_by_name</em></span>
683<span class="comment"><em>-------------------------------------------------------------------------------</em></span>
684<b>private</b>
685   <b>type</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>   <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
686   <b>type</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>   <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
687
688   <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a> := 0;
689   <a href="terminal_interface-curses-menus__ads.htm#ref_59_4">Null_Menu</a> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a> := 0;
690
691<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>;
692</pre></body></html>
693