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