Update SetUp Browser doesn't set a default value to Numeric field per UEFI spec. And Update Setup Browser driver parse the introduced IFR FormSet classguid in UEFI2.1.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8146 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
lgao4
2009-04-22 03:18:37 +00:00
parent 96f99e1df8
commit 0a1147ed7a
6 changed files with 115 additions and 61 deletions

View File

@@ -209,7 +209,7 @@ DisplayPageFrame (
Buffer[Index] = Character;
}
if (gClassOfVfr == EFI_FRONT_PAGE_SUBCLASS) {
if (gClassOfVfr == FORMSET_CLASS_FRONT_PAGE) {
//
// ClearLines(0, LocalScreen.RightColumn, 0, BANNER_HEIGHT-1, BANNER_TEXT | BANNER_BACKGROUND);
//
@@ -237,10 +237,10 @@ DisplayPageFrame (
ASSERT (RowIdx < BANNER_HEIGHT);
ASSERT (ColumnIdx < BANNER_COLUMNS);
if (BannerData->Banner[RowIdx][ColumnIdx] != 0x0000) {
if (gBannerData->Banner[RowIdx][ColumnIdx] != 0x0000) {
StrFrontPageBanner = GetToken (
BannerData->Banner[RowIdx][ColumnIdx],
FrontPageHandle
gBannerData->Banner[RowIdx][ColumnIdx],
gFrontPageHandle
);
} else {
continue;
@@ -290,7 +290,7 @@ DisplayPageFrame (
KEYHELP_TEXT | KEYHELP_BACKGROUND
);
if (gClassOfVfr != EFI_FRONT_PAGE_SUBCLASS) {
if (gClassOfVfr != FORMSET_CLASS_FRONT_PAGE) {
ClearLines (
LocalScreen.LeftColumn,
LocalScreen.RightColumn,
@@ -325,7 +325,7 @@ DisplayPageFrame (
Character = BOXDRAW_UP_LEFT;
PrintChar (Character);
if (gClassOfVfr == EFI_SETUP_APPLICATION_SUBCLASS) {
if (gClassOfVfr == FORMSET_CLASS_PLATFORM_SETUP) {
//
// Print Bottom border line
// +------------------------------------------------------------------------------+
@@ -472,7 +472,7 @@ DisplayForm (
StringPtr = GetToken (Selection->Form->FormTitle, Handle);
if (gClassOfVfr != EFI_FRONT_PAGE_SUBCLASS) {
if (gClassOfVfr != FORMSET_CLASS_FRONT_PAGE) {
gST->ConOut->SetAttribute (gST->ConOut, TITLE_TEXT | TITLE_BACKGROUND);
PrintStringAt (
(LocalScreen.RightColumn + LocalScreen.LeftColumn - GetStringWidth (StringPtr) / 2) / 2,
@@ -481,7 +481,7 @@ DisplayForm (
);
}
if (gClassOfVfr == EFI_SETUP_APPLICATION_SUBCLASS) {
if (gClassOfVfr == FORMSET_CLASS_PLATFORM_SETUP) {
gST->ConOut->SetAttribute (gST->ConOut, KEYHELP_TEXT | KEYHELP_BACKGROUND);
//
@@ -514,6 +514,10 @@ DisplayForm (
Suppress = FALSE;
}
if (Statement->DisableExpression != NULL) {
Suppress = Suppress || Statement->DisableExpression->Result.Value.b;
}
if (!Suppress) {
StringPtr = GetToken (Statement->Prompt, Handle);
@@ -671,10 +675,6 @@ UpdateKeyHelp (
TopRowOfHelp = LocalScreen.BottomRow - 4;
BottomRowOfHelp = LocalScreen.BottomRow - 3;
if (gClassOfVfr == EFI_GENERAL_APPLICATION_SUBCLASS) {
return ;
}
gST->ConOut->SetAttribute (gST->ConOut, KEYHELP_TEXT | KEYHELP_BACKGROUND);
Statement = MenuOption->ThisTag;
@@ -687,7 +687,7 @@ UpdateKeyHelp (
ClearLines (LeftColumnOfHelp, RightColumnOfHelp, TopRowOfHelp, BottomRowOfHelp, KEYHELP_TEXT | KEYHELP_BACKGROUND);
if (!Selected) {
if (gClassOfVfr == EFI_SETUP_APPLICATION_SUBCLASS) {
if (gClassOfVfr == FORMSET_CLASS_PLATFORM_SETUP) {
PrintStringAt (StartColumnOfHelp, TopRowOfHelp, gFunctionOneString);
PrintStringAt (SecCol, TopRowOfHelp, gFunctionNineString);
PrintStringAt (ThdCol, TopRowOfHelp, gFunctionTenString);
@@ -743,7 +743,7 @@ UpdateKeyHelp (
case EFI_IFR_CHECKBOX_OP:
ClearLines (LeftColumnOfHelp, RightColumnOfHelp, TopRowOfHelp, BottomRowOfHelp, KEYHELP_TEXT | KEYHELP_BACKGROUND);
if (gClassOfVfr == EFI_SETUP_APPLICATION_SUBCLASS) {
if (gClassOfVfr == FORMSET_CLASS_PLATFORM_SETUP) {
PrintStringAt (StartColumnOfHelp, TopRowOfHelp, gFunctionOneString);
PrintStringAt (SecCol, TopRowOfHelp, gFunctionNineString);
PrintStringAt (ThdCol, TopRowOfHelp, gFunctionTenString);
@@ -763,7 +763,7 @@ UpdateKeyHelp (
ClearLines (LeftColumnOfHelp, RightColumnOfHelp, TopRowOfHelp, BottomRowOfHelp, KEYHELP_TEXT | KEYHELP_BACKGROUND);
if (!Selected) {
if (gClassOfVfr == EFI_SETUP_APPLICATION_SUBCLASS) {
if (gClassOfVfr == FORMSET_CLASS_PLATFORM_SETUP) {
PrintStringAt (StartColumnOfHelp, TopRowOfHelp, gFunctionOneString);
PrintStringAt (SecCol, TopRowOfHelp, gFunctionNineString);
PrintStringAt (ThdCol, TopRowOfHelp, gFunctionTenString);
@@ -903,6 +903,13 @@ SetupBrowser (
Selection->Form = IdToForm (Selection->FormSet, Selection->FormId);
}
if (Selection->Form == NULL) {
//
// No Form to display
//
return EFI_NOT_FOUND;
}
//
// Load Questions' Value for display
//