/** @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
\r
gST->ConOut->SetCursorPosition (gST->ConOut, LeftColumn, TopRow);\r
\r
- gBS->FreePool (Buffer);\r
+ FreePool (Buffer);\r
return ;\r
}\r
\r
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
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
break;\r
}\r
\r
- gBS->FreePool (StrFrontPageBanner);\r
+ FreePool (StrFrontPageBanner);\r
}\r
}\r
}\r
}\r
}\r
\r
- gBS->FreePool (Buffer);\r
+ FreePool (Buffer);\r
\r
}\r
\r
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
//\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
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
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
FreePool (gFunctionTenString);\r
FreePool (gEnterString);\r
FreePool (gEnterCommitString);\r
+ FreePool (gEnterEscapeString);\r
FreePool (gEscapeString);\r
FreePool (gMoveHighlight);\r
FreePool (gMakeSelection);\r
FreePool (gMinusString);\r
FreePool (gAdjustNumber);\r
FreePool (gSaveChanges);\r
+ FreePool (gOptionMismatch);\r
return ;\r
}\r
\r
}\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
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
PrintStringAt (ThdCol, TopRowOfHelp, gMinusString);\r
}\r
\r
- PrintStringAt (ThdCol, BottomRowOfHelp, gEscapeString);\r
+ PrintStringAt (ThdCol, BottomRowOfHelp, gEnterEscapeString);\r
}\r
break;\r
\r
BottomRowOfHelp,\r
gEnterCommitString\r
);\r
- PrintStringAt (ThdCol, BottomRowOfHelp, gEscapeString);\r
+ PrintStringAt (ThdCol, BottomRowOfHelp, gEnterEscapeString);\r
}\r
}\r
break;\r
//\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