blob: f236a76ee67615f7d65fa93133b3bafa97c4c4f6 [file] [log] [blame]
Dan Sinclair93bb7252017-12-07 22:33:43 +00001// 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_SUBFORM_H_
8#define FXJS_XFA_CJX_SUBFORM_H_
9
Dan Sinclair93bb7252017-12-07 22:33:43 +000010#include "fxjs/xfa/cjx_container.h"
Tom Sepez49dbb7f2018-12-19 17:56:55 +000011#include "fxjs/xfa/jse_define.h"
Dan Sinclair93bb7252017-12-07 22:33:43 +000012
Tom Sepez757a6bf2020-09-17 17:22:38 +000013class CXFA_Node;
Dan Sinclair93bb7252017-12-07 22:33:43 +000014
Tom Sepez55865452018-08-27 20:18:04 +000015class CJX_Subform final : public CJX_Container {
Dan Sinclair93bb7252017-12-07 22:33:43 +000016 public:
Tom Sepez757a6bf2020-09-17 17:22:38 +000017 CONSTRUCT_VIA_MAKE_GARBAGE_COLLECTED;
Dan Sinclair93bb7252017-12-07 22:33:43 +000018 ~CJX_Subform() override;
19
Tom Sepez7e786cc2019-01-23 21:57:06 +000020 // CJX_Object:
21 bool DynamicTypeIs(TypeTag eType) const override;
22
Tom Sepezc26730d2019-01-22 18:55:32 +000023 JSE_METHOD(execCalculate);
24 JSE_METHOD(execEvent);
25 JSE_METHOD(execInitialize);
26 JSE_METHOD(execValidate);
Dan Sinclair93bb7252017-12-07 22:33:43 +000027
Tom Sepez793691a2019-02-12 00:48:59 +000028 JSE_PROP(instanceManager);
Tom Sepez315f94a2018-07-24 19:07:35 +000029 JSE_PROP(locale);
Dan Sinclairfe9d6402017-12-14 19:45:53 +000030
Dan Sinclair93bb7252017-12-07 22:33:43 +000031 private:
Tom Sepez757a6bf2020-09-17 17:22:38 +000032 explicit CJX_Subform(CXFA_Node* container);
33
Tom Sepezc26730d2019-01-22 18:55:32 +000034 using Type__ = CJX_Subform;
Tom Sepez7e786cc2019-01-23 21:57:06 +000035 using ParentType__ = CJX_Container;
Tom Sepezc26730d2019-01-22 18:55:32 +000036
Tom Sepez7e786cc2019-01-23 21:57:06 +000037 static const TypeTag static_type__ = TypeTag::Subform;
Dan Sinclair93bb7252017-12-07 22:33:43 +000038 static const CJX_MethodSpec MethodSpecs[];
39};
40
41#endif // FXJS_XFA_CJX_SUBFORM_H_