Merge to XFA: Fix IWYU in formfiller/ directory.
[pdfium.git] / fpdfsdk / include / formfiller / FFL_ListBox.h
1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4  
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7 #ifndef _FFL_LISTBOX_H_
8 #define _FFL_LISTBOX_H_
9
10 #include "FFL_FormFiller.h"
11
12 class  CBA_FontMap;
13
14 class CFFL_ListBox : public CFFL_FormFiller
15 {
16 public:
17         CFFL_ListBox(CPDFDoc_Environment* pApp, CPDFSDK_Annot* pWidget);
18         virtual ~CFFL_ListBox();
19
20         virtual PWL_CREATEPARAM         GetCreateParam();
21         virtual CPWL_Wnd*                       NewPDFWindow(const PWL_CREATEPARAM& cp, CPDFSDK_PageView* pPageView);
22
23         virtual FX_BOOL                         OnChar(CPDFSDK_Annot* pAnnot, FX_UINT nChar, FX_UINT nFlags);
24
25         virtual FX_BOOL                         IsDataChanged(CPDFSDK_PageView* pPageView);
26         virtual void                            SaveData(CPDFSDK_PageView* pPageView);
27
28         virtual void                            GetActionData(CPDFSDK_PageView* pPageView, CPDF_AAction::AActionType type,
29                                                                         PDFSDK_FieldAction& fa);
30         virtual void                            SetActionData(CPDFSDK_PageView* pPageView, CPDF_AAction::AActionType type, 
31                                                                         const PDFSDK_FieldAction& fa);
32
33         virtual void                            SaveState(CPDFSDK_PageView* pPageView);
34         virtual void                            RestoreState(CPDFSDK_PageView* pPageView);
35
36         virtual CPWL_Wnd*                       ResetPDFWindow(CPDFSDK_PageView* pPageView, FX_BOOL bRestoreValue);
37         virtual void                            OnKeyStroke(FX_BOOL bKeyDown, FX_DWORD nFlag);
38
39 private:
40         CBA_FontMap*                                    m_pFontMap;
41         CFX_MapPtrTemplate<int, void*>  m_OriginSelections;
42         CFX_ArrayTemplate<int>                  m_State;
43 };
44
45
46 #endif //_FFL_LISTBOX_H_
47