1 // Copyright 2016 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 CORE_FPDFDOC_IPDF_FORMNOTIFY_H_
8 #define CORE_FPDFDOC_IPDF_FORMNOTIFY_H_
9 
10 #include "core/fxcrt/fx_string.h"
11 
12 class CPDF_FormField;
13 class CPDF_InterForm;
14 
15 class IPDF_FormNotify {
16  public:
~IPDF_FormNotify()17   virtual ~IPDF_FormNotify() {}
18 
19   virtual int BeforeValueChange(CPDF_FormField* pField,
20                                 const WideString& csValue) = 0;
21   virtual void AfterValueChange(CPDF_FormField* pField) = 0;
22   virtual int BeforeSelectionChange(CPDF_FormField* pField,
23                                     const WideString& csValue) = 0;
24   virtual void AfterSelectionChange(CPDF_FormField* pField) = 0;
25   virtual void AfterCheckedStatusChange(CPDF_FormField* pField) = 0;
26   virtual int BeforeFormReset(CPDF_InterForm* pForm) = 0;
27   virtual void AfterFormReset(CPDF_InterForm* pForm) = 0;
28   virtual int BeforeFormImportData(CPDF_InterForm* pForm) = 0;
29   virtual void AfterFormImportData(CPDF_InterForm* pForm) = 0;
30 };
31 
32 #endif  // CORE_FPDFDOC_IPDF_FORMNOTIFY_H_
33