1 // Copyright 2017 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 FXJS_XFA_CJX_TEMPLATE_H_ 8 #define FXJS_XFA_CJX_TEMPLATE_H_ 9 10 #include "fxjs/xfa/cjx_model.h" 11 #include "fxjs/xfa/jse_define.h" 12 13 class CXFA_Template; 14 15 class CJX_Template final : public CJX_Model { 16 public: 17 explicit CJX_Template(CXFA_Template* tmpl); 18 ~CJX_Template() override; 19 20 // CJX_Object: 21 bool DynamicTypeIs(TypeTag eType) const override; 22 23 /* The docs list a |createNode| method on Template but that method already 24 * exists on Model, also the |createNode| docs say it exists on Model not 25 * on Template so I'm leaving |createNode| out of the template methods. */ 26 JSE_METHOD(execCalculate); 27 JSE_METHOD(execInitialize); 28 JSE_METHOD(execValidate); 29 JSE_METHOD(formNodes); 30 JSE_METHOD(recalculate); 31 JSE_METHOD(remerge); 32 33 private: 34 using Type__ = CJX_Template; 35 using ParentType__ = CJX_Model; 36 37 static const TypeTag static_type__ = TypeTag::Template; 38 static const CJX_MethodSpec MethodSpecs[]; 39 }; 40 41 #endif // FXJS_XFA_CJX_TEMPLATE_H_ 42