mirror of https://github.com/acidanthera/audk.git
Enable SetupBrowser to support multiple form class guid.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9680 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
cb0a42901a
commit
4024517599
|
@ -208,7 +208,7 @@ DisplayPageFrame (
|
||||||
Buffer[Index] = Character;
|
Buffer[Index] = Character;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gClassOfVfr == FORMSET_CLASS_FRONT_PAGE) {
|
if ((gClassOfVfr & FORMSET_CLASS_FRONT_PAGE) == FORMSET_CLASS_FRONT_PAGE) {
|
||||||
//
|
//
|
||||||
// ClearLines(0, LocalScreen.RightColumn, 0, BANNER_HEIGHT-1, BANNER_TEXT | BANNER_BACKGROUND);
|
// ClearLines(0, LocalScreen.RightColumn, 0, BANNER_HEIGHT-1, BANNER_TEXT | BANNER_BACKGROUND);
|
||||||
//
|
//
|
||||||
|
@ -289,7 +289,7 @@ DisplayPageFrame (
|
||||||
KEYHELP_TEXT | KEYHELP_BACKGROUND
|
KEYHELP_TEXT | KEYHELP_BACKGROUND
|
||||||
);
|
);
|
||||||
|
|
||||||
if (gClassOfVfr != FORMSET_CLASS_FRONT_PAGE) {
|
if ((gClassOfVfr & FORMSET_CLASS_FRONT_PAGE) != FORMSET_CLASS_FRONT_PAGE) {
|
||||||
ClearLines (
|
ClearLines (
|
||||||
LocalScreen.LeftColumn,
|
LocalScreen.LeftColumn,
|
||||||
LocalScreen.RightColumn,
|
LocalScreen.RightColumn,
|
||||||
|
@ -324,7 +324,7 @@ DisplayPageFrame (
|
||||||
Character = BOXDRAW_UP_LEFT;
|
Character = BOXDRAW_UP_LEFT;
|
||||||
PrintChar (Character);
|
PrintChar (Character);
|
||||||
|
|
||||||
if (gClassOfVfr == FORMSET_CLASS_PLATFORM_SETUP) {
|
if ((gClassOfVfr & FORMSET_CLASS_PLATFORM_SETUP) == FORMSET_CLASS_PLATFORM_SETUP) {
|
||||||
//
|
//
|
||||||
// Print Bottom border line
|
// Print Bottom border line
|
||||||
// +------------------------------------------------------------------------------+
|
// +------------------------------------------------------------------------------+
|
||||||
|
@ -472,7 +472,7 @@ DisplayForm (
|
||||||
|
|
||||||
StringPtr = GetToken (Selection->Form->FormTitle, Handle);
|
StringPtr = GetToken (Selection->Form->FormTitle, Handle);
|
||||||
|
|
||||||
if (gClassOfVfr != FORMSET_CLASS_FRONT_PAGE) {
|
if ((gClassOfVfr & FORMSET_CLASS_FRONT_PAGE) != FORMSET_CLASS_FRONT_PAGE) {
|
||||||
gST->ConOut->SetAttribute (gST->ConOut, TITLE_TEXT | TITLE_BACKGROUND);
|
gST->ConOut->SetAttribute (gST->ConOut, TITLE_TEXT | TITLE_BACKGROUND);
|
||||||
PrintStringAt (
|
PrintStringAt (
|
||||||
(LocalScreen.RightColumn + LocalScreen.LeftColumn - GetStringWidth (StringPtr) / 2) / 2,
|
(LocalScreen.RightColumn + LocalScreen.LeftColumn - GetStringWidth (StringPtr) / 2) / 2,
|
||||||
|
@ -685,7 +685,7 @@ UpdateKeyHelp (
|
||||||
ClearLines (LeftColumnOfHelp, RightColumnOfHelp, TopRowOfHelp, BottomRowOfHelp, KEYHELP_TEXT | KEYHELP_BACKGROUND);
|
ClearLines (LeftColumnOfHelp, RightColumnOfHelp, TopRowOfHelp, BottomRowOfHelp, KEYHELP_TEXT | KEYHELP_BACKGROUND);
|
||||||
|
|
||||||
if (!Selected) {
|
if (!Selected) {
|
||||||
if (gClassOfVfr == FORMSET_CLASS_PLATFORM_SETUP) {
|
if ((gClassOfVfr & FORMSET_CLASS_PLATFORM_SETUP) == FORMSET_CLASS_PLATFORM_SETUP) {
|
||||||
if (Selection->FormEditable) {
|
if (Selection->FormEditable) {
|
||||||
PrintStringAt (SecCol, TopRowOfHelp, gFunctionNineString);
|
PrintStringAt (SecCol, TopRowOfHelp, gFunctionNineString);
|
||||||
PrintStringAt (ThdCol, TopRowOfHelp, gFunctionTenString);
|
PrintStringAt (ThdCol, TopRowOfHelp, gFunctionTenString);
|
||||||
|
@ -742,7 +742,7 @@ UpdateKeyHelp (
|
||||||
case EFI_IFR_CHECKBOX_OP:
|
case EFI_IFR_CHECKBOX_OP:
|
||||||
ClearLines (LeftColumnOfHelp, RightColumnOfHelp, TopRowOfHelp, BottomRowOfHelp, KEYHELP_TEXT | KEYHELP_BACKGROUND);
|
ClearLines (LeftColumnOfHelp, RightColumnOfHelp, TopRowOfHelp, BottomRowOfHelp, KEYHELP_TEXT | KEYHELP_BACKGROUND);
|
||||||
|
|
||||||
if (gClassOfVfr == FORMSET_CLASS_PLATFORM_SETUP) {
|
if ((gClassOfVfr & FORMSET_CLASS_PLATFORM_SETUP) == FORMSET_CLASS_PLATFORM_SETUP) {
|
||||||
if (Selection->FormEditable) {
|
if (Selection->FormEditable) {
|
||||||
PrintStringAt (SecCol, TopRowOfHelp, gFunctionNineString);
|
PrintStringAt (SecCol, TopRowOfHelp, gFunctionNineString);
|
||||||
PrintStringAt (ThdCol, TopRowOfHelp, gFunctionTenString);
|
PrintStringAt (ThdCol, TopRowOfHelp, gFunctionTenString);
|
||||||
|
@ -763,7 +763,7 @@ UpdateKeyHelp (
|
||||||
ClearLines (LeftColumnOfHelp, RightColumnOfHelp, TopRowOfHelp, BottomRowOfHelp, KEYHELP_TEXT | KEYHELP_BACKGROUND);
|
ClearLines (LeftColumnOfHelp, RightColumnOfHelp, TopRowOfHelp, BottomRowOfHelp, KEYHELP_TEXT | KEYHELP_BACKGROUND);
|
||||||
|
|
||||||
if (!Selected) {
|
if (!Selected) {
|
||||||
if (gClassOfVfr == FORMSET_CLASS_PLATFORM_SETUP) {
|
if ((gClassOfVfr & FORMSET_CLASS_PLATFORM_SETUP) == FORMSET_CLASS_PLATFORM_SETUP) {
|
||||||
if (Selection->FormEditable) {
|
if (Selection->FormEditable) {
|
||||||
PrintStringAt (SecCol, TopRowOfHelp, gFunctionNineString);
|
PrintStringAt (SecCol, TopRowOfHelp, gFunctionNineString);
|
||||||
PrintStringAt (ThdCol, TopRowOfHelp, gFunctionTenString);
|
PrintStringAt (ThdCol, TopRowOfHelp, gFunctionTenString);
|
||||||
|
|
|
@ -277,7 +277,6 @@ SendForm (
|
||||||
InitializeBrowserStrings ();
|
InitializeBrowserStrings ();
|
||||||
|
|
||||||
gFunctionKeySetting = DEFAULT_FUNCTION_KEY_SETTING;
|
gFunctionKeySetting = DEFAULT_FUNCTION_KEY_SETTING;
|
||||||
gClassOfVfr = FORMSET_CLASS_PLATFORM_SETUP;
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Ensure we are in Text mode
|
// Ensure we are in Text mode
|
||||||
|
@ -942,6 +941,10 @@ ConfigRespToStorage (
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EFI_HII_VARSTORE_NAME_VALUE:
|
case EFI_HII_VARSTORE_NAME_VALUE:
|
||||||
|
StrPtr = StrStr (ConfigResp, L"PATH");
|
||||||
|
if (StrPtr == NULL) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
StrPtr = StrStr (ConfigResp, L"&");
|
StrPtr = StrStr (ConfigResp, L"&");
|
||||||
while (StrPtr != NULL) {
|
while (StrPtr != NULL) {
|
||||||
//
|
//
|
||||||
|
@ -2584,9 +2587,25 @@ InitializeFormSet (
|
||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Set VFR type by FormSet SubClass field
|
||||||
|
//
|
||||||
gClassOfVfr = FORMSET_CLASS_PLATFORM_SETUP;
|
gClassOfVfr = FORMSET_CLASS_PLATFORM_SETUP;
|
||||||
if (FormSet->SubClass == EFI_FRONT_PAGE_SUBCLASS) {
|
if (FormSet->SubClass == EFI_FRONT_PAGE_SUBCLASS) {
|
||||||
gClassOfVfr = FORMSET_CLASS_FRONT_PAGE;
|
gClassOfVfr = FORMSET_CLASS_FRONT_PAGE;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Set VFR type by FormSet class guid
|
||||||
|
//
|
||||||
|
for (Index = 0; Index < 3; Index ++) {
|
||||||
|
if (CompareGuid (&FormSet->ClassGuid[Index], &gEfiHiiPlatformSetupFormsetGuid)) {
|
||||||
|
gClassOfVfr |= FORMSET_CLASS_PLATFORM_SETUP;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((gClassOfVfr & FORMSET_CLASS_FRONT_PAGE) == FORMSET_CLASS_FRONT_PAGE) {
|
||||||
gFrontPageHandle = FormSet->HiiHandle;
|
gFrontPageHandle = FormSet->HiiHandle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -193,8 +193,8 @@ typedef struct {
|
||||||
#define FORM_INCONSISTENT_VALIDATION 0
|
#define FORM_INCONSISTENT_VALIDATION 0
|
||||||
#define FORM_NO_SUBMIT_VALIDATION 1
|
#define FORM_NO_SUBMIT_VALIDATION 1
|
||||||
|
|
||||||
#define FORMSET_CLASS_PLATFORM_SETUP 0
|
#define FORMSET_CLASS_PLATFORM_SETUP 0x0001
|
||||||
#define FORMSET_CLASS_FRONT_PAGE 1
|
#define FORMSET_CLASS_FRONT_PAGE 0x0002
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
UINT8 Type;
|
UINT8 Type;
|
||||||
|
|
|
@ -1037,7 +1037,7 @@ UpdateStatusBar (
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NV_UPDATE_REQUIRED:
|
case NV_UPDATE_REQUIRED:
|
||||||
if (gClassOfVfr != FORMSET_CLASS_FRONT_PAGE) {
|
if ((gClassOfVfr & FORMSET_CLASS_FRONT_PAGE) != FORMSET_CLASS_FRONT_PAGE) {
|
||||||
if (State) {
|
if (State) {
|
||||||
gST->ConOut->SetAttribute (gST->ConOut, INFO_TEXT);
|
gST->ConOut->SetAttribute (gST->ConOut, INFO_TEXT);
|
||||||
PrintStringAt (
|
PrintStringAt (
|
||||||
|
@ -1694,7 +1694,7 @@ UiDisplayMenu (
|
||||||
|
|
||||||
ZeroMem (&Key, sizeof (EFI_INPUT_KEY));
|
ZeroMem (&Key, sizeof (EFI_INPUT_KEY));
|
||||||
|
|
||||||
if (gClassOfVfr == FORMSET_CLASS_FRONT_PAGE) {
|
if ((gClassOfVfr & FORMSET_CLASS_FRONT_PAGE) == FORMSET_CLASS_FRONT_PAGE){
|
||||||
TopRow = LocalScreen.TopRow + FRONT_PAGE_HEADER_HEIGHT + SCROLL_ARROW_HEIGHT;
|
TopRow = LocalScreen.TopRow + FRONT_PAGE_HEADER_HEIGHT + SCROLL_ARROW_HEIGHT;
|
||||||
Row = LocalScreen.TopRow + FRONT_PAGE_HEADER_HEIGHT + SCROLL_ARROW_HEIGHT;
|
Row = LocalScreen.TopRow + FRONT_PAGE_HEADER_HEIGHT + SCROLL_ARROW_HEIGHT;
|
||||||
} else {
|
} else {
|
||||||
|
@ -2404,7 +2404,7 @@ UiDisplayMenu (
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ' ':
|
case ' ':
|
||||||
if (gClassOfVfr != FORMSET_CLASS_FRONT_PAGE) {
|
if ((gClassOfVfr & FORMSET_CLASS_FRONT_PAGE) != FORMSET_CLASS_FRONT_PAGE) {
|
||||||
if (MenuOption->ThisTag->Operand == EFI_IFR_CHECKBOX_OP && !MenuOption->GrayOut) {
|
if (MenuOption->ThisTag->Operand == EFI_IFR_CHECKBOX_OP && !MenuOption->GrayOut) {
|
||||||
ScreenOperation = UiSelect;
|
ScreenOperation = UiSelect;
|
||||||
}
|
}
|
||||||
|
@ -2686,7 +2686,7 @@ UiDisplayMenu (
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gClassOfVfr == FORMSET_CLASS_FRONT_PAGE) {
|
if ((gClassOfVfr & FORMSET_CLASS_FRONT_PAGE) == FORMSET_CLASS_FRONT_PAGE) {
|
||||||
//
|
//
|
||||||
// We never exit FrontPage, so skip the ESC
|
// We never exit FrontPage, so skip the ESC
|
||||||
//
|
//
|
||||||
|
|
Loading…
Reference in New Issue