From 93bb725b62f9779534c9444c1e1319fe8c28912e Mon Sep 17 00:00:00 2001 From: Dan Sinclair Date: Thu, 7 Dec 2017 22:33:43 +0000 Subject: [xfa] Move JS method information to files. This CL moves the XFA SOM JS Method information out of the c-array and into individual CJX class files. Change-Id: I401046a06aacaf1f04e5a51eb899e479de012e15 Reviewed-on: https://pdfium-review.googlesource.com/20450 Reviewed-by: Lei Zhang Commit-Queue: dsinclair --- fxjs/xfa/cjx_tree.h | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 fxjs/xfa/cjx_tree.h (limited to 'fxjs/xfa/cjx_tree.h') diff --git a/fxjs/xfa/cjx_tree.h b/fxjs/xfa/cjx_tree.h new file mode 100644 index 0000000000..30081122a5 --- /dev/null +++ b/fxjs/xfa/cjx_tree.h @@ -0,0 +1,45 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_TREE_H_ +#define FXJS_XFA_CJX_TREE_H_ + +#include "fxjs/CJX_Define.h" +#include "fxjs/cjx_object.h" + +class CXFA_Object; +class CXFA_Node; + +class CJX_Tree : public CJX_Object { + public: + explicit CJX_Tree(CXFA_Object* obj); + ~CJX_Tree() override; + + JS_METHOD(resolveNode, CJX_Tree); + JS_METHOD(resolveNodes, CJX_Tree); + + void all(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); + void nodes(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); + void classAll(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); + void parent(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); + void index(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); + void classIndex(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute); + void somExpression(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute); + + private: + void ResolveNodeList(CFXJSE_Value* pValue, + WideString wsExpression, + uint32_t dwFlag, + CXFA_Node* refNode); + + static const CJX_MethodSpec MethodSpecs[]; +}; + +#endif // FXJS_XFA_CJX_TREE_H_ -- cgit v1.2.3