Change the FormBrowser behavior of "Pressing ESC":

The old behavior is: if press ESC, it will exit the whole Formset.
The new behavior is: if press ESC, it will return to the parent Form; if current Form is the root Form of a FormSet, it will exit the whole FormSet.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9359 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
xdu2
2009-10-26 03:03:12 +00:00
parent 0ce94f384e
commit d66e6c1687
6 changed files with 464 additions and 276 deletions

View File

@@ -1,5 +1,5 @@
/** @file
Private MACRO, structure and function definitions for Setup Browser module.
Private MACRO, structure and function definitions for Setup Browser module.
Copyright (c) 2007 - 2009, Intel Corporation
All rights reserved. This program and the accompanying materials
@@ -71,10 +71,9 @@ extern UINT8 SetupBrowserStrings[];
// Definition for function key setting
//
#define NONE_FUNCTION_KEY_SETTING 0
#define DEFAULT_FUNCTION_KEY_SETTING (FUNCTION_ONE | FUNCTION_TWO | FUNCTION_NINE | FUNCTION_TEN)
#define DEFAULT_FUNCTION_KEY_SETTING (FUNCTION_ONE | FUNCTION_NINE | FUNCTION_TEN)
#define FUNCTION_ONE (1 << 0)
#define FUNCTION_TWO (1 << 1)
#define FUNCTION_NINE (1 << 2)
#define FUNCTION_TEN (1 << 3)
@@ -461,11 +460,12 @@ extern EFI_SCREEN_DESCRIPTOR gScreenDimensions;
extern BOOLEAN gUpArrow;
extern BOOLEAN gDownArrow;
extern FORM_BROWSER_FORMSET *gOldFormSet;
//
// Browser Global Strings
//
extern CHAR16 *gFunctionOneString;
extern CHAR16 *gFunctionTwoString;
extern CHAR16 *gFunctionNineString;
extern CHAR16 *gFunctionTenString;
extern CHAR16 *gEnterString;
@@ -892,6 +892,19 @@ LoadFormConfig (
IN FORM_BROWSER_FORM *Form
);
/**
Initialize Question's Edit copy from Storage for the whole Formset.
@param FormSet FormSet data structure.
@retval EFI_SUCCESS The function completed successfully.
**/
EFI_STATUS
LoadFormSetConfig (
IN FORM_BROWSER_FORMSET *FormSet
);
/**
Convert setting of Buffer Storage or NameValue Storage to <ConfigResp>.
@@ -983,7 +996,7 @@ GetIfrBinaryData (
ScreenDimenions - This allows the browser to be called so that it occupies a
portion of the physical screen instead of dynamically determining the screen dimensions.
ActionRequest - Points to the action recommended by the form.
@param ScreenDimensions Points to recommended form dimensions, including any non-content area, in
@param ScreenDimensions Points to recommended form dimensions, including any non-content area, in
characters.
@param ActionRequest Points to the action recommended by the form.