]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c
1. updated return value to EFI_SUCCESS by default.
[mirror_edk2.git] / MdeModulePkg / Universal / SetupBrowserDxe / Presentation.c
index ba6927c7193e2667ac3bdc6564e1f9a9d86ab198..0671558b5738e103e398f3d289b80b81cce5a19a 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
 Utility functions for UI presentation.\r
 \r
-Copyright (c) 2004 - 2007, Intel Corporation\r
+Copyright (c) 2004 - 2008, Intel Corporation\r
 All rights reserved. This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
@@ -66,7 +66,7 @@ ClearLines (
 \r
   gST->ConOut->SetCursorPosition (gST->ConOut, LeftColumn, TopRow);\r
 \r
-  gBS->FreePool (Buffer);\r
+  FreePool (Buffer);\r
   return ;\r
 }\r
 \r
@@ -188,6 +188,8 @@ DisplayPageFrame (
   CHAR16                 *StrFrontPageBanner;\r
   UINTN                  Row;\r
   EFI_SCREEN_DESCRIPTOR  LocalScreen;\r
+  UINT8                  RowIdx;\r
+  UINT8                  ColumnIdx;\r
 \r
   ZeroMem (&LocalScreen, sizeof (EFI_SCREEN_DESCRIPTOR));\r
   gST->ConOut->QueryMode (gST->ConOut, gST->ConOut->Mode->Mode, &LocalScreen.RightColumn, &LocalScreen.BottomRow);\r
@@ -229,9 +231,15 @@ DisplayPageFrame (
            Alignment < BANNER_COLUMNS + (UINT8) LocalScreen.LeftColumn;\r
            Alignment++\r
           ) {\r
-        if (BannerData->Banner[Line - (UINT8) LocalScreen.TopRow][Alignment - (UINT8) LocalScreen.LeftColumn] != 0x0000) {\r
+        RowIdx = (UINT8) (Line - (UINT8) LocalScreen.TopRow);\r
+        ColumnIdx = (UINT8) (Alignment - (UINT8) LocalScreen.LeftColumn);\r
+\r
+        ASSERT (RowIdx < BANNER_HEIGHT);\r
+        ASSERT (ColumnIdx < BANNER_COLUMNS);\r
+        \r
+        if (BannerData->Banner[RowIdx][ColumnIdx] != 0x0000) {\r
           StrFrontPageBanner = GetToken (\r
-                                BannerData->Banner[Line - (UINT8) LocalScreen.TopRow][Alignment - (UINT8) LocalScreen.LeftColumn],\r
+                                BannerData->Banner[RowIdx][ColumnIdx],\r
                                 FrontPageHandle\r
                                 );\r
         } else {\r
@@ -269,7 +277,7 @@ DisplayPageFrame (
           break;\r
         }\r
 \r
-        gBS->FreePool (StrFrontPageBanner);\r
+        FreePool (StrFrontPageBanner);\r
       }\r
     }\r
   }\r
@@ -350,7 +358,7 @@ DisplayPageFrame (
     }\r
   }\r
 \r
-  gBS->FreePool (Buffer);\r
+  FreePool (Buffer);\r
 \r
 }\r
 \r
@@ -482,29 +490,11 @@ DisplayForm (
     if (!IsListEmpty (&gMenuList)) {\r
       PrintStringAt (LocalScreen.LeftColumn + 2, LocalScreen.TopRow + 1, gFunctionTwoString);\r
     }\r
-\r
-    PrintStringAt (LocalScreen.LeftColumn + 2, LocalScreen.BottomRow - 4, gFunctionOneString);\r
-    PrintStringAt (\r
-      LocalScreen.LeftColumn + (LocalScreen.RightColumn - LocalScreen.LeftColumn) / 3,\r
-      LocalScreen.BottomRow - 4,\r
-      gFunctionNineString\r
-      );\r
-    PrintStringAt (\r
-      LocalScreen.LeftColumn + (LocalScreen.RightColumn - LocalScreen.LeftColumn) * 2 / 3,\r
-      LocalScreen.BottomRow - 4,\r
-      gFunctionTenString\r
-      );\r
-    PrintAt (LocalScreen.LeftColumn + 2, LocalScreen.BottomRow - 3, L"%c%c%s", ARROW_UP, ARROW_DOWN, gMoveHighlight);\r
-    PrintStringAt (\r
-      LocalScreen.LeftColumn + (LocalScreen.RightColumn - LocalScreen.LeftColumn) / 3,\r
-      LocalScreen.BottomRow - 3,\r
-      gEscapeString\r
-      );\r
   }\r
   //\r
   // Remove Buffer allocated for StringPtr after it has been used.\r
   //\r
-  gBS->FreePool (StringPtr);\r
+  FreePool (StringPtr);\r
 \r
   //\r
   // Evaluate all the Expressions in this Form\r
