MdeModulePkg: Clean up source files
1. Do not use tab characters 2. No trailing white space in one line 3. All files must end with CRLF Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
This commit is contained in:
@ -3,13 +3,13 @@
|
||||
//
|
||||
// A generic Timestamp driver producing Timestamp Protocol using UEFI APIs.
|
||||
//
|
||||
// Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions of the BSD License
|
||||
// which accompanies this distribution. The full text of the license may be found at
|
||||
// http://opensource.org/licenses/bsd-license.php
|
||||
//
|
||||
//
|
||||
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
//
|
||||
|
@ -1,7 +1,7 @@
|
||||
## @file
|
||||
# The DXE driver produces FORM DISPLAY ENGIEN protocol.
|
||||
#
|
||||
# Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
#
|
||||
# This program and the accompanying materials
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
@ -36,11 +36,11 @@
|
||||
ProcessOptions.c
|
||||
InputHandler.c
|
||||
Popup.c
|
||||
|
||||
|
||||
[Packages]
|
||||
MdePkg/MdePkg.dec
|
||||
MdeModulePkg/MdeModulePkg.dec
|
||||
|
||||
|
||||
[LibraryClasses]
|
||||
UefiDriverEntryPoint
|
||||
UefiBootServicesTableLib
|
||||
@ -59,7 +59,7 @@
|
||||
|
||||
[Depex]
|
||||
gEfiHiiDatabaseProtocolGuid AND gEfiHiiConfigRoutingProtocolGuid AND gEdkiiFormBrowserEx2ProtocolGuid
|
||||
|
||||
|
||||
[FeaturePcd]
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdBrowserGrayOutTextStatement ## CONSUMES
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdBrowerGrayOutReadOnlyMenu ## CONSUMES
|
||||
|
@ -1,7 +1,7 @@
|
||||
// /** @file
|
||||
// DisplayEngine Localized Strings and Content
|
||||
//
|
||||
// Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2014 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions of the BSD License
|
||||
@ -12,8 +12,8 @@
|
||||
//
|
||||
// **/
|
||||
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
"DisplayEngine DXE Driver"
|
||||
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Entry and initialization module for the browser.
|
||||
|
||||
Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2014, Hewlett-Packard Development Company, L.P.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
@ -87,7 +87,7 @@ SCREEN_OPERATION_T0_CONTROL_FLAG gScreenOperationToControlFlag[] = {
|
||||
{
|
||||
UiPageDown,
|
||||
CfUiPageDown
|
||||
},
|
||||
},
|
||||
{
|
||||
UiHotKey,
|
||||
CfUiHotKey
|
||||
@ -418,10 +418,10 @@ GetWidth (
|
||||
//
|
||||
((Statement->OpCode->OpCode == EFI_IFR_TEXT_OP) && (Size == 0))
|
||||
) {
|
||||
|
||||
|
||||
//
|
||||
// Return the space width.
|
||||
//
|
||||
//
|
||||
if (AdjustWidth != NULL) {
|
||||
*AdjustWidth = 2;
|
||||
}
|
||||
@ -462,7 +462,7 @@ GetWidth (
|
||||
@param Index Where in InputString to start the copy process
|
||||
@param OutputString Buffer to copy the string into
|
||||
|
||||
@return Returns the number of CHAR16 characters that were copied into the OutputString
|
||||
@return Returns the number of CHAR16 characters that were copied into the OutputString
|
||||
buffer, include extra glyph info and '\0' info.
|
||||
|
||||
**/
|
||||
@ -541,7 +541,7 @@ GetLineByWidth (
|
||||
if (ReturnFlag) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Rewind the string from the maximum size until we see a space to break the line
|
||||
@ -590,7 +590,7 @@ GetLineByWidth (
|
||||
if (InputString[*Index + StrOffset] == CHAR_SPACE) {
|
||||
//
|
||||
// Skip the space info at the begin of next line.
|
||||
//
|
||||
//
|
||||
*Index = (UINT16) (*Index + StrOffset + 1);
|
||||
} else if (InputString[*Index + StrOffset] == CHAR_LINEFEED) {
|
||||
//
|
||||
@ -604,7 +604,7 @@ GetLineByWidth (
|
||||
} else if (InputString[*Index + StrOffset] == CHAR_CARRIAGE_RETURN) {
|
||||
//
|
||||
// Skip the /r or /r/n info.
|
||||
//
|
||||
//
|
||||
if (InputString[*Index + StrOffset + 1] == CHAR_LINEFEED) {
|
||||
*Index = (UINT16) (*Index + StrOffset + 2);
|
||||
} else {
|
||||
@ -705,7 +705,7 @@ UiAddMenuOption (
|
||||
case EFI_IFR_TEXT_OP:
|
||||
if (FeaturePcdGet (PcdBrowserGrayOutTextStatement)) {
|
||||
//
|
||||
// Initializing GrayOut option as TRUE for Text setup options
|
||||
// Initializing GrayOut option as TRUE for Text setup options
|
||||
// so that those options will be Gray in colour and un selectable.
|
||||
//
|
||||
MenuOption->GrayOut = TRUE;
|
||||
@ -723,8 +723,8 @@ UiAddMenuOption (
|
||||
}
|
||||
}
|
||||
|
||||
if (Index == 0 &&
|
||||
(Statement->OpCode->OpCode != EFI_IFR_DATE_OP) &&
|
||||
if (Index == 0 &&
|
||||
(Statement->OpCode->OpCode != EFI_IFR_DATE_OP) &&
|
||||
(Statement->OpCode->OpCode != EFI_IFR_TIME_OP)) {
|
||||
Width = GetWidth (MenuOption, NULL);
|
||||
for (; GetLineByWidth (MenuOption->Description, Width, &GlyphWidth,&ArrayEntry, &OutputString) != 0x0000;) {
|
||||
@ -741,7 +741,7 @@ UiAddMenuOption (
|
||||
// Add three MenuOptions for Date/Time
|
||||
// Data format : [01/02/2004] [11:22:33]
|
||||
// Line number : 0 0 1 0 0 1
|
||||
//
|
||||
//
|
||||
NumberOfLines = 0;
|
||||
}
|
||||
|
||||
@ -920,8 +920,8 @@ UpdateSkipInfoForMenu (
|
||||
FreePool (OutputString);
|
||||
}
|
||||
|
||||
if ((Row > MenuOption->Skip) &&
|
||||
(MenuOption->ThisTag->OpCode->OpCode != EFI_IFR_DATE_OP) &&
|
||||
if ((Row > MenuOption->Skip) &&
|
||||
(MenuOption->ThisTag->OpCode->OpCode != EFI_IFR_DATE_OP) &&
|
||||
(MenuOption->ThisTag->OpCode->OpCode != EFI_IFR_TIME_OP)) {
|
||||
MenuOption->Skip = Row;
|
||||
}
|
||||
@ -1045,8 +1045,8 @@ IsSelectable (
|
||||
@return The row distance from current MenuOption to next selectable MenuOption.
|
||||
|
||||
@retval -1 Reach the begin of the menu, still can't find the selectable menu.
|
||||
@retval Value Find the selectable menu, maybe the truly selectable, maybe the
|
||||
first menu showing beyond current form or last menu showing in
|
||||
@retval Value Find the selectable menu, maybe the truly selectable, maybe the
|
||||
first menu showing beyond current form or last menu showing in
|
||||
current form.
|
||||
The value is the line number between the new selected menu and the
|
||||
current select menu, not include the new selected menu.
|
||||
@ -1126,10 +1126,10 @@ MoveToNextStatement (
|
||||
|
||||
@param MenuOption Menu option point to date/time.
|
||||
@param OptionString Option string input for process.
|
||||
@param AddOptCol Whether need to update MenuOption->OptCol.
|
||||
@param AddOptCol Whether need to update MenuOption->OptCol.
|
||||
|
||||
**/
|
||||
VOID
|
||||
VOID
|
||||
ProcessStringForDateTime (
|
||||
UI_MENU_OPTION *MenuOption,
|
||||
CHAR16 *OptionString,
|
||||
@ -1143,7 +1143,7 @@ ProcessStringForDateTime (
|
||||
EFI_IFR_TIME *Time;
|
||||
|
||||
ASSERT (MenuOption != NULL && OptionString != NULL);
|
||||
|
||||
|
||||
Statement = MenuOption->ThisTag;
|
||||
Date = NULL;
|
||||
Time = NULL;
|
||||
@ -1152,7 +1152,7 @@ ProcessStringForDateTime (
|
||||
} else if (Statement->OpCode->OpCode == EFI_IFR_TIME_OP) {
|
||||
Time = (EFI_IFR_TIME *) Statement->OpCode;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// If leading spaces on OptionString - remove the spaces
|
||||
//
|
||||
@ -1164,13 +1164,13 @@ ProcessStringForDateTime (
|
||||
MenuOption->OptCol++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
for (Count = 0; OptionString[Index] != CHAR_NULL; Index++) {
|
||||
OptionString[Count] = OptionString[Index];
|
||||
Count++;
|
||||
}
|
||||
OptionString[Count] = CHAR_NULL;
|
||||
|
||||
|
||||
//
|
||||
// Enable to suppress field in the opcode base on the flag.
|
||||
//
|
||||
@ -1182,21 +1182,21 @@ ProcessStringForDateTime (
|
||||
//
|
||||
if ((Date->Flags & EFI_QF_DATE_MONTH_SUPPRESS) && (MenuOption->Sequence == 0)) {
|
||||
//
|
||||
// At this point, only "<**:" in the optionstring.
|
||||
// At this point, only "<**:" in the optionstring.
|
||||
// Clean the day's ** field, after clean, the format is "< :"
|
||||
//
|
||||
SetUnicodeMem (&OptionString[1], 2, L' ');
|
||||
} else if ((Date->Flags & EFI_QF_DATE_DAY_SUPPRESS) && (MenuOption->Sequence == 1)) {
|
||||
//
|
||||
// At this point, only "**:" in the optionstring.
|
||||
// At this point, only "**:" in the optionstring.
|
||||
// Clean the month's "**" field, after clean, the format is " :"
|
||||
//
|
||||
//
|
||||
SetUnicodeMem (&OptionString[0], 2, L' ');
|
||||
} else if ((Date->Flags & EFI_QF_DATE_YEAR_SUPPRESS) && (MenuOption->Sequence == 2)) {
|
||||
//
|
||||
// At this point, only "****>" in the optionstring.
|
||||
// At this point, only "****>" in the optionstring.
|
||||
// Clean the year's "****" field, after clean, the format is " >"
|
||||
//
|
||||
//
|
||||
SetUnicodeMem (&OptionString[0], 4, L' ');
|
||||
}
|
||||
} else if (Statement->OpCode->OpCode == EFI_IFR_TIME_OP) {
|
||||
@ -1207,21 +1207,21 @@ ProcessStringForDateTime (
|
||||
//
|
||||
if ((Time->Flags & QF_TIME_HOUR_SUPPRESS) && (MenuOption->Sequence == 0)) {
|
||||
//
|
||||
// At this point, only "<**:" in the optionstring.
|
||||
// At this point, only "<**:" in the optionstring.
|
||||
// Clean the hour's ** field, after clean, the format is "< :"
|
||||
//
|
||||
SetUnicodeMem (&OptionString[1], 2, L' ');
|
||||
} else if ((Time->Flags & QF_TIME_MINUTE_SUPPRESS) && (MenuOption->Sequence == 1)) {
|
||||
//
|
||||
// At this point, only "**:" in the optionstring.
|
||||
// At this point, only "**:" in the optionstring.
|
||||
// Clean the minute's "**" field, after clean, the format is " :"
|
||||
//
|
||||
//
|
||||
SetUnicodeMem (&OptionString[0], 2, L' ');
|
||||
} else if ((Time->Flags & QF_TIME_SECOND_SUPPRESS) && (MenuOption->Sequence == 2)) {
|
||||
//
|
||||
// At this point, only "**>" in the optionstring.
|
||||
// At this point, only "**>" in the optionstring.
|
||||
// Clean the second's "**" field, after clean, the format is " >"
|
||||
//
|
||||
//
|
||||
SetUnicodeMem (&OptionString[0], 2, L' ');
|
||||
}
|
||||
}
|
||||
@ -1304,7 +1304,7 @@ AdjustDateAndTimePosition (
|
||||
|
||||
/**
|
||||
Get step info from numeric opcode.
|
||||
|
||||
|
||||
@param[in] OpCode The input numeric op code.
|
||||
|
||||
@return step info for this opcode.
|
||||
@ -1318,24 +1318,24 @@ GetFieldFromNum (
|
||||
UINT64 Step;
|
||||
|
||||
NumericOp = (EFI_IFR_NUMERIC *) OpCode;
|
||||
|
||||
|
||||
switch (NumericOp->Flags & EFI_IFR_NUMERIC_SIZE) {
|
||||
case EFI_IFR_NUMERIC_SIZE_1:
|
||||
Step = NumericOp->data.u8.Step;
|
||||
break;
|
||||
|
||||
|
||||
case EFI_IFR_NUMERIC_SIZE_2:
|
||||
Step = NumericOp->data.u16.Step;
|
||||
break;
|
||||
|
||||
|
||||
case EFI_IFR_NUMERIC_SIZE_4:
|
||||
Step = NumericOp->data.u32.Step;
|
||||
break;
|
||||
|
||||
|
||||
case EFI_IFR_NUMERIC_SIZE_8:
|
||||
Step = NumericOp->data.u64.Step;
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
Step = 0;
|
||||
break;
|
||||
@ -1346,7 +1346,7 @@ GetFieldFromNum (
|
||||
|
||||
/**
|
||||
Find the registered HotKey based on KeyData.
|
||||
|
||||
|
||||
@param[in] KeyData A pointer to a buffer that describes the keystroke
|
||||
information for the hot key.
|
||||
|
||||
@ -1363,14 +1363,14 @@ GetHotKeyFromRegisterList (
|
||||
Link = GetFirstNode (&gFormData->HotKeyListHead);
|
||||
while (!IsNull (&gFormData->HotKeyListHead, Link)) {
|
||||
HotKey = BROWSER_HOT_KEY_FROM_LINK (Link);
|
||||
|
||||
|
||||
if (HotKey->KeyData->ScanCode == KeyData->ScanCode) {
|
||||
return HotKey;
|
||||
}
|
||||
|
||||
Link = GetNextNode (&gFormData->HotKeyListHead, Link);
|
||||
}
|
||||
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -1440,13 +1440,13 @@ UiWaitForEvent (
|
||||
Timeout
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
WaitList[0] = Event;
|
||||
EventNum = 1;
|
||||
if (gFormData->FormRefreshEvent != NULL) {
|
||||
WaitList[EventNum] = gFormData->FormRefreshEvent;
|
||||
EventNum ++;
|
||||
}
|
||||
}
|
||||
|
||||
if (Timeout != 0) {
|
||||
WaitList[EventNum] = TimerEvent;
|
||||
@ -1479,7 +1479,7 @@ UiWaitForEvent (
|
||||
if (Timeout != 0) {
|
||||
gBS->CloseEvent (TimerEvent);
|
||||
}
|
||||
|
||||
|
||||
return EventType;
|
||||
}
|
||||
|
||||
@ -1603,7 +1603,7 @@ GetIndexInfoForOpcode (
|
||||
@retval FALSE This is not the highlight statement.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
BOOLEAN
|
||||
IsSavedHighlightStatement (
|
||||
IN FORM_DISPLAY_ENGINE_STATEMENT *HighLightedStatement
|
||||
)
|
||||
@ -1735,7 +1735,7 @@ IsTopOfScreeMenuOption (
|
||||
{
|
||||
if (gHighligthMenuInfo.TOSQuestionId != 0) {
|
||||
return (BOOLEAN) (GetQuestionIdInfo(MenuOption->ThisTag->OpCode) == gHighligthMenuInfo.TOSQuestionId);
|
||||
}
|
||||
}
|
||||
|
||||
if(CompareMem (gHighligthMenuInfo.TOSOpCode, MenuOption->ThisTag->OpCode, gHighligthMenuInfo.TOSOpCode->Length) == 0) {
|
||||
if (gHighligthMenuInfo.TOSIndex == 0 || gHighligthMenuInfo.TOSIndex == GetIndexInfoForOpcode(MenuOption->ThisTag->OpCode)) {
|
||||
@ -1863,7 +1863,7 @@ FindTopMenu (
|
||||
//
|
||||
if (gMisMatch && gFormData->HiiHandle == gHighligthMenuInfo.HiiHandle && gFormData->FormId == gHighligthMenuInfo.FormId) {
|
||||
//
|
||||
// Reenter caused by option mismatch or auto exit caused by refresh form(refresh interval/guid),
|
||||
// Reenter caused by option mismatch or auto exit caused by refresh form(refresh interval/guid),
|
||||
// base on the record highlight info to find the highlight menu.
|
||||
//
|
||||
|
||||
@ -1930,7 +1930,7 @@ FindTopMenu (
|
||||
//
|
||||
MenuOption = MENU_OPTION_FROM_LINK (*HighlightMenu);
|
||||
UpdateOptionSkipLines (MenuOption);
|
||||
|
||||
|
||||
*TopOfScreen = FindTopOfScreenMenuOption(*HighlightMenu);
|
||||
if (*TopOfScreen == NULL) {
|
||||
//
|
||||
@ -2090,7 +2090,7 @@ SetDisplayAttribute (
|
||||
)
|
||||
{
|
||||
FORM_DISPLAY_ENGINE_STATEMENT *Statement;
|
||||
|
||||
|
||||
Statement = MenuOption->ThisTag;
|
||||
|
||||
if (Highlight) {
|
||||
@ -2140,11 +2140,11 @@ DisplayMenuString (
|
||||
PrintStringAtWithWidth (Col, Row, String, Width);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Print the highlight menu string.
|
||||
// First print the highlight string.
|
||||
//
|
||||
//
|
||||
SetDisplayAttribute(MenuOption, TRUE);
|
||||
Length = PrintStringAt (Col, Row, String);
|
||||
|
||||
@ -2164,7 +2164,7 @@ DisplayMenuString (
|
||||
@retval FALSE This menu option can't have option string.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
BOOLEAN
|
||||
HasOptionString (
|
||||
IN UI_MENU_OPTION *MenuOption
|
||||
)
|
||||
@ -2233,8 +2233,8 @@ FxConfirmPopup (
|
||||
|
||||
//
|
||||
// Below action need extra popup dialog to confirm.
|
||||
//
|
||||
CheckFlags = BROWSER_ACTION_DISCARD |
|
||||
//
|
||||
CheckFlags = BROWSER_ACTION_DISCARD |
|
||||
BROWSER_ACTION_DEFAULT |
|
||||
BROWSER_ACTION_SUBMIT |
|
||||
BROWSER_ACTION_RESET |
|
||||
@ -2249,12 +2249,12 @@ FxConfirmPopup (
|
||||
|
||||
if ((Action & BROWSER_ACTION_DISCARD) == BROWSER_ACTION_DISCARD) {
|
||||
CfmStrLen += StrLen (gConfirmDiscardMsg);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Action & BROWSER_ACTION_DEFAULT) == BROWSER_ACTION_DEFAULT) {
|
||||
if (CfmStrLen != 0) {
|
||||
CfmStrLen += CatLen;
|
||||
}
|
||||
}
|
||||
|
||||
CfmStrLen += StrLen (gConfirmDefaultMsg);
|
||||
}
|
||||
@ -2262,7 +2262,7 @@ FxConfirmPopup (
|
||||
if ((Action & BROWSER_ACTION_SUBMIT) == BROWSER_ACTION_SUBMIT) {
|
||||
if (CfmStrLen != 0) {
|
||||
CfmStrLen += CatLen;
|
||||
}
|
||||
}
|
||||
|
||||
CfmStrLen += StrLen (gConfirmSubmitMsg);
|
||||
}
|
||||
@ -2270,7 +2270,7 @@ FxConfirmPopup (
|
||||
if ((Action & BROWSER_ACTION_RESET) == BROWSER_ACTION_RESET) {
|
||||
if (CfmStrLen != 0) {
|
||||
CfmStrLen += CatLen;
|
||||
}
|
||||
}
|
||||
|
||||
CfmStrLen += StrLen (gConfirmResetMsg);
|
||||
}
|
||||
@ -2278,7 +2278,7 @@ FxConfirmPopup (
|
||||
if ((Action & BROWSER_ACTION_EXIT) == BROWSER_ACTION_EXIT) {
|
||||
if (CfmStrLen != 0) {
|
||||
CfmStrLen += CatLen;
|
||||
}
|
||||
}
|
||||
|
||||
CfmStrLen += StrLen (gConfirmExitMsg);
|
||||
}
|
||||
@ -2356,7 +2356,7 @@ FxConfirmPopup (
|
||||
@param MenuOption The menu opton which this attribut used to.
|
||||
@param SkipWidth The skip width between the left to the start of the prompt.
|
||||
@param BeginCol The begin column for one menu.
|
||||
@param SkipLine The skip line for this menu.
|
||||
@param SkipLine The skip line for this menu.
|
||||
@param BottomRow The bottom row for this form.
|
||||
@param Highlight Whether this menu will be highlight.
|
||||
@param UpdateCol Whether need to update the column info for Date/Time.
|
||||
@ -2425,12 +2425,12 @@ DisplayOneMenu (
|
||||
//
|
||||
ProcessStringForDateTime(MenuOption, OptionString, UpdateCol);
|
||||
}
|
||||
|
||||
|
||||
Width = (UINT16) gOptionBlockWidth - 1;
|
||||
Row = MenuOption->Row;
|
||||
GlyphWidth = 1;
|
||||
OptionLineNum = 0;
|
||||
|
||||
|
||||
for (Index = 0; GetLineByWidth (OptionString, Width, &GlyphWidth, &Index, &OutputString) != 0x0000;) {
|
||||
if (((Temp2 == 0)) && (Row <= BottomRow)) {
|
||||
if (Statement->OpCode->OpCode == EFI_IFR_DATE_OP || Statement->OpCode->OpCode == EFI_IFR_TIME_OP) {
|
||||
@ -2448,7 +2448,7 @@ DisplayOneMenu (
|
||||
} else {
|
||||
//
|
||||
// For date/ time, print the first and second past (year for date and second for time)
|
||||
// The OutputString has a NARROW_CHAR or WIDE_CHAR at the begin of the string,
|
||||
// The OutputString has a NARROW_CHAR or WIDE_CHAR at the begin of the string,
|
||||
// so need to - 1 to remove it, otherwise, it will clean 1 extr char follow it.
|
||||
DisplayMenuString (MenuOption, MenuOption->OptCol, Row, OutputString, StrLen (OutputString) - 1, Highlight);
|
||||
}
|
||||
@ -2457,7 +2457,7 @@ DisplayOneMenu (
|
||||
}
|
||||
OptionLineNum++;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// If there is more string to process print on the next row and increment the Skip value
|
||||
//
|
||||
@ -2476,13 +2476,13 @@ DisplayOneMenu (
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
FreePool (OutputString);
|
||||
if (Temp2 != 0) {
|
||||
Temp2--;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Highlight = FALSE;
|
||||
|
||||
FreePool (OptionString);
|
||||
@ -2500,13 +2500,13 @@ DisplayOneMenu (
|
||||
PrintStringAtWithWidth (BeginCol, Row, L"", PromptWidth + AdjustValue + SkipWidth);
|
||||
PromptLineNum++;
|
||||
} else {
|
||||
for (Index = 0; GetLineByWidth (MenuOption->Description, PromptWidth, &GlyphWidth, &Index, &OutputString) != 0x0000;) {
|
||||
if ((Temp == 0) && (Row <= BottomRow)) {
|
||||
for (Index = 0; GetLineByWidth (MenuOption->Description, PromptWidth, &GlyphWidth, &Index, &OutputString) != 0x0000;) {
|
||||
if ((Temp == 0) && (Row <= BottomRow)) {
|
||||
//
|
||||
// 1.Clean the start LEFT_SKIPPED_COLUMNS
|
||||
// 1.Clean the start LEFT_SKIPPED_COLUMNS
|
||||
//
|
||||
PrintStringAtWithWidth (BeginCol, Row, L"", SkipWidth);
|
||||
|
||||
|
||||
if (Statement->OpCode->OpCode == EFI_IFR_REF_OP && MenuOption->Col >= 2 && IsProcessingFirstRow) {
|
||||
//
|
||||
// Print Arrow for Goto button.
|
||||
@ -2545,13 +2545,13 @@ DisplayOneMenu (
|
||||
//
|
||||
if ((Statement->OpCode->OpCode == EFI_IFR_TEXT_OP) && (((EFI_IFR_TEXT*)Statement->OpCode)->TextTwo != 0)) {
|
||||
StringPtr = GetToken (((EFI_IFR_TEXT*)Statement->OpCode)->TextTwo, gFormData->HiiHandle);
|
||||
|
||||
|
||||
Width = (UINT16) gOptionBlockWidth - 1;
|
||||
Row = MenuOption->Row;
|
||||
GlyphWidth = 1;
|
||||
OptionLineNum = 0;
|
||||
|
||||
for (Index = 0; GetLineByWidth (StringPtr, Width, &GlyphWidth, &Index, &OutputString) != 0x0000;) {
|
||||
for (Index = 0; GetLineByWidth (StringPtr, Width, &GlyphWidth, &Index, &OutputString) != 0x0000;) {
|
||||
if ((Temp3 == 0) && (Row <= BottomRow)) {
|
||||
DisplayMenuString (MenuOption, MenuOption->OptCol, Row, OutputString, Width + 1, Highlight);
|
||||
OptionLineNum++;
|
||||
@ -2570,7 +2570,7 @@ DisplayOneMenu (
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
FreePool (OutputString);
|
||||
if (Temp3 != 0) {
|
||||
Temp3--;
|
||||
@ -2589,7 +2589,7 @@ DisplayOneMenu (
|
||||
Row = (OptionLineNum < PromptLineNum ? OptionLineNum : PromptLineNum) + MenuOption->Row;
|
||||
Width = (UINT16) (OptionLineNum < PromptLineNum ? gOptionBlockWidth : PromptWidth + AdjustValue + SkipWidth);
|
||||
MaxRow = (OptionLineNum < PromptLineNum ? PromptLineNum : OptionLineNum) + MenuOption->Row - 1;
|
||||
|
||||
|
||||
while (Row <= MaxRow) {
|
||||
DisplayMenuString (MenuOption, Col, Row++, L"", Width, FALSE);
|
||||
}
|
||||
@ -2717,7 +2717,7 @@ UiDisplayMenu (
|
||||
while (TRUE) {
|
||||
switch (ControlFlag) {
|
||||
case CfInitialization:
|
||||
if ((gOldFormEntry.HiiHandle != FormData->HiiHandle) ||
|
||||
if ((gOldFormEntry.HiiHandle != FormData->HiiHandle) ||
|
||||
(!CompareGuid (&gOldFormEntry.FormSetGuid, &FormData->FormSetGuid))) {
|
||||
//
|
||||
// Clear Statement range if different formset is painted.
|
||||
@ -2746,7 +2746,7 @@ UiDisplayMenu (
|
||||
Row = TopRow;
|
||||
|
||||
gST->ConOut->SetAttribute (gST->ConOut, GetFieldTextColor ());
|
||||
|
||||
|
||||
//
|
||||
// 1. Check whether need to print the arrow up.
|
||||
//
|
||||
@ -2795,19 +2795,19 @@ UiDisplayMenu (
|
||||
}
|
||||
|
||||
if ((FormData->Attribute & HII_DISPLAY_MODAL) != 0) {
|
||||
Status = DisplayOneMenu (MenuOption,
|
||||
Status = DisplayOneMenu (MenuOption,
|
||||
MenuOption->Col - gStatementDimensions.LeftColumn,
|
||||
gStatementDimensions.LeftColumn + gModalSkipColumn,
|
||||
Link == TopOfScreen ? SkipValue : 0,
|
||||
gStatementDimensions.LeftColumn + gModalSkipColumn,
|
||||
Link == TopOfScreen ? SkipValue : 0,
|
||||
BottomRow,
|
||||
(BOOLEAN) ((Link == NewPos) && IsSelectable(MenuOption)),
|
||||
TRUE
|
||||
);
|
||||
} else {
|
||||
Status = DisplayOneMenu (MenuOption,
|
||||
Status = DisplayOneMenu (MenuOption,
|
||||
MenuOption->Col - gStatementDimensions.LeftColumn,
|
||||
gStatementDimensions.LeftColumn,
|
||||
Link == TopOfScreen ? SkipValue : 0,
|
||||
gStatementDimensions.LeftColumn,
|
||||
Link == TopOfScreen ? SkipValue : 0,
|
||||
BottomRow,
|
||||
(BOOLEAN) ((Link == NewPos) && IsSelectable(MenuOption)),
|
||||
TRUE
|
||||
@ -2915,10 +2915,10 @@ UiDisplayMenu (
|
||||
//
|
||||
// Remove the old highlight menu.
|
||||
//
|
||||
Status = DisplayOneMenu (MenuOption,
|
||||
Status = DisplayOneMenu (MenuOption,
|
||||
MenuOption->Col - gStatementDimensions.LeftColumn,
|
||||
gStatementDimensions.LeftColumn,
|
||||
Temp,
|
||||
gStatementDimensions.LeftColumn,
|
||||
Temp,
|
||||
BottomRow,
|
||||
FALSE,
|
||||
FALSE
|
||||
@ -2935,10 +2935,10 @@ UiDisplayMenu (
|
||||
break;
|
||||
}
|
||||
|
||||
Status = DisplayOneMenu (MenuOption,
|
||||
Status = DisplayOneMenu (MenuOption,
|
||||
MenuOption->Col - gStatementDimensions.LeftColumn,
|
||||
gStatementDimensions.LeftColumn,
|
||||
Temp2,
|
||||
gStatementDimensions.LeftColumn,
|
||||
Temp2,
|
||||
BottomRow,
|
||||
TRUE,
|
||||
FALSE
|
||||
@ -3038,7 +3038,7 @@ UiDisplayMenu (
|
||||
//
|
||||
// Check whether need to show the 'More(U/u)' at the begin.
|
||||
// Base on current direct info, here shows aligned to the right side of the column.
|
||||
// If the direction is multi line and aligned to right side may have problem, so
|
||||
// If the direction is multi line and aligned to right side may have problem, so
|
||||
// add ASSERT code here.
|
||||
//
|
||||
if (HelpPageIndex > 0) {
|
||||
@ -3093,7 +3093,7 @@ UiDisplayMenu (
|
||||
);
|
||||
}
|
||||
} else {
|
||||
for (Index = 0; (Index < RowCount - HelpBottomLine - HelpHeaderLine) &&
|
||||
for (Index = 0; (Index < RowCount - HelpBottomLine - HelpHeaderLine) &&
|
||||
(Index + HelpPageIndex * (RowCount - 2) + 1 < HelpLine); Index++) {
|
||||
PrintStringAtWithWidth (
|
||||
gStatementDimensions.RightColumn - gHelpBlockWidth,
|
||||
@ -3113,13 +3113,13 @@ UiDisplayMenu (
|
||||
}
|
||||
gST->ConOut->SetCursorPosition(gST->ConOut, gStatementDimensions.RightColumn-1, BottomRow);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Check whether need to print the 'More(D/d)' at the bottom.
|
||||
// Base on current direct info, here shows aligned to the right side of the column.
|
||||
// If the direction is multi line and aligned to right side may have problem, so
|
||||
// If the direction is multi line and aligned to right side may have problem, so
|
||||
// add ASSERT code here.
|
||||
//
|
||||
if (HelpPageIndex < HelpPageCount - 1 && MultiHelpPage) {
|
||||
@ -3171,7 +3171,7 @@ UiDisplayMenu (
|
||||
if (Status != EFI_NOT_READY) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
EventType = UiWaitForEvent(gST->ConIn->WaitForKey);
|
||||
if (EventType == UIEventKey) {
|
||||
gST->ConIn->ReadKeyStroke (gST->ConIn, &Key);
|
||||
@ -3185,7 +3185,7 @@ UiDisplayMenu (
|
||||
ControlFlag = CfExit;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
if (EventType == UIEventTimeOut) {
|
||||
gUserInput->Action = BROWSER_ACTION_FORM_EXIT;
|
||||
ControlFlag = CfExit;
|
||||
@ -3229,7 +3229,7 @@ UiDisplayMenu (
|
||||
} else {
|
||||
gDirection = SCAN_LEFT;
|
||||
}
|
||||
|
||||
|
||||
Status = ProcessOptions (MenuOption, TRUE, &OptionString, TRUE);
|
||||
if (OptionString != NULL) {
|
||||
FreePool (OptionString);
|
||||
@ -3260,7 +3260,7 @@ UiDisplayMenu (
|
||||
ControlFlag = CfReadKey;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
ASSERT(MenuOption != NULL);
|
||||
if (MenuOption->ThisTag->OpCode->OpCode == EFI_IFR_CHECKBOX_OP && !MenuOption->GrayOut && !MenuOption->ReadOnly) {
|
||||
ScreenOperation = UiSelect;
|
||||
@ -3294,7 +3294,7 @@ UiDisplayMenu (
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (((FormData->Attribute & HII_DISPLAY_MODAL) != 0) && (Key.ScanCode == SCAN_ESC || Index == mScanCodeNumber)) {
|
||||
//
|
||||
// ModalForm has no ESC key and Hot Key.
|
||||
@ -3359,11 +3359,11 @@ UiDisplayMenu (
|
||||
//
|
||||
RefreshKeyHelp (gFormData, Statement, TRUE);
|
||||
Status = ProcessOptions (MenuOption, TRUE, &OptionString, TRUE);
|
||||
|
||||
|
||||
if (OptionString != NULL) {
|
||||
FreePool (OptionString);
|
||||
}
|
||||
|
||||
|
||||
if (EFI_ERROR (Status)) {
|
||||
Repaint = TRUE;
|
||||
NewLine = TRUE;
|
||||
@ -3493,12 +3493,12 @@ UiDisplayMenu (
|
||||
// Check whether new highlight menu is selectable, if not, keep highlight on the old one.
|
||||
//
|
||||
// BottomRow - TopRow + 1 means the total rows current forms supported.
|
||||
// Difference + NextMenuOption->Skip + 1 means the distance between last highlight menu
|
||||
// and new top menu. New top menu will all shows in next form, but last highlight menu
|
||||
// may only shows 1 line. + 1 at right part means at least need to keep 1 line for the
|
||||
// Difference + NextMenuOption->Skip + 1 means the distance between last highlight menu
|
||||
// and new top menu. New top menu will all shows in next form, but last highlight menu
|
||||
// may only shows 1 line. + 1 at right part means at least need to keep 1 line for the
|
||||
// last highlight menu.
|
||||
//
|
||||
if (!IsSelectable(NextMenuOption) && IsSelectable(MenuOption) &&
|
||||
//
|
||||
if (!IsSelectable(NextMenuOption) && IsSelectable(MenuOption) &&
|
||||
(BottomRow - TopRow + 1 >= Difference + NextMenuOption->Skip + 1)) {
|
||||
NewPos = SavedListEntry;
|
||||
}
|
||||
@ -3539,11 +3539,11 @@ UiDisplayMenu (
|
||||
} else {
|
||||
Index = (BottomRow + 1) - SkipValue - TopRow;
|
||||
}
|
||||
|
||||
|
||||
TopOfScreen = FindTopOfScreenMenu(TopOfScreen, Index, &SkipValue);
|
||||
NewPos = TopOfScreen;
|
||||
MoveToNextStatement (FALSE, &NewPos, BottomRow - TopRow, FALSE);
|
||||
|
||||
|
||||
UpdateStatusBar (INPUT_ERROR, FALSE);
|
||||
|
||||
//
|
||||
@ -3662,7 +3662,7 @@ UiDisplayMenu (
|
||||
//
|
||||
// Scroll to the first page.
|
||||
//
|
||||
if (TopOfScreen != gMenuOption.ForwardLink || SkipValue != 0) {
|
||||
if (TopOfScreen != gMenuOption.ForwardLink || SkipValue != 0) {
|
||||
TopOfScreen = gMenuOption.ForwardLink;
|
||||
Repaint = TRUE;
|
||||
MenuOption = NULL;
|
||||
@ -3681,7 +3681,7 @@ UiDisplayMenu (
|
||||
|
||||
UpdateHighlightMenuInfo(NewPos, TopOfScreen, SkipValue);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Get next selected menu info.
|
||||
@ -3760,12 +3760,12 @@ UiDisplayMenu (
|
||||
// Check whether new highlight menu is selectable, if not, keep highlight on the old one.
|
||||
//
|
||||
// BottomRow - TopRow + 1 means the total rows current forms supported.
|
||||
// Difference + NextMenuOption->Skip + 1 means the distance between last highlight menu
|
||||
// and new top menu. New top menu will all shows in next form, but last highlight menu
|
||||
// may only shows 1 line. + 1 at right part means at least need to keep 1 line for the
|
||||
// Difference + NextMenuOption->Skip + 1 means the distance between last highlight menu
|
||||
// and new top menu. New top menu will all shows in next form, but last highlight menu
|
||||
// may only shows 1 line. + 1 at right part means at least need to keep 1 line for the
|
||||
// last highlight menu.
|
||||
//
|
||||
if (!IsSelectable (NextMenuOption) && IsSelectable (MenuOption) &&
|
||||
//
|
||||
if (!IsSelectable (NextMenuOption) && IsSelectable (MenuOption) &&
|
||||
(BottomRow - TopRow + 1 >= Difference + NextMenuOption->Skip + 1)) {
|
||||
NewPos = SavedListEntry;
|
||||
}
|
||||
@ -3984,7 +3984,7 @@ BrowserStatusProcess (
|
||||
// Show the dialog first to avoid long time not reaction.
|
||||
//
|
||||
gBS->SignalEvent (RefreshIntervalEvent);
|
||||
|
||||
|
||||
Status = gBS->SetTimer (RefreshIntervalEvent, TimerPeriodic, ONE_SECOND);
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
|
||||
@ -4025,17 +4025,17 @@ BrowserStatusProcess (
|
||||
|
||||
/**
|
||||
Display one form, and return user input.
|
||||
|
||||
|
||||
@param FormData Form Data to be shown.
|
||||
@param UserInputData User input data.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS 1.Form Data is shown, and user input is got.
|
||||
2.Error info has show and return.
|
||||
@retval EFI_INVALID_PARAMETER The input screen dimension is not valid
|
||||
@retval EFI_NOT_FOUND New form data has some error.
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
EFIAPI
|
||||
FormDisplay (
|
||||
IN FORM_DISPLAY_ENGINE_FORM *FormData,
|
||||
OUT USER_INPUT *UserInputData
|
||||
@ -4074,7 +4074,7 @@ FormDisplay (
|
||||
//
|
||||
// Left right
|
||||
// |<-.->|<-.........->|<- .........->|<-...........->|
|
||||
// Skip Prompt Option Help
|
||||
// Skip Prompt Option Help
|
||||
//
|
||||
gOptionBlockWidth = (CHAR16) ((gStatementDimensions.RightColumn - gStatementDimensions.LeftColumn) / 3) + 1;
|
||||
gHelpBlockWidth = (CHAR16) (gOptionBlockWidth - 1 - LEFT_SKIPPED_COLUMNS);
|
||||
@ -4085,7 +4085,7 @@ FormDisplay (
|
||||
//
|
||||
// Check whether layout is changed.
|
||||
//
|
||||
if (mIsFirstForm
|
||||
if (mIsFirstForm
|
||||
|| (gOldFormEntry.HiiHandle != FormData->HiiHandle)
|
||||
|| (!CompareGuid (&gOldFormEntry.FormSetGuid, &FormData->FormSetGuid))
|
||||
|| (gOldFormEntry.FormId != FormData->FormId)) {
|
||||
@ -4095,7 +4095,7 @@ FormDisplay (
|
||||
}
|
||||
|
||||
Status = UiDisplayMenu(FormData);
|
||||
|
||||
|
||||
//
|
||||
// Backup last form info.
|
||||
//
|
||||
@ -4116,7 +4116,7 @@ FormDisplay (
|
||||
Clear Screen to the initial state.
|
||||
**/
|
||||
VOID
|
||||
EFIAPI
|
||||
EFIAPI
|
||||
DriverClearDisplayPage (
|
||||
VOID
|
||||
)
|
||||
@ -4204,13 +4204,13 @@ InitializeDisplayEngine (
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
|
||||
InitializeDisplayStrings();
|
||||
|
||||
|
||||
ZeroMem (&gHighligthMenuInfo, sizeof (gHighligthMenuInfo));
|
||||
ZeroMem (&gOldFormEntry, sizeof (gOldFormEntry));
|
||||
|
||||
//
|
||||
// Use BrowserEx2 protocol to register HotKey.
|
||||
//
|
||||
//
|
||||
Status = gBS->LocateProtocol (&gEdkiiFormBrowserEx2ProtocolGuid, NULL, (VOID **) &FormBrowserEx2);
|
||||
if (!EFI_ERROR (Status)) {
|
||||
//
|
||||
|
@ -1,13 +1,13 @@
|
||||
/** @file
|
||||
FormDiplay protocol to show Form
|
||||
|
||||
Copyright (c) 2013 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
@ -213,22 +213,22 @@ typedef struct {
|
||||
typedef struct {
|
||||
EFI_HII_HANDLE HiiHandle;
|
||||
UINT16 FormId;
|
||||
|
||||
|
||||
//
|
||||
// Info for the highlight question.
|
||||
// HLT means highlight
|
||||
//
|
||||
// If one statement has questionid, save questionid info to find the question.
|
||||
// If one statement not has questionid info, save the opcode info to find the
|
||||
// If one statement not has questionid info, save the opcode info to find the
|
||||
// statement. If more than one statement has same opcode in one form(just like
|
||||
// empty subtitle info may has more than one info one form), also use Index
|
||||
// empty subtitle info may has more than one info one form), also use Index
|
||||
// info to find the statement.
|
||||
//
|
||||
EFI_QUESTION_ID HLTQuestionId;
|
||||
EFI_IFR_OP_HEADER *HLTOpCode;
|
||||
UINTN HLTIndex;
|
||||
UINTN HLTSequence;
|
||||
|
||||
|
||||
//
|
||||
// Info for the top of screen question.
|
||||
// TOS means Top Of Screen
|
||||
@ -390,7 +390,7 @@ GetArrayData (
|
||||
IN UINT8 Type,
|
||||
IN UINTN Index
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Search an Option of a Question by its value.
|
||||
|
||||
@ -462,7 +462,7 @@ CreateMultiStringPopUp (
|
||||
@param Index Where in InputString to start the copy process
|
||||
@param OutputString Buffer to copy the string into
|
||||
|
||||
@return Returns the number of CHAR16 characters that were copied into the OutputString
|
||||
@return Returns the number of CHAR16 characters that were copied into the OutputString
|
||||
buffer, include extra glyph info and '\0' info.
|
||||
|
||||
**/
|
||||
@ -490,7 +490,7 @@ GetToken (
|
||||
IN EFI_STRING_ID Token,
|
||||
IN EFI_HII_HANDLE HiiHandle
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Count the storage space of a Unicode string.
|
||||
|
||||
@ -559,7 +559,7 @@ CreateSharedPopUp (
|
||||
IN UINTN NumberOfLines,
|
||||
IN VA_LIST Marker
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Wait for a key to be pressed by user.
|
||||
|
||||
@ -642,14 +642,14 @@ SetUnicodeMem (
|
||||
|
||||
/**
|
||||
Display one form, and return user input.
|
||||
|
||||
|
||||
@param FormData Form Data to be shown.
|
||||
@param UserInputData User input data.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Form Data is shown, and user input is got.
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
EFIAPI
|
||||
FormDisplay (
|
||||
IN FORM_DISPLAY_ENGINE_FORM *FormData,
|
||||
OUT USER_INPUT *UserInputData
|
||||
@ -659,7 +659,7 @@ FormDisplay (
|
||||
Clear Screen to the initial state.
|
||||
**/
|
||||
VOID
|
||||
EFIAPI
|
||||
EFIAPI
|
||||
DriverClearDisplayPage (
|
||||
VOID
|
||||
);
|
||||
@ -669,7 +669,7 @@ DriverClearDisplayPage (
|
||||
|
||||
**/
|
||||
VOID
|
||||
EFIAPI
|
||||
EFIAPI
|
||||
ExitDisplay (
|
||||
VOID
|
||||
);
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Implementation for handling user input from the User Interfaces.
|
||||
|
||||
Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@ -34,14 +34,14 @@ GetFieldFromOp (
|
||||
if (OpCode->OpCode == EFI_IFR_STRING_OP) {
|
||||
StringOp = (EFI_IFR_STRING *) OpCode;
|
||||
*Minimum = StringOp->MinSize;
|
||||
*Maximum = StringOp->MaxSize;
|
||||
*Maximum = StringOp->MaxSize;
|
||||
} else if (OpCode->OpCode == EFI_IFR_PASSWORD_OP) {
|
||||
PasswordOp = (EFI_IFR_PASSWORD *) OpCode;
|
||||
*Minimum = PasswordOp->MinSize;
|
||||
*Maximum = PasswordOp->MaxSize;
|
||||
*Maximum = PasswordOp->MaxSize;
|
||||
} else {
|
||||
*Minimum = 0;
|
||||
*Maximum = 0;
|
||||
*Maximum = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@ -160,11 +160,11 @@ ReadString (
|
||||
if (!IsPassword) {
|
||||
PrintStringAt (Start + 1, Top + 3, BufferedString);
|
||||
}
|
||||
|
||||
|
||||
gST->ConOut->SetAttribute (gST->ConOut, EFI_TEXT_ATTR (EFI_LIGHTGRAY, EFI_BLACK));
|
||||
gST->ConOut->SetCursorPosition (gST->ConOut, Start + GetStringWidth (StringPtr) / 2, Top + 3);
|
||||
}
|
||||
|
||||
|
||||
do {
|
||||
Status = WaitForKeyStroke (&Key);
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
@ -264,7 +264,7 @@ ReadString (
|
||||
for (Index = 0; Index < CurrentCursor; Index++) {
|
||||
TempString[Index] = StringPtr[Index];
|
||||
}
|
||||
TempString[Index] = CHAR_NULL;
|
||||
TempString[Index] = CHAR_NULL;
|
||||
StrCatS (TempString, MaxLen, KeyPad);
|
||||
StrCatS (TempString, MaxLen, StringPtr + CurrentCursor);
|
||||
StrCpyS (StringPtr, MaxLen, TempString);
|
||||
@ -361,7 +361,7 @@ AdjustQuestionValue (
|
||||
QuestionValue->Value.date.Day = Maximum;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Change the Year area.
|
||||
//
|
||||
@ -400,7 +400,7 @@ GetValueFromNum (
|
||||
EFI_IFR_NUMERIC *NumericOp;
|
||||
|
||||
NumericOp = (EFI_IFR_NUMERIC *) OpCode;
|
||||
|
||||
|
||||
switch (NumericOp->Flags & EFI_IFR_NUMERIC_SIZE) {
|
||||
case EFI_IFR_NUMERIC_SIZE_1:
|
||||
if (IntInput) {
|
||||
@ -415,7 +415,7 @@ GetValueFromNum (
|
||||
*Step = NumericOp->data.u8.Step;
|
||||
*StorageWidth = (UINT16) sizeof (UINT8);
|
||||
break;
|
||||
|
||||
|
||||
case EFI_IFR_NUMERIC_SIZE_2:
|
||||
if (IntInput) {
|
||||
*Minimum = (INT64) (INT16) NumericOp->data.u16.MinValue;
|
||||
@ -429,7 +429,7 @@ GetValueFromNum (
|
||||
*Step = NumericOp->data.u16.Step;
|
||||
*StorageWidth = (UINT16) sizeof (UINT16);
|
||||
break;
|
||||
|
||||
|
||||
case EFI_IFR_NUMERIC_SIZE_4:
|
||||
if (IntInput) {
|
||||
*Minimum = (INT64) (INT32) NumericOp->data.u32.MinValue;
|
||||
@ -443,7 +443,7 @@ GetValueFromNum (
|
||||
*Step = NumericOp->data.u32.Step;
|
||||
*StorageWidth = (UINT16) sizeof (UINT32);
|
||||
break;
|
||||
|
||||
|
||||
case EFI_IFR_NUMERIC_SIZE_8:
|
||||
if (IntInput) {
|
||||
*Minimum = (INT64) NumericOp->data.u64.MinValue;
|
||||
@ -457,7 +457,7 @@ GetValueFromNum (
|
||||
*Step = NumericOp->data.u64.Step;
|
||||
*StorageWidth = (UINT16) sizeof (UINT64);
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -557,8 +557,8 @@ GetNumericInput (
|
||||
case 1:
|
||||
switch (QuestionValue->Value.date.Month) {
|
||||
case 2:
|
||||
if ((QuestionValue->Value.date.Year % 4) == 0 &&
|
||||
((QuestionValue->Value.date.Year % 100) != 0 ||
|
||||
if ((QuestionValue->Value.date.Year % 4) == 0 &&
|
||||
((QuestionValue->Value.date.Year % 100) != 0 ||
|
||||
(QuestionValue->Value.date.Year % 400) == 0)) {
|
||||
Maximum = 29;
|
||||
} else {
|
||||
@ -574,7 +574,7 @@ GetNumericInput (
|
||||
default:
|
||||
Maximum = 31;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
EraseLen = 3;
|
||||
EditValue = QuestionValue->Value.date.Day;
|
||||
@ -907,7 +907,7 @@ EnterCarriageReturn:
|
||||
if (IntInput) {
|
||||
//
|
||||
// After user input Enter, need to check whether the input value.
|
||||
// If input a negative value, should compare with maximum value.
|
||||
// If input a negative value, should compare with maximum value.
|
||||
// else compare with the minimum value.
|
||||
//
|
||||
if (Negative) {
|
||||
@ -977,7 +977,7 @@ EnterCarriageReturn:
|
||||
// Sample like: 2012.02.29 -> 2013.02.29 -> 2013.02.01
|
||||
// 2013.03.29 -> 2013.02.29 -> 2013.02.28
|
||||
//
|
||||
if (Question->OpCode->OpCode == EFI_IFR_DATE_OP &&
|
||||
if (Question->OpCode->OpCode == EFI_IFR_DATE_OP &&
|
||||
(MenuOption->Sequence == 0 || MenuOption->Sequence == 2)) {
|
||||
AdjustQuestionValue (QuestionValue, (UINT8)MenuOption->Sequence);
|
||||
}
|
||||
@ -1136,12 +1136,12 @@ AdjustOptionOrder (
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
*PopUpMenuLines = Index;
|
||||
|
||||
|
||||
//
|
||||
// Prepare HiiValue array
|
||||
//
|
||||
//
|
||||
HiiValueArray = AllocateZeroPool (*PopUpMenuLines * sizeof (EFI_HII_VALUE));
|
||||
ASSERT (HiiValueArray != NULL);
|
||||
|
||||
@ -1149,21 +1149,21 @@ AdjustOptionOrder (
|
||||
HiiValueArray[Index].Type = ValueType;
|
||||
HiiValueArray[Index].Value.u64 = GetArrayData (ValueArray, ValueType, Index);
|
||||
}
|
||||
|
||||
|
||||
for (Index = 0; Index < *PopUpMenuLines; Index++) {
|
||||
OneOfOption = ValueToOption (Question, &HiiValueArray[*PopUpMenuLines - Index - 1]);
|
||||
if (OneOfOption == NULL) {
|
||||
return EFI_NOT_FOUND;
|
||||
}
|
||||
|
||||
|
||||
RemoveEntryList (&OneOfOption->Link);
|
||||
|
||||
|
||||
//
|
||||
// Insert to head.
|
||||
//
|
||||
InsertHeadList (&Question->OptionListHead, &OneOfOption->Link);
|
||||
}
|
||||
|
||||
|
||||
FreePool (HiiValueArray);
|
||||
|
||||
return EFI_SUCCESS;
|
||||
@ -1191,13 +1191,13 @@ IsValuesEqual (
|
||||
case EFI_IFR_TYPE_BOOLEAN:
|
||||
case EFI_IFR_TYPE_NUM_SIZE_8:
|
||||
return (BOOLEAN) (Value1->u8 == Value2->u8);
|
||||
|
||||
|
||||
case EFI_IFR_TYPE_NUM_SIZE_16:
|
||||
return (BOOLEAN) (Value1->u16 == Value2->u16);
|
||||
|
||||
|
||||
case EFI_IFR_TYPE_NUM_SIZE_32:
|
||||
return (BOOLEAN) (Value1->u32 == Value2->u32);
|
||||
|
||||
|
||||
case EFI_IFR_TYPE_NUM_SIZE_64:
|
||||
return (BOOLEAN) (Value1->u64 == Value2->u64);
|
||||
|
||||
@ -1660,7 +1660,7 @@ TheKey:
|
||||
gST->ConOut->SetAttribute (gST->ConOut, SavedAttribute);
|
||||
|
||||
return EFI_SUCCESS;
|
||||
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
Implementation for handling the User Interface option processing.
|
||||
|
||||
|
||||
Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@ -102,8 +102,8 @@ HiiValueToUINT64 (
|
||||
|
||||
/**
|
||||
Check whether this value type can be transfer to EFI_IFR_TYPE_BUFFER type.
|
||||
|
||||
EFI_IFR_TYPE_REF, EFI_IFR_TYPE_DATE and EFI_IFR_TYPE_TIME are converted to
|
||||
|
||||
EFI_IFR_TYPE_REF, EFI_IFR_TYPE_DATE and EFI_IFR_TYPE_TIME are converted to
|
||||
EFI_IFR_TYPE_BUFFER when do the value compare.
|
||||
|
||||
@param Value Expression value to compare on.
|
||||
@ -158,8 +158,8 @@ IsTypeInUINT64 (
|
||||
|
||||
/**
|
||||
Return the buffer length and buffer pointer for this value.
|
||||
|
||||
EFI_IFR_TYPE_REF, EFI_IFR_TYPE_DATE and EFI_IFR_TYPE_TIME are converted to
|
||||
|
||||
EFI_IFR_TYPE_REF, EFI_IFR_TYPE_DATE and EFI_IFR_TYPE_TIME are converted to
|
||||
EFI_IFR_TYPE_BUFFER when do the value compare.
|
||||
|
||||
@param Value Expression value to compare on.
|
||||
@ -285,7 +285,7 @@ CompareHiiValue (
|
||||
*Result = Buf1Len > Buf2Len ? 1 : -1;
|
||||
}
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Take remain types(integer, boolean, date/time) as integer
|
||||
@ -333,7 +333,7 @@ ValueToOption (
|
||||
ZeroMem (&Value, sizeof (EFI_HII_VALUE));
|
||||
Value.Type = Option->OptionOpCode->Type;
|
||||
CopyMem (&Value.Value, &Option->OptionOpCode->Value, Option->OptionOpCode->Header.Length - OFFSET_OF (EFI_IFR_ONE_OF_OPTION, Value));
|
||||
|
||||
|
||||
if ((CompareHiiValue (&Value, OptionValue, &Result, NULL) == EFI_SUCCESS) && (Result == 0)) {
|
||||
return Option;
|
||||
}
|
||||
@ -441,12 +441,12 @@ SetArrayData (
|
||||
@param Type Type of the data in this array.
|
||||
@param Value The value to be find.
|
||||
@param Index The index in the array which has same value with Value.
|
||||
|
||||
|
||||
@retval TRUE Found the value in the array.
|
||||
@retval FALSE Not found the value.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
BOOLEAN
|
||||
FindArrayData (
|
||||
IN VOID *Array,
|
||||
IN UINT8 Type,
|
||||
@ -457,7 +457,7 @@ FindArrayData (
|
||||
UINTN Count;
|
||||
UINT64 TmpValue;
|
||||
UINT64 ValueComp;
|
||||
|
||||
|
||||
ASSERT (Array != NULL);
|
||||
|
||||
Count = 0;
|
||||
@ -804,7 +804,7 @@ PasswordProcess (
|
||||
|
||||
StringPtr = AllocateZeroPool ((Maximum + 1) * sizeof (CHAR16));
|
||||
ASSERT (StringPtr);
|
||||
|
||||
|
||||
//
|
||||
// Use a NULL password to test whether old password is required
|
||||
//
|
||||
@ -812,7 +812,7 @@ PasswordProcess (
|
||||
Status = Question->PasswordCheck (gFormData, Question, StringPtr);
|
||||
if (Status == EFI_NOT_AVAILABLE_YET || Status == EFI_UNSUPPORTED) {
|
||||
//
|
||||
// Password can't be set now.
|
||||
// Password can't be set now.
|
||||
//
|
||||
if (Status == EFI_UNSUPPORTED) {
|
||||
do {
|
||||
@ -851,7 +851,7 @@ PasswordProcess (
|
||||
return Status;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Ask for new password
|
||||
//
|
||||
@ -865,7 +865,7 @@ PasswordProcess (
|
||||
FreePool (StringPtr);
|
||||
return Status;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Confirm new password
|
||||
//
|
||||
@ -881,11 +881,11 @@ PasswordProcess (
|
||||
FreePool (TempString);
|
||||
return Status;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Compare two typed-in new passwords
|
||||
//
|
||||
if (StrCmp (StringPtr, TempString) == 0) {
|
||||
if (StrCmp (StringPtr, TempString) == 0) {
|
||||
gUserInput->InputValue.Buffer = AllocateCopyPool (Question->CurrentValue.BufferLen, StringPtr);
|
||||
gUserInput->InputValue.BufferLen = Question->CurrentValue.BufferLen;
|
||||
gUserInput->InputValue.Type = Question->CurrentValue.Type;
|
||||
@ -897,7 +897,7 @@ PasswordProcess (
|
||||
// Reset state machine for password
|
||||
//
|
||||
Question->PasswordCheck (gFormData, Question, NULL);
|
||||
|
||||
|
||||
//
|
||||
// Two password mismatch, prompt error message
|
||||
//
|
||||
@ -1039,7 +1039,7 @@ ProcessOptions (
|
||||
gUserInput->InputValue.Buffer = ValueArray;
|
||||
gUserInput->InputValue.BufferLen = Question->CurrentValue.BufferLen;
|
||||
gUserInput->InputValue.Type = Question->CurrentValue.Type;
|
||||
|
||||
|
||||
Link = GetFirstNode (&Question->OptionListHead);
|
||||
Index2 = 0;
|
||||
while (!IsNull (&Question->OptionListHead, Link) && Index2 < OrderList->MaxContainers) {
|
||||
@ -1125,7 +1125,7 @@ ProcessOptions (
|
||||
gUserInput->InputValue.BufferLen = Question->CurrentValue.BufferLen;
|
||||
gUserInput->InputValue.Type = Question->CurrentValue.Type;
|
||||
}
|
||||
|
||||
|
||||
SetArrayData (ValueArray, ValueType, Index++, OneOfOption->OptionOpCode->Value.u64);
|
||||
}
|
||||
|
||||
@ -1159,7 +1159,7 @@ ProcessOptions (
|
||||
if (SkipErrorValue) {
|
||||
//
|
||||
// Not report error, just get the correct option string info.
|
||||
//
|
||||
//
|
||||
Link = GetFirstNode (&Question->OptionListHead);
|
||||
OneOfOption = DISPLAY_QUESTION_OPTION_FROM_LINK (Link);
|
||||
} else {
|
||||
@ -1227,7 +1227,7 @@ ProcessOptions (
|
||||
// Perform inconsistent check
|
||||
//
|
||||
return EFI_SUCCESS;
|
||||
} else {
|
||||
} else {
|
||||
*OptionString = AllocateZeroPool (BufferSize);
|
||||
ASSERT (*OptionString);
|
||||
|
||||
@ -1364,7 +1364,7 @@ ProcessOptions (
|
||||
FreePool (StringPtr);
|
||||
return Status;
|
||||
}
|
||||
|
||||
|
||||
gUserInput->InputValue.Buffer = AllocateCopyPool (Question->CurrentValue.BufferLen, StringPtr);
|
||||
gUserInput->InputValue.BufferLen = Question->CurrentValue.BufferLen;
|
||||
gUserInput->InputValue.Type = Question->CurrentValue.Type;
|
||||
@ -1466,5 +1466,5 @@ ProcessHelpString (
|
||||
FreePool (OutputString);
|
||||
}
|
||||
|
||||
return TotalRowNum;
|
||||
return TotalRowNum;
|
||||
}
|
||||
|
Reference in New Issue
Block a user