X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=MdeModulePkg%2FUniversal%2FDisplayEngineDxe%2FFormDisplay.h;h=063e94c6bc4d45139ca508fac6e7b1c4cb004c59;hb=0196c24a94c65a7d8ccbd111adff06b84d595a55;hp=45bcadc7e654dc6f268c7bce86e0d50db0180456;hpb=5a9f73bf065eda6b830445dc907e778f4a13d8d7;p=mirror_edk2.git diff --git a/MdeModulePkg/Universal/DisplayEngineDxe/FormDisplay.h b/MdeModulePkg/Universal/DisplayEngineDxe/FormDisplay.h index 45bcadc7e6..063e94c6bc 100644 --- a/MdeModulePkg/Universal/DisplayEngineDxe/FormDisplay.h +++ b/MdeModulePkg/Universal/DisplayEngineDxe/FormDisplay.h @@ -1,7 +1,7 @@ /** @file FormDiplay protocol to show Form -Copyright (c) 2013, Intel Corporation. All rights reserved.
+Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.
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 @@ -63,6 +63,7 @@ extern CHAR16 gPromptBlockWidth; extern CHAR16 gOptionBlockWidth; extern CHAR16 gHelpBlockWidth; extern CHAR16 *mUnknownString; +extern BOOLEAN gMisMatch; // // Screen definitions @@ -73,6 +74,8 @@ extern CHAR16 *mUnknownString; #define POPUP_PAD_SPACE_COUNT 5 #define POPUP_FRAME_WIDTH 2 +#define UPPER_LOWER_CASE_OFFSET 0x20 + // // Display definitions // @@ -110,8 +113,9 @@ extern CHAR16 *mUnknownString; // // It take 23 characters including the NULL to print a 64 bits number with "[" and "]". // pow(2, 64) = [18446744073709551616] +// with extra '-' flat, set the width to 24. // -#define MAX_NUMERIC_INPUT_WIDTH 23 +#define MAX_NUMERIC_INPUT_WIDTH 24 #define EFI_HII_EXPRESSION_INCONSISTENT_IF 0 #define EFI_HII_EXPRESSION_NO_SUBMIT_IF 1 @@ -169,7 +173,6 @@ typedef enum { CfUiPageUp, CfUiPageDown, CfUiDown, - CfUiDefault, CfUiNoOperation, CfExit, CfUiHotKey, @@ -194,10 +197,41 @@ typedef struct { } SCREEN_OPERATION_T0_CONTROL_FLAG; typedef struct { - EFI_QUESTION_ID QuestionId; - UINT16 DisplayRow; + 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 + // 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 + // 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 + // + EFI_QUESTION_ID TOSQuestionId; + EFI_IFR_OP_HEADER *TOSOpCode; + UINTN TOSIndex; + + UINT16 SkipValue; } DISPLAY_HIGHLIGHT_MENU_INFO; +typedef struct { + EFI_EVENT SyncEvent; + UINT8 *TimeOut; + CHAR16 *ErrorInfo; +} WARNING_IF_CONTEXT; + #define UI_MENU_OPTION_SIGNATURE SIGNATURE_32 ('u', 'i', 'm', 'm') typedef struct { @@ -573,17 +607,46 @@ ExitDisplay ( ); /** - Process validate for one question. + Process nothing. - @param Question The question which need to validate. + @param Event The Event need to be process + @param Context The context of the event. - @retval EFI_SUCCESS Question Option process success. - @retval Other Question Option process fail. +**/ +VOID +EFIAPI +EmptyEventProcess ( + IN EFI_EVENT Event, + IN VOID *Context + ); + +/** + Process for the refresh interval statement. + + @param Event The Event need to be process + @param Context The context of the event. + +**/ +VOID +EFIAPI +RefreshTimeOutProcess ( + IN EFI_EVENT Event, + IN VOID *Context + ); + +/** + Record the highlight menu and top of screen menu info. + + @param Highlight The menu opton which is highlight. + @param TopOfScreen The menu opton which is at the top of the form. + @param SkipValue The skip line info for the top of screen menu. **/ -EFI_STATUS -ValidateQuestion ( - IN FORM_DISPLAY_ENGINE_STATEMENT *Question +VOID +UpdateHighlightMenuInfo ( + IN LIST_ENTRY *Highlight, + IN LIST_ENTRY *TopOfScreen, + IN UINTN SkipValue ); #endif