@@ -535,11 +525,11 @@ DisplayForm (
         //\r
         // If there is more string to process print on the next row and increment the Skip value\r
         //\r
-        if (StrLen (&StringPtr[ArrayEntry])) {\r
+        if (StrLen (&StringPtr[ArrayEntry]) != 0) {\r
           NumberOfLines++;\r
         }\r
 \r
-        gBS->FreePool (OutputString);\r
+        FreePool (OutputString);\r
       }\r
 \r
       //\r
@@ -575,6 +565,7 @@ InitializeBrowserStrings (
   gFunctionTenString    = GetToken (STRING_TOKEN (FUNCTION_TEN_STRING), gHiiHandle);\r
   gEnterString          = GetToken (STRING_TOKEN (ENTER_STRING), gHiiHandle);\r
   gEnterCommitString    = GetToken (STRING_TOKEN (ENTER_COMMIT_STRING), gHiiHandle);\r
+  gEnterEscapeString    = GetToken (STRING_TOKEN (ENTER_ESCAPE_STRING), gHiiHandle);\r
   gEscapeString         = GetToken (STRING_TOKEN (ESCAPE_STRING), gHiiHandle);\r
   gSaveFailed           = GetToken (STRING_TOKEN (SAVE_FAILED), gHiiHandle);\r
   gMoveHighlight        = GetToken (STRING_TOKEN (MOVE_HIGHLIGHT), gHiiHandle);\r
@@ -598,6 +589,7 @@ InitializeBrowserStrings (
   gMinusString          = GetToken (STRING_TOKEN (MINUS_STRING), gHiiHandle);\r
   gAdjustNumber         = GetToken (STRING_TOKEN (ADJUST_NUMBER), gHiiHandle);\r
   gSaveChanges          = GetToken (STRING_TOKEN (SAVE_CHANGES), gHiiHandle);\r
+  gOptionMismatch       = GetToken (STRING_TOKEN (OPTION_MISMATCH), gHiiHandle);\r
   return ;\r
 }\r
 \r
@@ -617,6 +609,7 @@ FreeBrowserStrings (
   FreePool (gFunctionTenString);\r
   FreePool (gEnterString);\r
   FreePool (gEnterCommitString);\r
+  FreePool (gEnterEscapeString);\r
   FreePool (gEscapeString);\r
   FreePool (gMoveHighlight);\r
   FreePool (gMakeSelection);\r
@@ -639,6 +632,7 @@ FreeBrowserStrings (
   FreePool (gMinusString);\r
   FreePool (gAdjustNumber);\r
   FreePool (gSaveChanges);\r
+  FreePool (gOptionMismatch);\r
   return ;\r
 }\r
 \r
@@ -701,8 +695,7 @@ UpdateKeyHelp (
       }\r
 \r
       if ((Statement->Operand == EFI_IFR_DATE_OP) ||\r
-          (Statement->Operand == EFI_IFR_TIME_OP) ||\r
-          (Statement->Operand == EFI_IFR_NUMERIC_OP && Statement->Step != 0)) {\r
+          (Statement->Operand == EFI_IFR_TIME_OP)) {\r
         PrintAt (\r
           StartColumnOfHelp,\r
           BottomRowOfHelp,\r
@@ -716,7 +709,11 @@ UpdateKeyHelp (
         PrintStringAt (SecCol, BottomRowOfHelp, gAdjustNumber);\r
       } else {\r
         PrintAt (StartColumnOfHelp, BottomRowOfHelp, L"%c%c%s", ARROW_UP, ARROW_DOWN, gMoveHighlight);\r
-        PrintStringAt (SecCol, BottomRowOfHelp, gEnterString);\r
+        if (Statement->Operand == EFI_IFR_NUMERIC_OP && Statement->Step != 0) {\r
+          PrintStringAt (SecCol, BottomRowOfHelp, gAdjustNumber);\r
+        } else {\r
+          PrintStringAt (SecCol, BottomRowOfHelp, gEnterString);\r
+        }\r
       }\r
     } else {\r
       PrintStringAt (SecCol, BottomRowOfHelp, gEnterCommitString);\r
@@ -739,7 +736,7 @@ UpdateKeyHelp (
         PrintStringAt (ThdCol, TopRowOfHelp, gMinusString);\r
       }\r
 \r
-      PrintStringAt (ThdCol, BottomRowOfHelp, gEscapeString);\r
+      PrintStringAt (ThdCol, BottomRowOfHelp, gEnterEscapeString);\r
     }\r
     break;\r
 \r
@@ -784,7 +781,7 @@ UpdateKeyHelp (
           BottomRowOfHelp,\r
           gEnterCommitString\r
           );\r
-        PrintStringAt (ThdCol, BottomRowOfHelp, gEscapeString);\r
+        PrintStringAt (ThdCol, BottomRowOfHelp, gEnterEscapeString);\r
       }\r
     }\r
     break;\r
@@ -874,7 +871,7 @@ SetupBrowser (
   //\r
   Status = mHiiDatabase->RegisterPackageNotify (\r
                            mHiiDatabase,\r
-                           EFI_HII_PACKAGE_FORM,\r
+                           EFI_HII_PACKAGE_FORMS,\r
                            NULL,\r
                            FormUpdateNotify,\r
                            EFI_HII_DATABASE_NOTIFY_REMOVE_PACK,\r