35fec2c4 |
1 | // *++\r |
103b6520 |
2 | //\r |
35fec2c4 |
3 | // Copyright (c) 2006, Intel Corporation\r |
4 | // All rights reserved. This program and the accompanying materials\r |
5 | // are licensed and made available under the terms and conditions of the BSD License\r |
6 | // which accompanies this distribution. The full text of the license may be found at\r |
7 | // http://opensource.org/licenses/bsd-license.php\r |
103b6520 |
8 | //\r |
35fec2c4 |
9 | // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r |
10 | // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r |
103b6520 |
11 | //\r |
103b6520 |
12 | // Module Name:\r |
13 | //\r |
35fec2c4 |
14 | // Vfr.vfr\r |
15 | //\r |
103b6520 |
16 | // Abstract:\r |
35fec2c4 |
17 | //\r |
103b6520 |
18 | // Sample Setup formset\r |
35fec2c4 |
19 | //\r |
20 | // Revision History:\r |
21 | //\r |
103b6520 |
22 | // --*/\r |
23 | \r |
24 | \r |
35fec2c4 |
25 | \r |
103b6520 |
26 | #include "NVDataStruc.h"\r |
27 | \r |
28 | \r |
29 | typedef struct {\r |
30 | UINT8 Field8;\r |
31 | UINT16 Field16;\r |
32 | UINT8 OrderedList[3];\r |
33 | } MyIfrNVData2;\r |
34 | \r |
35 | typedef struct {\r |
36 | UINT8 Field8;\r |
37 | UINT16 Field16;\r |
38 | UINT8 OrderedList[3];\r |
39 | } MyIfrNVData3;\r |
40 | \r |
35fec2c4 |
41 | #define MY_TEXT_KEY 0x100\r |
103b6520 |
42 | \r |
43 | #define LABEL_1_VALUE 0x01\r |
44 | #define LABEL_2_VALUE 0x1000\r |
45 | #define LABEL_UPDATE_BBS 0x2222\r |
46 | #define LABEL_END_UPDATE_BBS 0x2223\r |
47 | \r |
35fec2c4 |
48 | formset\r |
103b6520 |
49 | guid = FORMSET_GUID,\r |
35fec2c4 |
50 | title = STRING_TOKEN(STR_FORM_SET_TITLE),\r |
51 | help = STRING_TOKEN(STR_FORM_SET_TITLE_HELP),\r |
52 | class = 0x10,\r |
103b6520 |
53 | subclass = 0,\r |
54 | \r |
55 | varstore MyIfrNVData2, key = 0x1234, name = MY_DATA2, guid = FORMSET_GUID;\r |
56 | \r |
35fec2c4 |
57 | varstore MyIfrNVData, key = 0x1324, name = MY_DATA1, guid = FORMSET_GUID;\r |
103b6520 |
58 | \r |
59 | varstore MyIfrNVData3, key = 0x4321, name = MY_DATA3, guid = FORMSET_GUID;\r |
60 | \r |
61 | form formid = 1,\r |
62 | title = STRING_TOKEN(STR_FORM1_TITLE); // note formid is a variable (for readability) (UINT16) - also added Form to the line to signify the Op-Code\r |
35fec2c4 |
63 | \r |
103b6520 |
64 | subtitle text = STRING_TOKEN(STR_SUBTITLE_TEXT);\r |
65 | \r |
66 | subtitle text = STRING_TOKEN(STR_SUBTITLE_TEXT2);\r |
67 | \r |
35fec2c4 |
68 | banner\r |
103b6520 |
69 | title = STRING_TOKEN(STR_BANNER_TITLE),\r |
70 | line 1,\r |
71 | align center;\r |
35fec2c4 |
72 | \r |
73 | banner\r |
103b6520 |
74 | title = STRING_TOKEN(STR_BANNER_TITLE),\r |
75 | line 2,\r |
76 | align left;\r |
77 | \r |
35fec2c4 |
78 | banner\r |
103b6520 |
79 | title = STRING_TOKEN(STR_BANNER_TITLE),\r |
80 | line 2,\r |
81 | align right;\r |
82 | \r |
35fec2c4 |
83 | text\r |
84 | help = STRING_TOKEN(STR_TEXT_HELP),\r |
103b6520 |
85 | text = STRING_TOKEN(STR_CPU_STRING),\r |
86 | text = STRING_TOKEN(STR_CPU_STRING2),\r |
87 | flags = 0,\r |
88 | key = 0;\r |
89 | \r |
35fec2c4 |
90 | text\r |
91 | help = STRING_TOKEN(STR_EXIT_TEXT),\r |
92 | text = STRING_TOKEN(STR_EXIT_TEXT),\r |
103b6520 |
93 | text = STRING_TOKEN(STR_EXIT_TEXT),\r |
94 | flags = INTERACTIVE,\r |
95 | key = 0x1237;\r |
96 | \r |
97 | oneof varid = MyIfrNVData.SuppressGrayOutSomething,\r |
98 | prompt = STRING_TOKEN(STR_ONE_OF_PROMPT),\r |
35fec2c4 |
99 | help = STRING_TOKEN(STR_ONE_OF_HELP),\r |
100 | option text = STRING_TOKEN(STR_ONE_OF_TEXT4), value = 0x0, flags = 0;\r |
103b6520 |
101 | option text = STRING_TOKEN(STR_ONE_OF_TEXT5), value = 0x1, flags = 0;\r |
102 | option text = STRING_TOKEN(STR_ONE_OF_TEXT6), value = 0x2, flags = DEFAULT;\r |
103 | endoneof;\r |
104 | \r |
105 | oneof varid = MyIfrNVData.BootOrderLarge,\r |
106 | prompt = STRING_TOKEN(STR_ONE_OF_PROMPT),\r |
35fec2c4 |
107 | help = STRING_TOKEN(STR_ONE_OF_HELP),\r |
108 | option text = STRING_TOKEN(STR_BOOT_ORDER1), value = 0x0, flags = INTERACTIVE, key = 1;\r |
103b6520 |
109 | option text = STRING_TOKEN(STR_BOOT_ORDER2), value = 0x1, flags = INTERACTIVE | DEFAULT, key = 2;\r |
110 | endoneof;\r |
111 | \r |
112 | grayoutif ideqval MyIfrNVData.SuppressGrayOutSomething == 0x1;\r |
113 | suppressif ideqval MyIfrNVData.SuppressGrayOutSomething == 0x0;\r |
114 | label 0;\r |
115 | checkbox varid = MyIfrNVData.ChooseToActivateNuclearWeaponry,\r |
116 | prompt = STRING_TOKEN(STR_CHECK_BOX_PROMPT),\r |
35fec2c4 |
117 | help = STRING_TOKEN(STR_CHECK_BOX_HELP),\r |
103b6520 |
118 | flags = 1, // Flags behavior for checkbox is overloaded so that it equals a DEFAULT value. 1 = ON, 0 = off\r |
119 | key = 0,\r |
120 | endcheckbox;\r |
121 | endif;\r |
122 | \r |
123 | \r |
124 | //\r |
35fec2c4 |
125 | // Ordered list:\r |
103b6520 |
126 | // sizeof(MyIfrNVData) storage must be UINT8 array, and\r |
127 | // size written for the variable must be size of the entire\r |
128 | // variable.\r |
129 | //\r |
130 | //\r |
131 | suppressif ideqval MyIfrNVData.SuppressGrayOutSomething == 0x0;\r |
132 | label LABEL_UPDATE_BBS;\r |
133 | orderedlist\r |
134 | varid = MyIfrNVData.BootOrder,\r |
135 | prompt = STRING_TOKEN(STR_BOOT_OPTIONS),\r |
136 | help = STRING_TOKEN(STR_NULL_STRING),\r |
137 | option text = STRING_TOKEN(STR_BOOT_OPTION2), value = 2, flags = RESET_REQUIRED;\r |
138 | option text = STRING_TOKEN(STR_BOOT_OPTION1), value = 1, flags = RESET_REQUIRED;\r |
139 | option text = STRING_TOKEN(STR_BOOT_OPTION3), value = 3, flags = RESET_REQUIRED;\r |
140 | option text = STRING_TOKEN(STR_BOOT_OPTION4), value = 4, flags = RESET_REQUIRED;\r |
35fec2c4 |
141 | endlist;\r |
103b6520 |
142 | label LABEL_END_UPDATE_BBS;\r |
143 | endif;\r |
35fec2c4 |
144 | \r |
103b6520 |
145 | suppressif ideqval MyIfrNVData.SuppressGrayOutSomething == 0x2;\r |
35fec2c4 |
146 | orderedlist\r |
103b6520 |
147 | varid = MyIfrNVData.OrderedList,\r |
148 | prompt = STRING_TOKEN(STR_TEST_OPCODE),\r |
35fec2c4 |
149 | help = STRING_TOKEN(STR_TEXT_HELP),\r |
103b6520 |
150 | option text = STRING_TOKEN(STR_ONE_OF_TEXT1), value = 4, flags = RESET_REQUIRED;\r |
151 | option text = STRING_TOKEN(STR_ONE_OF_TEXT2), value = 3, flags = RESET_REQUIRED;\r |
152 | option text = STRING_TOKEN(STR_ONE_OF_TEXT3), value = 2, flags = RESET_REQUIRED;\r |
153 | option text = STRING_TOKEN(STR_TEXT_HELP), value = 1, flags = RESET_REQUIRED;\r |
154 | endlist;\r |
155 | endif;\r |
35fec2c4 |
156 | \r |
103b6520 |
157 | label 100;\r |
158 | \r |
35fec2c4 |
159 | goto 0x1234,\r |
160 | prompt = STRING_TOKEN(STR_GOTO_DYNAMIC),\r |
103b6520 |
161 | help = STRING_TOKEN(STR_GOTO_HELP),\r |
35fec2c4 |
162 | flags = INTERACTIVE,\r |
103b6520 |
163 | key = 0x1234;\r |
164 | \r |
35fec2c4 |
165 | goto 0x1234,\r |
166 | prompt = STRING_TOKEN(STR_GOTO_DYNAMIC2),\r |
103b6520 |
167 | help = STRING_TOKEN(STR_GOTO_HELP),\r |
35fec2c4 |
168 | flags = INTERACTIVE,\r |
103b6520 |
169 | key = 0x1235;\r |
35fec2c4 |
170 | \r |
103b6520 |
171 | //\r |
172 | // VARSTORE tests\r |
173 | //\r |
174 | // Till now, been using variable NvData (must be reserved)\r |
175 | // now we do a varselect for variable NvData3\r |
176 | inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),\r |
177 | ideqid MyIfrNVData3.Field16 == MyIfrNVData3.Field16\r |
178 | endif;\r |
179 | // now we do a varselect_pair for variable NvData2 and NvData3\r |
180 | inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),\r |
181 | ideqid MyIfrNVData2.Field16 == MyIfrNVData3.Field16\r |
182 | endif;\r |
183 | \r |
184 | \r |
185 | // now we do a varselect_pair for variable NvData and NvData2\r |
186 | // inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),\r |
187 | // ideqid MyIfrNVData2.Field16 == MyIfrNVData.TestLateCheck\r |
188 | // endif;\r |
189 | \r |
190 | inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),\r |
191 | ideqid MyIfrNVData.TestLateCheck == MyIfrNVData.TestLateCheck2\r |
192 | endif;\r |
193 | \r |
194 | oneof varid = MyIfrNVData.TestLateCheck,\r |
195 | prompt = STRING_TOKEN(STR_TEST_OPCODE),\r |
35fec2c4 |
196 | help = STRING_TOKEN(STR_ONE_OF_HELP),\r |
103b6520 |
197 | option text = STRING_TOKEN(STR_ONE_OF_TEXT1), value = 0, flags = LATE_CHECK | RESET_REQUIRED;\r |
198 | option text = STRING_TOKEN(STR_ONE_OF_TEXT2), value = 1, flags = LATE_CHECK | DEFAULT | RESET_REQUIRED;\r |
199 | endoneof;\r |
200 | \r |
201 | oneof varid = MyIfrNVData.TestLateCheck2,\r |
202 | prompt = STRING_TOKEN(STR_TEST_OPCODE2),\r |
35fec2c4 |
203 | help = STRING_TOKEN(STR_ONE_OF_HELP),\r |
103b6520 |
204 | option text = STRING_TOKEN(STR_ONE_OF_TEXT1), value = 0, flags = LATE_CHECK | DEFAULT | RESET_REQUIRED;\r |
205 | option text = STRING_TOKEN(STR_ONE_OF_TEXT2), value = 1, flags = LATE_CHECK | RESET_REQUIRED;\r |
206 | \r |
207 | endoneof;\r |
208 | \r |
209 | oneof varid = MyIfrNVData.QuestionAboutTreeHugging,\r |
210 | prompt = STRING_TOKEN(STR_ONE_OF_PROMPT),\r |
35fec2c4 |
211 | help = STRING_TOKEN(STR_ONE_OF_HELP),\r |
103b6520 |
212 | option text = STRING_TOKEN(STR_ONE_OF_TEXT1), value = 0, flags = RESET_REQUIRED;\r |
213 | option text = STRING_TOKEN(STR_ONE_OF_TEXT2), value = 1, flags = DEFAULT | RESET_REQUIRED;\r |
214 | option text = STRING_TOKEN(STR_ONE_OF_TEXT3), value = 0x03, flags = RESET_REQUIRED;\r |
215 | \r |
216 | endoneof;\r |
217 | \r |
218 | string varid = MyIfrNVData.MyStringData,\r |
219 | prompt = STRING_TOKEN(STR_MY_STRING_PROMPT2),\r |
220 | help = STRING_TOKEN(STR_MY_STRING_HELP2),\r |
221 | flags = INTERACTIVE,\r |
222 | key = 0x1234,\r |
223 | minsize = 6,\r |
224 | maxsize = 0x14,\r |
35fec2c4 |
225 | endstring;\r |
103b6520 |
226 | \r |
35fec2c4 |
227 | text\r |
228 | help = STRING_TOKEN(STR_GRAYOUT_TEST),\r |
103b6520 |
229 | text = STRING_TOKEN(STR_GRAYOUT_TEST),\r |
230 | text = STRING_TOKEN(STR_GRAYOUT_TEST),\r |
231 | flags = INTERACTIVE,\r |
232 | key = 0x1555;\r |
233 | \r |
35fec2c4 |
234 | text\r |
235 | help = STRING_TOKEN(STR_SUPPRESS_TEST),\r |
103b6520 |
236 | text = STRING_TOKEN(STR_SUPPRESS_TEST),\r |
237 | text = STRING_TOKEN(STR_SUPPRESS_TEST),\r |
238 | flags = INTERACTIVE,\r |
239 | key = 0x1556;\r |
240 | \r |
35fec2c4 |
241 | text\r |
242 | help = STRING_TOKEN(STR_CLEAR_TEST),\r |
103b6520 |
243 | text = STRING_TOKEN(STR_CLEAR_TEST),\r |
244 | text = STRING_TOKEN(STR_CLEAR_TEST),\r |
245 | flags = INTERACTIVE,\r |
246 | key = 0x1557;\r |
247 | \r |
248 | grayoutif vareqval var(VAR_EQ_TEST_NAME) == 0x1;\r |
35fec2c4 |
249 | suppressif vareqval var(VAR_EQ_TEST_NAME) == 0x1000;\r |
103b6520 |
250 | label 30;\r |
251 | checkbox varid = MyIfrNVData.ChooseToActivateNuclearWeaponry,\r |
252 | prompt = STRING_TOKEN(STR_CHECK_BOX_PROMPT),\r |
35fec2c4 |
253 | help = STRING_TOKEN(STR_CHECK_BOX_HELP),\r |
103b6520 |
254 | flags = 1,\r |
255 | key = 0,\r |
256 | endcheckbox;\r |
257 | endif;\r |
258 | \r |
259 | \r |
35fec2c4 |
260 | numeric varid = MyIfrNVData.HowOldAreYouInYearsManual,\r |
103b6520 |
261 | prompt = STRING_TOKEN(STR_NUMERIC_MANUAL_PROMPT),\r |
262 | help = STRING_TOKEN(STR_NUMERIC_HELP0),\r |
263 | minimum = 0,\r |
264 | maximum = 0xf0, // 0xf0 = 240 in decimal\r |
265 | step = 0, // Stepping of 0 equates to a manual entering\r |
266 | // of a value, otherwise it will auto-increment\r |
267 | // with a left/right arrow\r |
35fec2c4 |
268 | default = 21,\r |
103b6520 |
269 | \r |
270 | endnumeric;\r |
271 | \r |
35fec2c4 |
272 | numeric varid = MyIfrNVData.HowTallAreYouManual,\r |
103b6520 |
273 | prompt = STRING_TOKEN(STR_TALL_MANUAL_PROMPT),\r |
274 | help = STRING_TOKEN(STR_NUMERIC_HELP1),\r |
275 | minimum = 0,\r |
276 | maximum = 300,\r |
277 | step = 0, // Stepping of 0 equates to a manual entering\r |
278 | // of a value, otherwise it will auto-increment\r |
279 | // with a left/right arrow\r |
35fec2c4 |
280 | default = 175,\r |
103b6520 |
281 | \r |
282 | endnumeric;\r |
283 | \r |
284 | inventory\r |
285 | help = STRING_TOKEN(STR_INVENTORY_HELP),\r |
286 | text = STRING_TOKEN(STR_INVENTORY_TEXT1),\r |
287 | text = STRING_TOKEN(STR_INVENTORY_TEXT2);\r |
288 | \r |
35fec2c4 |
289 | \r |
103b6520 |
290 | restore defaults,\r |
291 | formid = 4,\r |
292 | prompt = STRING_TOKEN(STR_RESTORE_DEFAULTS_PROMPT),\r |
293 | help = STRING_TOKEN(STR_RESTORE_DEFAULTS_HELP),\r |
294 | flags = 0,\r |
295 | key = 0;\r |
296 | \r |
297 | save defaults,\r |
298 | formid = 4,\r |
299 | prompt = STRING_TOKEN(STR_SAVE_DEFAULTS_PROMPT),\r |
300 | help = STRING_TOKEN(STR_SAVE_DEFAULTS_HELP),\r |
301 | flags = 0,\r |
302 | key = 0;\r |
303 | \r |
35fec2c4 |
304 | //\r |
103b6520 |
305 | // Case with no flags or key\r |
306 | //\r |
307 | save defaults,\r |
308 | formid = 4,\r |
309 | prompt = STRING_TOKEN(STR_SAVE_DEFAULTS_PROMPT),\r |
310 | help = STRING_TOKEN(STR_SAVE_DEFAULTS_HELP);\r |
311 | //\r |
312 | // Case with no key\r |
313 | //\r |
314 | save defaults,\r |
315 | formid = 4,\r |
316 | prompt = STRING_TOKEN(STR_SAVE_DEFAULTS_PROMPT),\r |
317 | help = STRING_TOKEN(STR_SAVE_DEFAULTS_HELP),\r |
318 | flags = 0;\r |
319 | //\r |
320 | // Case with no flags\r |
321 | //\r |
322 | save defaults,\r |
323 | formid = 4,\r |
324 | prompt = STRING_TOKEN(STR_SAVE_DEFAULTS_PROMPT),\r |
325 | help = STRING_TOKEN(STR_SAVE_DEFAULTS_HELP),\r |
326 | key = 0;\r |
327 | \r |
328 | label LABEL_2_VALUE;\r |
329 | \r |
330 | grayoutif ideqval MyIfrNVData.HowOldAreYouInYearsManual == 23 AND ideqval MyIfrNVData.SuppressGrayOutSomething == 0x1;\r |
35fec2c4 |
331 | numeric varid = MyIfrNVData.HowOldAreYouInYears,\r |
103b6520 |
332 | prompt = STRING_TOKEN(STR_NUMERIC_PROMPT),\r |
333 | help = STRING_TOKEN(STR_NUMERIC_HELP2),\r |
334 | minimum = 0,\r |
335 | maximum = 243,\r |
336 | step = 3,\r |
337 | default = 18,\r |
338 | \r |
339 | endnumeric;\r |
340 | \r |
341 | label LABEL_1_VALUE;\r |
342 | \r |
343 | //\r |
344 | // Numeric with no step or default specified\r |
345 | //\r |
35fec2c4 |
346 | numeric varid = MyIfrNVData.HowTallAreYou,\r |
103b6520 |
347 | prompt = STRING_TOKEN(STR_NUMERIC_PROMPT1),\r |
348 | help = STRING_TOKEN(STR_NUMERIC_HELP3),\r |
349 | minimum = 0,\r |
350 | maximum = 190,\r |
351 | // step = 1, // Stepping of 1 if not specified\r |
352 | // default = minimum; // if not specified\r |
353 | endnumeric;\r |
354 | endif;\r |
355 | \r |
356 | string varid = MyIfrNVData.MyStringData,\r |
357 | prompt = STRING_TOKEN(STR_MY_STRING_PROMPT),\r |
358 | help = STRING_TOKEN(STR_MY_STRING_HELP),\r |
359 | minsize = 6,\r |
360 | maxsize = 0x14,\r |
35fec2c4 |
361 | endstring;\r |
362 | \r |
103b6520 |
363 | password varid = MyIfrNVData.WhatIsThePassword,\r |
364 | prompt = STRING_TOKEN(STR_PASSWORD_PROMPT),\r |
365 | help = STRING_TOKEN(STR_PASSWORD_HELP),\r |
366 | minsize = 6,\r |
35fec2c4 |
367 | maxsize = 20, // new opcode\r |
103b6520 |
368 | encoding = 1,\r |
35fec2c4 |
369 | endpassword;\r |
103b6520 |
370 | password varid = MyIfrNVData.WhatIsThePassword2,\r |
371 | prompt = STRING_TOKEN(STR_PASSWORD_PROMPT),\r |
372 | help = STRING_TOKEN(STR_PASSWORD_HELP),\r |
373 | minsize = 6,\r |
35fec2c4 |
374 | maxsize = 20, // new opcode\r |
103b6520 |
375 | encoding = 1,\r |
35fec2c4 |
376 | endpassword;\r |
103b6520 |
377 | //\r |
378 | // Test with flags and key fields\r |
379 | //\r |
380 | password varid = MyIfrNVData.WhatIsThePassword,\r |
381 | prompt = STRING_TOKEN(STR_PASSWORD_PROMPT),\r |
382 | help = STRING_TOKEN(STR_PASSWORD_HELP),\r |
383 | flags = INTERACTIVE,\r |
384 | key = 0x2000,\r |
385 | minsize = 6,\r |
35fec2c4 |
386 | maxsize = 20, // new opcode\r |
103b6520 |
387 | encoding = 1,\r |
388 | endpassword;\r |
389 | \r |
35fec2c4 |
390 | goto 2,\r |
103b6520 |
391 | prompt = STRING_TOKEN(STR_GOTO_FORM2), //SecondSetupPage // this too has no end-op and basically it's a jump to a form ONLY\r |
392 | help = STRING_TOKEN(STR_GOTO_HELP);\r |
393 | \r |
35fec2c4 |
394 | goto 3,\r |
103b6520 |
395 | prompt = STRING_TOKEN(STR_GOTO_FORM3), //ThirdSetupPage // this too has no end-op and basically it's a jump to a form ONLY\r |
396 | help = STRING_TOKEN(STR_GOTO_HELP);\r |
397 | \r |
398 | endform;\r |
399 | \r |
35fec2c4 |
400 | form formid = 2, // SecondSetupPage,\r |
103b6520 |
401 | title = STRING_TOKEN(STR_FORM2_TITLE); // note formid is a variable (for readability) (UINT16) - also added Form to the line to signify the Op-Code\r |
402 | \r |
403 | \r |
404 | date year varid = Date.Year, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from\r |
405 | prompt = STRING_TOKEN(STR_DATE_PROMPT),\r |
406 | help = STRING_TOKEN(STR_DATE_YEAR_HELP),\r |
407 | minimum = 1998,\r |
408 | maximum = 2099,\r |
409 | step = 1,\r |
410 | default = 2004,\r |
411 | \r |
412 | month varid = Date.Month, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from\r |
413 | prompt = STRING_TOKEN(STR_DATE_PROMPT),\r |
414 | help = STRING_TOKEN(STR_DATE_MONTH_HELP),\r |
415 | minimum = 1,\r |
416 | maximum = 12,\r |
417 | step = 1,\r |
418 | default = 1,\r |
419 | \r |
420 | day varid = Date.Day, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from\r |
421 | prompt = STRING_TOKEN(STR_DATE_PROMPT),\r |
422 | help = STRING_TOKEN(STR_DATE_DAY_HELP),\r |
423 | minimum = 1,\r |
424 | maximum = 31,\r |
425 | step = 0x1,\r |
426 | default = 1,\r |
427 | \r |
428 | enddate;\r |
429 | \r |
430 | time hour varid = Time.Hours, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from\r |
431 | prompt = STRING_TOKEN(STR_TIME_PROMPT),\r |
432 | help = STRING_TOKEN(STR_TIME_HOUR_HELP),\r |
433 | minimum = 0,\r |
434 | maximum = 23,\r |
435 | step = 1,\r |
436 | default = 0,\r |
437 | \r |
438 | minute varid = Time.Minutes, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from\r |
439 | prompt = STRING_TOKEN(STR_TIME_PROMPT),\r |
440 | help = STRING_TOKEN(STR_TIME_MINUTE_HELP),\r |
441 | minimum = 0,\r |
442 | maximum = 59,\r |
443 | step = 1,\r |
444 | default = 0,\r |
445 | \r |
446 | second varid = Time.Seconds, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from\r |
447 | prompt = STRING_TOKEN(STR_TIME_PROMPT),\r |
448 | help = STRING_TOKEN(STR_TIME_SECOND_HELP),\r |
449 | minimum = 0,\r |
450 | maximum = 59,\r |
451 | step = 1,\r |
452 | default = 0,\r |
453 | \r |
454 | endtime;\r |
455 | \r |
456 | date year varid = Date.Year, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from\r |
457 | prompt = STRING_TOKEN(STR_DATE_PROMPT),\r |
458 | help = STRING_TOKEN(STR_DATE_YEAR_HELP),\r |
459 | minimum = 1939,\r |
460 | maximum = 2101,\r |
461 | step = 1,\r |
462 | default = 1964,\r |
463 | \r |
464 | month varid = Date.Month, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from\r |
465 | prompt = STRING_TOKEN(STR_DATE_PROMPT),\r |
466 | help = STRING_TOKEN(STR_DATE_MONTH_HELP),\r |
467 | minimum = 1,\r |
468 | maximum = 12,\r |
469 | step = 1,\r |
470 | default = 1,\r |
471 | \r |
472 | day varid = Date.Day, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from\r |
473 | prompt = STRING_TOKEN(STR_DATE_PROMPT),\r |
474 | help = STRING_TOKEN(STR_DATE_DAY_HELP),\r |
475 | minimum = 1,\r |
476 | maximum = 31,\r |
477 | step = 0x1,\r |
478 | default = 1,\r |
479 | \r |
480 | enddate;\r |
481 | \r |
482 | time hour varid = Time.Hours, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from\r |
483 | prompt = STRING_TOKEN(STR_TIME_PROMPT),\r |
484 | help = STRING_TOKEN(STR_TIME_HOUR_HELP),\r |
485 | minimum = 0,\r |
486 | maximum = 23,\r |
487 | step = 1,\r |
488 | default = 0,\r |
489 | \r |
490 | minute varid = Time.Minutes, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from\r |
491 | prompt = STRING_TOKEN(STR_TIME_PROMPT),\r |
492 | help = STRING_TOKEN(STR_TIME_MINUTE_HELP),\r |
493 | minimum = 0,\r |
494 | maximum = 59,\r |
495 | step = 1,\r |
496 | default = 0,\r |
497 | \r |
498 | second varid = Time.Seconds, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from\r |
499 | prompt = STRING_TOKEN(STR_TIME_PROMPT),\r |
500 | help = STRING_TOKEN(STR_TIME_SECOND_HELP),\r |
501 | minimum = 0,\r |
502 | maximum = 59,\r |
503 | step = 1,\r |
504 | default = 0,\r |
505 | \r |
506 | endtime;\r |
507 | \r |
35fec2c4 |
508 | grayoutif\r |
103b6520 |
509 | ideqval Date.Day == 21\r |
510 | AND\r |
511 | ideqval Date.Month == 8;\r |
35fec2c4 |
512 | \r |
103b6520 |
513 | hidden value = 32, key = 0x7777;\r |
514 | \r |
515 | endif; // grayoutif\r |
516 | \r |
517 | suppressif\r |
518 | ideqval Date.Day == 8\r |
519 | AND\r |
35fec2c4 |
520 | ideqval Date.Month == 21;\r |
521 | \r |
103b6520 |
522 | hidden value = 32, key = 0x7777;\r |
523 | \r |
524 | endif; // suppressif\r |
525 | \r |
526 | \r |
527 | hidden value = 32, key = 0x1234;\r |
528 | \r |
529 | inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),\r |
530 | ideqval MyIfrNVData.HowOldAreYouInYearsManual == 4\r |
531 | endif;\r |
35fec2c4 |
532 | \r |
103b6520 |
533 | inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),\r |
534 | ideqvallist MyIfrNVData.HowOldAreYouInYearsManual == 1 2 3 4\r |
535 | endif;\r |
536 | \r |
537 | inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),\r |
538 | ideqid MyIfrNVData.HowOldAreYouInYearsManual == MyIfrNVData.MyFavoriteNumber\r |
539 | endif;\r |
540 | \r |
35fec2c4 |
541 | // grayoutif\r |
103b6520 |
542 | //\r |
543 | // If the day is 31 AND months is any of the following 2, 4, 6, 9, 11\r |
544 | //\r |
545 | inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),\r |
35fec2c4 |
546 | ideqval Date.Day == 31\r |
103b6520 |
547 | AND\r |
548 | ideqvallist Date.Month == 2 4 6 9 11\r |
549 | endif;\r |
550 | \r |
551 | //\r |
552 | // If the day is 30 AND month is 2\r |
553 | //\r |
554 | inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),\r |
555 | ideqval Date.Day == 30\r |
556 | AND\r |
557 | ideqval Date.Month == 2\r |
558 | endif;\r |
559 | \r |
560 | //\r |
561 | // If the day is 29 AND month is 2 AND it year is NOT a leapyear\r |
562 | //\r |
563 | inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),\r |
564 | ideqval Date.Day == 0x1D\r |
565 | AND\r |
35fec2c4 |
566 | ideqval Date.Month == 2\r |
103b6520 |
567 | AND\r |
568 | NOT\r |
569 | ideqvallist Date.Year == 2004 2008 20012 20016 2020 2024 2028 2032 2036\r |
570 | endif;\r |
571 | \r |
572 | checkbox varid = MyIfrNVData.ChooseToActivateNuclearWeaponry,\r |
573 | prompt = STRING_TOKEN(STR_CHECK_BOX_PROMPT),\r |
35fec2c4 |
574 | help = STRING_TOKEN(STR_CHECK_BOX_HELP),\r |
103b6520 |
575 | flags = 1,\r |
576 | key = 0,\r |
577 | endcheckbox;\r |
578 | \r |
35fec2c4 |
579 | text\r |
580 | help = STRING_TOKEN(STR_TEXT_HELP),\r |
103b6520 |
581 | text = STRING_TOKEN(STR_TEXT_TEXT_1);\r |
35fec2c4 |
582 | \r |
583 | text\r |
584 | help = STRING_TOKEN(STR_TEXT_HELP),\r |
103b6520 |
585 | text = STRING_TOKEN(STR_TEXT_TEXT_1),\r |
586 | text = STRING_TOKEN(STR_TEXT_TEXT_2),\r |
587 | flags = 0,\r |
588 | key = MY_TEXT_KEY;\r |
35fec2c4 |
589 | \r |
590 | goto 1,\r |
103b6520 |
591 | prompt = STRING_TOKEN(STR_GOTO_FORM1), //MainSetupPage // this too has no end-op and basically it's a jump to a form ONLY\r |
592 | help = STRING_TOKEN(STR_GOTO_HELP);\r |
593 | \r |
594 | endform;\r |
595 | \r |
596 | form formid = 3, title = STRING_TOKEN(STR_FORM3_TITLE); // note formid is a variable (for readability) (UINT16) - also added Form to the line to signify the Op-Code\r |
597 | \r |
598 | grayoutif ideqval MyIfrNVData.SuppressGrayOutSomething == 0x1;\r |
35fec2c4 |
599 | text\r |
600 | help = STRING_TOKEN(STR_TEXT_HELP),\r |
103b6520 |
601 | text = STRING_TOKEN(STR_TEXT_TEXT_1);\r |
35fec2c4 |
602 | \r |
103b6520 |
603 | endif; //end grayoutif\r |
35fec2c4 |
604 | \r |
605 | text\r |
606 | help = STRING_TOKEN(STR_TEXT_HELP),\r |
103b6520 |
607 | text = STRING_TOKEN(STR_TEXT_TEXT_1);\r |
35fec2c4 |
608 | \r |
103b6520 |
609 | endform;\r |
35fec2c4 |
610 | \r |
103b6520 |
611 | form formid = 4, title = STRING_TOKEN(STR_FORM3_TITLE);\r |
612 | \r |
613 | endform;\r |
614 | \r |
35fec2c4 |
615 | form formid = 0x1234, // Dynamically created page,\r |
103b6520 |
616 | title = STRING_TOKEN(STR_DYNAMIC_TITLE); // note formid is a variable (for readability) (UINT16) - also added Form to the line to signify the Op-Code\r |
617 | \r |
618 | label 0x1234;\r |
619 | \r |
620 | endform;\r |
621 | \r |
622 | endformset;\r |