menus.mc revision 1.6 1 /* $NetBSD: menus.mc,v 1.6 1998/06/29 22:21:03 phil Exp $ */
2
3 /*
4 * Copyright 1997 Piermont Information Systems Inc.
5 * All rights reserved.
6 *
7 * Written by Philip A. Nelson for Piermont Information Systems Inc.
8 *
9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions
11 * are met:
12 * 1. Redistributions of source code must retain the above copyright
13 * notice, this list of conditions and the following disclaimer.
14 * 2. Redistributions in binary form must reproduce the above copyright
15 * notice, this list of conditions and the following disclaimer in the
16 * documentation and/or other materials provided with the distribution.
17 * 3. All advertising materials mentioning features or use of this software
18 * must display the following acknowledgement:
19 * This product includes software develooped for the NetBSD Project by
20 * Piermont Information Systems Inc.
21 * 4. The name of Piermont Information Systems Inc. may not be used to endorse
22 * or promote products derived from this software without specific prior
23 * written permission.
24 *
25 * THIS SOFTWARE IS PROVIDED BY PIERMONT INFORMATION SYSTEMS INC. ``AS IS''
26 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28 * ARE DISCLAIMED. IN NO EVENT SHALL PIERMONT INFORMATION SYSTEMS INC. BE
29 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
35 * THE POSSIBILITY OF SUCH DAMAGE.
36 *
37 */
38
39 {
40
41 /* Initial code for definitions and includes. */
42
43 }
44
45 default x=20, y=10;
46
47 error action { fprintf (stderr, "Testm: Could not initialize curses.\n");
48 exit(1); };
49
50 menu root, title " Main Menu of Test System";
51 option "Do nothing option",
52 action { }
53 ;
54 option "Try a sub menu",
55 sub menu submenu
56 ;
57 option "A scrollable menu",
58 sub menu scrollit
59 ;
60 option "Another scrollable menu",
61 sub menu scrollit2
62 ;
63 option "Big non-scrollable menu, bombs on small screens",
64 sub menu bigscroll;
65 option "Run a shell...",
66 action (endwin) { system ("/bin/sh"); }
67 ;
68 exit action (endwin) { printf ("Thanks for playing\n"); };
69 help {
70 Main Menu Help Screen
71
72 This is help text for the main menu of the menu test system. This
73 text should appear verbatim when asked for by use of the ? key by
74 the user. This should allow scrolling, if needed. If the first
75 character in the help is the newline (as the case for this help),
76 then that newline is not included in the help text.
77
78 Now this tests lines for scrolling:
79 10
80 11
81 12
82 13
83 14
84 15
85 16
86 17
87 18
88 19
89 20
90 21
91 22
92 23
93 24
94 25
95 26
96 27
97 28
98 29
99 30
100 31
101 32
102 33
103 34
104 35
105 36
106 37
107 38
108 39
109 40
110 41
111 42
112 43
113 44
114 45
115 46
116 47
117 48
118 49
119 50
120 51
121 52
122 53
123 54
124 55
125 56
126 57
127 58
128 59
129 60
130 61
131 62
132 63
133 64
134 65
135 66
136 67
137 68
138 69
139 70
140 71
141 72
142 73
143 74
144 75
145 76
146 77
147 78
148 79
149 80
150 };
151
152 menu submenu, title " submenu test";
153 option "upper right", sub menu upperright;
154 option "lower left", sub menu lowerleft;
155 option "middle, no title", sub menu middle;
156
157 menu upperright, title "upper right", y=2, x=60, no exit;
158 option "Just Exit!", exit;
159
160 menu lowerleft, title "lower left", y=20, x=2, no exit;
161 option "Just Exit!", exit;
162
163 menu middle, no box;
164 option "Just Exit!", exit;
165
166 menu scrollit, scrollable, h=4, title " Scrollable Menu";
167 option "option 1", action {};
168 option "option 2", action {};
169 option "option 3", action {};
170 option "option 4", action {};
171 option "option 5", action {};
172 option "option 6", action {};
173
174 menu bigscroll, no scrollable, title " Non-scrollable Menu";
175 option "option 1", action {};
176 option "option 2", action {};
177 option "option 3", action {};
178 option "option 4", action {};
179 option "option 5", action {};
180 option "option 6", action {};
181 option "option 7", action {};
182 option "option 8", action {};
183 option "option 9", action {};
184 option "option 10", action {};
185 option "option 11", action {};
186 option "option 12", action {};
187 option "option 13", action {};
188 option "option 14", action {};
189 option "option 15", action {};
190 option "option 16", action {};
191 option "option 17", action {};
192 option "option 18", action {};
193 option "option 19", action {};
194 option "option 20", action {};
195
196 menu scrollit2, scrollable, title " Big scrollable Menu";
197 option "option 1", action {};
198 option "option 2", action {};
199 option "option 3", action {};
200 option "option 4", action {};
201 option "option 5", action {};
202 option "option 6", action {};
203 option "option 7", action {};
204 option "option 8", action {};
205 option "option 9", action {};
206 option "option 10", action {};
207 option "option 11", action {};
208 option "option 12", action {};
209 option "option 13", action {};
210 option "option 14", action {};
211 option "option 15", action {};
212 option "option 16", action {};
213 option "option 17", action {};
214 option "option 18", action {};
215 option "option 19", action {};
216 option "option 20", action {};
217 option "option 21", action {};
218 option "option 22", action {};
219 option "option 23", action {};
220 option "option 24", action {};
221 option "option 25", action {};
222 option "option 26", action {};
223 option "option 27", action {};
224 option "option 28", action {};
225 option "option 29", action {};
226 option "option 30", action {};
227 option "option 31", action {};
228 option "option 32", action {};
229 option "option 33", action {};
230 option "option 34", action {};
231 option "option 35", action {};
232 option "option 36", action {};
233 option "option 37", action {};
234 option "option 38", action {};
235 option "option 39", action {};
236 option "option 40", action {};
237 option "option 41", action {};
238 option "option 42", action {};
239 option "option 43", action {};
240 option "option 44", action {};
241 option "option 45", action {};
242 option "option 46", action {};
243 option "option 47", action {};
244 option "option 48", action {};
245 option "option 49", action {};
246 option "option 50", action {};
247 option "option 51", action {};
248