// *++
//
// Copyright (c) 2006, 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         
// 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.             
// 
// Module Name:
//
//   FE.vfr 
// 
// Abstract:
// 
//   File Explorer Formset
// 
// Revision History: 
// 
// --*/

#include "BdsStrDefs.h" 
#include "formguid.h"

#pragma pack(1)
typedef struct {
  UINT16                    DescriptionData[75];
  UINT16                    OptionalData[127];
  UINT8                     Active;
  UINT8                     ForceReconnect;  
} FILE_EXPLORER_NV_DATA;
#pragma pack()

#define FORM_FILE_EXPLORER_ID                 0x001E
#define FORM_BOOT_ADD_DESCRIPTION_ID          0x001F
#define FORM_DRIVER_ADD_FILE_DESCRIPTION_ID   0x0020
#define KEY_VALUE_SAVE_AND_EXIT               0x0090
#define KEY_VALUE_NO_SAVE_AND_EXIT            0x0091



formset 
  guid = FILE_EXPLORE_FORMSET_GUID,
  title = STRING_TOKEN(STR_FILE_EXPLORER_TITLE),
  help = STRING_TOKEN(STR_NULL_STRING),
  class = 0,
  subclass = 0,

  form formid = FORM_FILE_EXPLORER_ID,
       title = STRING_TOKEN(STR_FILE_EXPLORER_TITLE);

       label FORM_FILE_EXPLORER_ID;
  endform;
  
  form formid = FORM_BOOT_ADD_DESCRIPTION_ID,
       title = STRING_TOKEN(STR_FORM_BOOT_ADD_DESC_TITLE);
       
       label FORM_BOOT_ADD_DESCRIPTION_ID;

       subtitle  text = STRING_TOKEN(STR_NULL_STRING);
       
       string    varid    = FILE_EXPLORER_NV_DATA.DescriptionData,
                 prompt   = STRING_TOKEN(STR_LOAD_OPTION_DESC),
                 help     = STRING_TOKEN(STR_NULL_STRING),
                 minsize  = 6,
                 maxsize  = 75,
       endstring;

       string    varid    = FILE_EXPLORER_NV_DATA.OptionalData,
       		prompt   = STRING_TOKEN(STR_OPTIONAL_DATA),
       		help     = STRING_TOKEN(STR_NULL_STRING),
       		minsize  = 0,
       		maxsize  = 120,
       endstring;

       text 
         help   = STRING_TOKEN(STR_SAVE_AND_EXIT),  
         text   = STRING_TOKEN(STR_SAVE_AND_EXIT), 
         text   = STRING_TOKEN(STR_NULL_STRING),
         flags  = INTERACTIVE | NV_ACCESS,
         key    = KEY_VALUE_SAVE_AND_EXIT;
             
       text 
         help   = STRING_TOKEN(STR_NO_SAVE_AND_EXIT),  
         text   = STRING_TOKEN(STR_NO_SAVE_AND_EXIT), 
         text   = STRING_TOKEN(STR_NULL_STRING),
         flags  = INTERACTIVE | NV_ACCESS,
         key    = KEY_VALUE_NO_SAVE_AND_EXIT;
    
  endform;

  form formid = FORM_DRIVER_ADD_FILE_DESCRIPTION_ID,
       title = STRING_TOKEN(STR_FORM_DRV_ADD_DESC_TITLE);
       
       label FORM_DRIVER_ADD_FILE_DESCRIPTION_ID;
       
       subtitle  text = STRING_TOKEN(STR_NULL_STRING);

       string    varid    = FILE_EXPLORER_NV_DATA.DescriptionData,
                 prompt   = STRING_TOKEN(STR_LOAD_OPTION_DESC),
                 help     = STRING_TOKEN(STR_NULL_STRING),
                 minsize  = 6,
                 maxsize  = 75,
       endstring;

       string    varid    = FILE_EXPLORER_NV_DATA.OptionalData,
                 prompt   = STRING_TOKEN(STR_OPTIONAL_DATA),
                 help     = STRING_TOKEN(STR_NULL_STRING),
                 minsize  = 0,
                 maxsize  = 120,
       endstring; 
       
       checkbox varid    = FILE_EXPLORER_NV_DATA.ForceReconnect,
               prompt   = STRING_TOKEN(STR_LOAD_OPTION_FORCE_RECON),
               help     = STRING_TOKEN(STR_LOAD_OPTION_FORCE_RECON),  
               flags    = 1,
               key      = 0,
       endcheckbox;

       text 
         help   = STRING_TOKEN(STR_SAVE_AND_EXIT),  
         text   = STRING_TOKEN(STR_SAVE_AND_EXIT), 
         text   = STRING_TOKEN(STR_NULL_STRING),
         flags  = INTERACTIVE | NV_ACCESS,
         key    = KEY_VALUE_SAVE_AND_EXIT;
      
       text 
         help   = STRING_TOKEN(STR_NO_SAVE_AND_EXIT),  
         text   = STRING_TOKEN(STR_NO_SAVE_AND_EXIT), 
         text   = STRING_TOKEN(STR_NULL_STRING),
         flags  = INTERACTIVE | NV_ACCESS,
         key    = KEY_VALUE_NO_SAVE_AND_EXIT;
               
  endform;
  
endformset;