]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/DriverSampleDxe/Vfr.vfr
Add disableif statement example, and suppressif form example.
[mirror_edk2.git] / MdeModulePkg / Universal / DriverSampleDxe / Vfr.vfr
index e8aae2b4d1f8e69a834f44c687e3542347719ab5..8a0a863e3fe80cf993b2945a03ea1db6ffa5d24d 100644 (file)
@@ -153,9 +153,9 @@ formset
     oneof varid  = MyIfrNVData.BootOrderLarge,\r
       prompt      = STRING_TOKEN(STR_ONE_OF_PROMPT),\r
       help        = STRING_TOKEN(STR_ONE_OF_HELP),\r
-      default value = cond (questionref(MyOneOf) == 0x0 ? 0 : 1),\r
+      default value = cond (pushthis == 0 ? 0 : cond ((questionref(MyOneOf) >> 0x4 & 0xF00) == 0x0 + 0x2 ? 0 : 1)),\r
       option text = STRING_TOKEN(STR_BOOT_ORDER1), value = 0x0, flags = 0;\r
-      option text = STRING_TOKEN(STR_BOOT_ORDER2), value = 0x1, flags = DEFAULT;\r
+      option text = STRING_TOKEN(STR_BOOT_ORDER2), value = 0x1, flags = 0;\r
     endoneof;\r
 \r
     grayoutif  ideqval MyIfrNVData.SuppressGrayOutSomething == 0x1;\r
@@ -209,7 +209,7 @@ formset
 \r
     endif;    // end suppressif\r
 \r
-    suppressif ideqval MyIfrNVData.SuppressGrayOutSomething == 0x2;\r
+    disableif ideqval MyIfrNVData.SuppressGrayOutSomething == 0x2;\r
       orderedlist\r
         varid       = MyIfrNVData.OrderedList,\r
         prompt      = STRING_TOKEN(STR_TEST_OPCODE),\r
@@ -313,9 +313,10 @@ formset
     endnumeric;\r
 \r
     numeric varid   = MyEfiVar,                           // Reference of EFI variable storage\r
+            questionid  = 0x1111,\r
             prompt  = STRING_TOKEN(STR_TALL_HEX_PROMPT),\r
             help    = STRING_TOKEN(STR_NUMERIC_HELP1),\r
-            flags   = DISPLAY_UINT_HEX,                   // Display in HEX format (if not specified, default is in decimal format)\r
+            flags   = DISPLAY_UINT_HEX | INTERACTIVE,     // Display in HEX format (if not specified, default is in decimal format)\r
             minimum = 0,\r
             maximum = 250,\r
             default = 175,\r
@@ -389,110 +390,112 @@ formset
 \r
   endform;\r
 \r
-  form formid = 2,               // SecondSetupPage,\r
-    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
-\r
-\r
-    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
-            prompt      = STRING_TOKEN(STR_DATE_PROMPT),\r
-            help        = STRING_TOKEN(STR_DATE_HELP),\r
-            minimum     = 1998,\r
-            maximum     = 2099,\r
-            step        = 1,\r
-            default     = 2004,\r
-\r
-            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
-            prompt      = STRING_TOKEN(STR_DATE_PROMPT),\r
-            help        = STRING_TOKEN(STR_DATE_HELP),\r
-            minimum     = 1,\r
-            maximum     = 12,\r
-            step        = 1,\r
-            default     = 1,\r
-\r
-            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
-            prompt      = STRING_TOKEN(STR_DATE_PROMPT),\r
-            help        = STRING_TOKEN(STR_DATE_HELP),\r
-            minimum     = 1,\r
-            maximum     = 31,\r
-            step        = 0x1,\r
-            default     = 1,\r
+  suppressif ideqval MyIfrNVData.BootOrderLarge == 0;\r
+    form formid = 2,               // SecondSetupPage,\r
+      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
+\r
+\r
+      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
+              prompt      = STRING_TOKEN(STR_DATE_PROMPT),\r
+              help        = STRING_TOKEN(STR_DATE_HELP),\r
+              minimum     = 1998,\r
+              maximum     = 2099,\r
+              step        = 1,\r
+              default     = 2004,\r
+\r
+              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
+              prompt      = STRING_TOKEN(STR_DATE_PROMPT),\r
+              help        = STRING_TOKEN(STR_DATE_HELP),\r
+              minimum     = 1,\r
+              maximum     = 12,\r
+              step        = 1,\r
+              default     = 1,\r
+\r
+              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
+              prompt      = STRING_TOKEN(STR_DATE_PROMPT),\r
+              help        = STRING_TOKEN(STR_DATE_HELP),\r
+              minimum     = 1,\r
+              maximum     = 31,\r
+              step        = 0x1,\r
+              default     = 1,\r
+\r
+        inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),\r
+          ideqval Date.Day == 31\r
+          AND\r
+          ideqvallist Date.Month == 2 4 6 9 11\r
+        endif\r
+\r
+        //\r
+        // If the day is 30 AND month is 2\r
+        //\r
+        inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),\r
+          ideqval Date.Day == 30\r
+          AND\r
+          ideqval Date.Month == 2\r
+        endif\r
+\r
+        //\r
+        // If the day is 29 AND month is 2 AND it year is NOT a leapyear\r
+        //\r
+        inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),\r
+          ideqval Date.Day == 0x1D\r
+          AND\r
+          ideqval Date.Month == 2\r
+          AND\r
+          NOT\r
+          ideqvallist Date.Year == 2004 2008 20012 20016 2020 2024 2028 2032 2036\r
+        endif\r
+\r
+      enddate;\r
+\r
+      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
+              prompt      = STRING_TOKEN(STR_TIME_PROMPT),\r
+              help        = STRING_TOKEN(STR_TIME_HELP),\r
+              minimum     = 0,\r
+              maximum     = 23,\r
+              step        = 1,\r
+              default     = 0,\r
+\r
+              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
+              prompt        = STRING_TOKEN(STR_TIME_PROMPT),\r
+              help          = STRING_TOKEN(STR_TIME_HELP),\r
+              minimum       = 0,\r
+              maximum       = 59,\r
+              step          = 1,\r
+              default       = 0,\r
+\r
+              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
+              prompt        = STRING_TOKEN(STR_TIME_PROMPT),\r
+              help          = STRING_TOKEN(STR_TIME_HELP),\r
+              minimum       = 0,\r
+              maximum       = 59,\r
+              step          = 1,\r
+              default       = 0,\r
+\r
+      endtime;\r
+\r
+      checkbox varid   = MyIfrNVData.ChooseToActivateNuclearWeaponry,\r
+              prompt   = STRING_TOKEN(STR_CHECK_BOX_PROMPT),\r
+              help     = STRING_TOKEN(STR_CHECK_BOX_HELP),\r
+              flags    = CHECKBOX_DEFAULT,\r
+              key      = 0,\r
+      endcheckbox;\r
 \r
