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