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 FPDFSDK_INCLUDE_FORMFILLER_FFL_LISTBOX_H_ 8 #define FPDFSDK_INCLUDE_FORMFILLER_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 // FPDFSDK_INCLUDE_FORMFILLER_FFL_LISTBOX_H_ 47