-      inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),\r
-        ideqval Date.Day == 31\r
-        AND\r
-        ideqvallist Date.Month == 2 4 6 9 11\r
-      endif\r
-\r
-      //\r
-      // If the day is 30 AND month is 2\r
-      //\r
-      inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),\r
-        ideqval Date.Day == 30\r
-        AND\r
-        ideqval Date.Month == 2\r
-      endif\r
-\r
-      //\r
-      // If the day is 29 AND month is 2 AND it year is NOT a leapyear\r
-      //\r
-      inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),\r
-        ideqval Date.Day == 0x1D\r
-        AND\r
-        ideqval Date.Month == 2\r
-        AND\r
-        NOT\r
-        ideqvallist Date.Year == 2004 2008 20012 20016 2020 2024 2028 2032 2036\r
-      endif\r
-\r
-    enddate;\r
-\r
-    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
-            prompt      = STRING_TOKEN(STR_TIME_PROMPT),\r
-            help        = STRING_TOKEN(STR_TIME_HELP),\r
-            minimum     = 0,\r
-            maximum     = 23,\r
-            step        = 1,\r
-            default     = 0,\r
-\r
-            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
-            prompt        = STRING_TOKEN(STR_TIME_PROMPT),\r
-            help          = STRING_TOKEN(STR_TIME_HELP),\r
-            minimum       = 0,\r
-            maximum       = 59,\r
-            step          = 1,\r
-            default       = 0,\r
-\r
-            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
-            prompt        = STRING_TOKEN(STR_TIME_PROMPT),\r
-            help          = STRING_TOKEN(STR_TIME_HELP),\r
-            minimum       = 0,\r
-            maximum       = 59,\r
-            step          = 1,\r
-            default       = 0,\r
-\r
-    endtime;\r
-\r
-    checkbox varid   = MyIfrNVData.ChooseToActivateNuclearWeaponry,\r
-            prompt   = STRING_TOKEN(STR_CHECK_BOX_PROMPT),\r
-            help     = STRING_TOKEN(STR_CHECK_BOX_HELP),\r
-            flags    = CHECKBOX_DEFAULT,\r
-            key      = 0,\r
-    endcheckbox;\r
-\r
-    text\r
-      help = STRING_TOKEN(STR_TEXT_HELP),\r
-      text = STRING_TOKEN(STR_TEXT_TEXT_1);\r
+      text\r
+        help = STRING_TOKEN(STR_TEXT_HELP),\r
+        text = STRING_TOKEN(STR_TEXT_TEXT_1);\r
 \r
-    text\r
-      help   = STRING_TOKEN(STR_TEXT_HELP),\r
-      text   = STRING_TOKEN(STR_TEXT_TEXT_1),\r
-      text   = STRING_TOKEN(STR_TEXT_TEXT_2);\r
+      text\r
+        help   = STRING_TOKEN(STR_TEXT_HELP),\r
+        text   = STRING_TOKEN(STR_TEXT_TEXT_1),\r
+        text   = STRING_TOKEN(STR_TEXT_TEXT_2);\r
 \r
-    goto 1,\r
-      prompt = STRING_TOKEN(STR_GOTO_FORM1), //MainSetupPage  // this too has no end-op and basically it's a jump to a form ONLY\r
-      help   = STRING_TOKEN(STR_GOTO_HELP);\r
+      goto 1,\r
+        prompt = STRING_TOKEN(STR_GOTO_FORM1), //MainSetupPage  // this too has no end-op and basically it's a jump to a form ONLY\r
+        help   = STRING_TOKEN(STR_GOTO_HELP);\r
 \r
-  endform;\r
+    endform;\r
+  endif;\r
 \r
   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
 \r